-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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
gstreamer-1.16.0 #54398
gstreamer-1.16.0 #54398
Conversation
I did not enable Also please note that 1.15 is an unstable development branch for 1.16 stable release. |
@jtojnar That makes sense; the PR doesn't change this, it is still optional.
Oops OK. Let's wait until 1.16 before continuing with this then. |
The removed patches come from https://bugzilla.gnome.org/show_bug.cgi?id=794856 and have been committed. |
@jtojnar Thanks! I ticked off the bullet point in the issue description based on this feedback.
We will also want to do a closure size check on the added I think it makes sense that it'll increase and will likely be worth it, as for end users nothing is more annoying than a gstreamer plugin but it not working on your machine because the distro hasn't enabled it, and Also, I wouldn't be opposed to introducing feature flags as arguments to the |
115.2 was released, 1.16 in few weeks: https://gstreamer.freedesktop.org/news/#2019-02-27T10:00:00Z |
1.16 was released. I've updated the PR with another commit to update to 1.16 and fix a few build errors. I've also made an upstream PR to fix a script not being executable, which broke the build: https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/141 |
Let's see if this works: @GrahamcOfBorg build gst_all_1 |
@GrahamcOfBorg build gst_all_1 |
7750c09
to
d563757
Compare
@GrahamcOfBorg build gst_all_1 |
I've backed out the evaluation fixes Darwin out of this PR, as that isn't really related to the upgrade, and will handle those with a separate branch. If ofborg goes green, this is good to merge from my side. |
Dependency changes described in release notes do not affect us. What is up with ffmpeg? And do we care about the rust bindings? |
Thanks for checking!
I've updated
To my knowledge they aren't packaged in nixpkgs yet. I'll leave that to somebody else, as I have no experience with packaging Rust for nixpkgs, and care mainly about the update to 1.16 and the improved meson build system I've added in this PR. |
@jtojnar Good to go? |
This pull request has been mentioned on Nix community. There might be relevant details there: https://discourse.nixos.org/t/what-are-your-goals-for-19-09/2875/24 |
During the 1.14 -> 1.15 upgrade, lots of stuff stopped working because gstreamer changed what features are enabled by default and which ones are automatically turned on/off via pkgconfig dependency detection. This resulted in the `gstreamer` ("core" attribute in nixpkgs) package to have only 15 of its previous 163 build targets enabled, and downstream packages breaking correspondingly. To ease maintainability and to ensure users will find the expected features available (and when not, will see in the nix file why not), we now pass the `-Dauto_features=enabled` Meson build flag to all gstreamer builds, which sets all `auto` dependencies to `enabled`, and we explicitly disable those that we can't build. This means in particular that `gst-plugins-bad` now has vastly more integrations (namely all for which nixpkgs has libraries available).
Changes needed: * core: dbghelp disabled as it's not needed * core: Fixed script not being executable and skipped by patchShebangs * base: gtk_doc disabled because of wayland symbol error * ges: Patch removed that was merged upstream: https://bugzilla.gnome.org/show_bug.cgi?id=794856#c16
@GrahamcOfBorg build gst_all_1 |
We disabled them by default when they were introduced in NixOS#42994 but enabling them probably makes more sense: NixOS#54398 NixOS#63491
This pull request has been mentioned on Nix community. There might be relevant details there: https://discourse.nixos.org/t/what-are-your-goals-for-19-09/2875/29 |
This pull request has been mentioned on Nix community. There might be relevant details there: |
Motivation for this change
The latest gstreamer versionThe current gstreamer development version, leading up to the next to-be-released 1.16 stable version. Already doing some work here so we have less work to do when 1.16 comes out.Edit: This is now, and the PR has been updated.
Copying an important part of the commit message:
During the 1.14 -> 1.15 upgrade, lots of stuff stopped working because gstreamer changed what features are enabled by default and which ones are automatically turned on/off via pkgconfig dependency detection.
This resulted in the
gstreamer
("core" attribute in nixpkgs) package to have only 15 of its previous 163 build targets enabled, and downstream packages breaking correspondingly.To ease maintainability and to ensure users will find the expected features available (and when not, will see in the nix file why not), we now pass the
-Dauto_features=enabled
Meson build flag to all gstreamer builds, which sets allauto
dependencies toenabled
, and we explicitly disable those that we can't build .This means in particular that
gst-plugins-bad
now has vastly more integrations (namely all for which nixpkgs has libraries available).@nh2's notes while working on this (for posterity)
See e.g. https://lists.freedesktop.org/archives/gstreamer-bugs/2018-August/223857.html where they say
gstreamer-check-1.0.pc
not found (and indeed it's not there)-Dcheck=enabled
meson flag, see https://github.com/GStreamer/gstreamer/blob/6ea4380230d1cca1d63196dfbd753af887b8b241/pkgconfig/meson.build#L32core
configure output:elfutils
dep which provideslibdw
core
configure output:-Build targets in project: 163
+Build targets in project: 15
gst-validate
build complains thatGstPbutils-1.0.gir
couldn't be found /GEN
'd even though it sayschecking for GST_PBUTILS... yes
beforecore
configure output:Program g-ir-scanner skipped: feature introspection disabled
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)Tested via:
NIX_PATH=nixpkgs=. nix-shell -p gst_all_1.gstreamer -p gst_all_1.gst-plugins-good -p gst_all_1.gst-plugins-base -p gst_all_1.gst-plugins-bad -p gst_all_1.gst-plugins-ugly -p gst_all_1.gst-libav -p gst_all_1.gst-rtsp-server -p gst_all_1.gst-validate -p gst_all_1.gst-vaapi
CC @matthewbauer
TODO
gst-plugins-bad
integrations work on Darwin, make those conditional that don't