`lib/gstreamer-1.0/libgstdvbsubenc.so` and `lib/libgstcodecparsers-1.0.so` include `${gstreamer.dev}/include/gstreamer-1.0/gst/base/gstbitwriter.h` in their .rodata section, increasing the runtime closure unnecessarily. This happens because `gstbitwriter.h` header uses GLib’s `g_assert` macro, which wants to print `__FILE__` on assertion failure.
The assertions can and should be disabled on stable releases (7b8d74c15b) so let’s do that.
continuation of #109595
pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.
python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
Fixes#98769.
Important changes from https://gstreamer.freedesktop.org/releases/1.18/:
* `gst-validate` was renamed to `gst-devtools` upstream:
> * the `gst-validate` tarball has been superseded by
> the `gst-devtools` tarball for consistency with the git module name.
* `gst-python` is now Python 3 only:
> * Python 2.x is no longer supported
gst-plugins-bad by default used to pull in gtk3 and qtbase and qtx11extras because of the default dependency on zbar.
As zbar is a rarely needed gstreamer plugin, this unnecessarily
increased the closure size.
I am only aware of gnome-keysign actually using the zbar plugin, so that
uses a zbar-enabled gst-plugins-bad.
closes#84845
Commit be382109ad broke evaluation
on Darwin because it added these unconditional buildInputs
that don't evaluate on Darwin:
libnice librdf lilv lv2 serd sord sratom
This commit fixes it, and also fixes recently-added new dependencies
for other packages accordingly.
It further fixes the build of many gstreamer packages on Darwin.
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
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).