gstreamer: 1.14.4 -> 1.15.1, and extended gst-plugins-bad.
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).
This commit is contained in:
@@ -2,12 +2,16 @@
|
||||
, pkgconfig, gettext, gobject-introspection
|
||||
, bison, flex, python3, glib, makeWrapper
|
||||
, libcap,libunwind, darwin
|
||||
, elfutils # for libdw
|
||||
, bash-completion
|
||||
, docbook_xsl, docbook_xml_dtd_412
|
||||
, gtk-doc
|
||||
, lib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gstreamer-${version}";
|
||||
version = "1.14.4";
|
||||
version = "1.15.1";
|
||||
|
||||
meta = with lib ;{
|
||||
description = "Open source multimedia framework";
|
||||
@@ -19,14 +23,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
|
||||
sha256 = "1izzhnlsy83rgr4zl3jcl1sryxqbbigrrqw3j4x3nnphqnb6ckzr";
|
||||
sha256 = "05ri9y37qkgvkb2xjywf32c3k9479b0af0m6cjigx04pgwsf42kq";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370411";
|
||||
sha256 = "16plzzmkk906k4892zq68j3c9z8vdma5nxzlviq20jfv04ykhmk2";
|
||||
})
|
||||
./fix_pkgconfig_includedir.patch
|
||||
];
|
||||
|
||||
@@ -35,13 +35,24 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson ninja pkgconfig gettext bison flex python3 makeWrapper gobject-introspection
|
||||
bash-completion
|
||||
gtk-doc
|
||||
# Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
|
||||
docbook_xsl docbook_xml_dtd_412
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
lib.optionals stdenv.isLinux [ libcap libunwind ]
|
||||
lib.optionals stdenv.isLinux [ libcap libunwind elfutils ]
|
||||
++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreServices;
|
||||
|
||||
propagatedBuildInputs = [ glib ];
|
||||
|
||||
mesonFlags = [
|
||||
# Enables all features, so that we know when new dependencies are necessary.
|
||||
"-Dauto_features=enabled"
|
||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
for prog in "$dev/bin/"*; do
|
||||
# We can't use --suffix here due to quoting so we craft the export command by hand
|
||||
|
||||
Reference in New Issue
Block a user