-
-
Notifications
You must be signed in to change notification settings - Fork 8.7k
build-aux: Replace Flatpak modules with pre-compiled dependencies #10934
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
9ad337f
to
40bd675
Compare
4f766ad
to
f94c313
Compare
2b5208b
to
aa6a037
Compare
fcdf081
to
5de190d
Compare
5de190d
to
e602888
Compare
@GeorgesStavracas Thoughts on this approach? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I concur with this approach, with 2 conditions:
- Since we're very close to FDO 25.08, might be better to use it when it's released? Thoughts?
- The
obs-deps-bst
repository has to be moved to theobsproject
group first
(Interestingly, last week I talked to the new Fedora project leader Jef Spaleta and we agreed that moving to FDO-SDK and vendoring our dependencies is a decision that the Fedora project supports)
I think certainty on when 25.08 releases before when OBS Studio next beta is needed to be able to do the switch. Edit: If we want to try to switch to Freedesktop SDK 25.08, we need:
|
The changes in this PR look fine to me. Would it be possible to integrate the BuildStream code into |
Because of GHA caching limits, the Buildstream project needs it's own repo.
Le 7 août 2025 22:00:37 GMT+02:00, Patrick Heyer ***@***.***> a écrit :
…PatTheMav left a comment (obsproject/obs-studio#10934)
The changes in this PR look fine to me. Would it be possible to integrate the BuildStream code into `obs-deps` itself, bringing the actions over and adding the Linux-specific workflow jobs? The BuildStream-specific files could easily all live in its own `deps.flatpak` directory and we'd have all our dependency-building code in one place (and thus would also have all PRs and issues associated with them in a single place) which would help with visibility.
--
Reply to this email directly or view it on GitHub:
#10934 (comment)
You are receiving this because you authored the thread.
Message ID: ***@***.***>
|
Got it. I think I can give it a simple review pass for any obvious gotchas, particularly with an eye towards project data etc., but otherwise I'd probably defer to you and @GeorgesStavracas when it comes to the repo itself, so you can maintain it as independently as |
Gave the buildstream repo a quick glance, seems to be fine, couldn't spot any (ab)use of secrets or GitHub tokens (not that I expected any). Personally I'd probable prefer to call it |
"bst" is a common abbreviation but going for "buildstream" is fine too (
It isn't, it can be used to build OCI images, entire Linux distribution and in our case dependencies for our Flatpak (even stuff on macOS or WSL). |
e602888
to
afa3926
Compare
To reduce compile time and prepare for aarch64 support, dependencies compilation except CEF is moved to a BuildStream project junctionned with Freedesktop SDK. The BuildStream project is configured to build dependencies in a Flatpak-like environment.
The Qt components are from the same repo as other dependencies. The KDE Platform was never a good fit for OBS Studio for multiple reasons: - Life cycle too short and misaligned with OBS Studio causing users to get EOL notification too often. - Third-party Qt plugins were allowed which could change Qt's behavior. - KDE exclusives sandboxed holes were inherited.
afa3926
to
df6320c
Compare
Due to libobs now depending on SIMDe, the devel tarball is no longer cleaned up (devtools still is). |
Description
Important
This PR relies on https://github.com/tytan652/obs-deps-bst, the PR is also meant to discuss including the BuildStream-based project under the obsproject org.
This PR is x86_64 only, if it gets approved, #9979 will be refactored with aarch64 tarballs and I will try to work on documenting obs-deps-bst.
To reduce compile time and prepare for aarch64 support, dependencies compilation except CEF is moved to a BuildStream project junctionned with Freedesktop SDK.
The BuildStream project is configured to build dependencies in a Flatpak-like environment.
Motivation and Context
Move away dependency compile time, in an aarch64 context it moves away 6 hours of build time to another repo with ~3 hours of build time* without cache.
So only the CEF wrapper and OBS have to be built on this repo CI, so ~1h IIRC for aarch64 without cache.
*Build time is reduced since BuildStream tries to build elements in parallel when possible even with QEMU emulation.
Also on obs-deps-bst side, sources are cached so outage of independent git remote is not an issue if cached.
How Has This Been Tested?
Types of changes
Checklist: