diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix | 51 |
1 files changed, 40 insertions, 11 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix index 0acdf71fb72f..87bbef227de8 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix +++ b/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix @@ -2,6 +2,11 @@ , pkgconfig, meson, ninja, gettext, gobject-introspection , python3, gstreamer, orc, pango, libtheora , libintl, libopus +, isocodes +, libjpeg +, libvisual +, tremor # provides 'virbisidec' +, gtk-doc, docbook_xsl, docbook_xml_dtd_412 , enableX11 ? stdenv.isLinux, libXv , enableWayland ? stdenv.isLinux, wayland , enableAlsa ? stdenv.isLinux, alsaLib @@ -10,7 +15,7 @@ stdenv.mkDerivation rec { name = "gst-plugins-base-${version}"; - version = "1.14.4"; + version = "1.16.0"; meta = with lib; { description = "Base plugins and helper libraries"; @@ -22,28 +27,56 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz"; - sha256 = "0qbllw4kphchwhy4p7ivdysigx69i97gyw6q0rvkx1j81r4kjqfa"; + sha256 = "1bmmdwbyy89ayb85xc48y217f6wdmpz96f30zm6v53z2a5xsm4s0"; }; outputs = [ "out" "dev" ]; - nativeBuildInputs = [ pkgconfig python3 gettext gobject-introspection ] - + nativeBuildInputs = [ + pkgconfig python3 gettext gobject-introspection + gtk-doc + # Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install` + docbook_xsl docbook_xml_dtd_412 + ] # Broken meson with Darwin. Should hopefully be fixed soon. Tracking # in https://bugzilla.gnome.org/show_bug.cgi?id=781148. ++ lib.optionals (!stdenv.isDarwin) [ meson ninja ]; + # On Darwin, we currently use autoconf, on all other systems Meson + # TODO Switch to Meson on Darwin as well + # TODO How to pass these to Meson? - configureFlags = [ + configureFlags = lib.optionals stdenv.isDarwin [ "--enable-x11=${if enableX11 then "yes" else "no"}" "--enable-wayland=${if enableWayland then "yes" else "no"}" "--enable-cocoa=${if enableCocoa then "yes" else "no"}" ] - # Introspection fails on my MacBook currently ++ lib.optional stdenv.isDarwin "--disable-introspection"; - buildInputs = [ orc libtheora libintl libopus ] + mesonFlags = lib.optionals (!stdenv.isDarwin) [ + # 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 + "-Dgl-graphene=disabled" # not packaged in nixpkgs as of writing + # See https://github.com/GStreamer/gst-plugins-base/blob/d64a4b7a69c3462851ff4dcfa97cc6f94cd64aef/meson_options.txt#L15 for a list of choices + "-Dgl_winsys=[${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}]" + # We must currently disable gtk_doc API docs generation, + # because it is not compatible with some features being disabled. + # See for example + # https://gitlab.gnome.org/GNOME/gnome-build-meta/issues/38 + # for it failing because some Wayland symbols are missing. + # This problem appeared between 1.15.1 and 1.16.0. + "-Dgtk_doc=disabled" + ] + ++ lib.optional (!enableX11) "-Dx11=disabled" + # TODO How to disable Wayland? + ++ lib.optional (!enableAlsa) "-Dalsa=disabled" + ++ lib.optional (!enableCdparanoia) "-Dcdparanoia=disabled" + ; + + buildInputs = [ orc libtheora libintl libopus isocodes libjpeg tremor ] + ++ lib.optional (!stdenv.isDarwin) libvisual ++ lib.optional enableAlsa alsaLib ++ lib.optionals enableX11 [ libXv pango ] ++ lib.optional enableWayland wayland @@ -61,10 +94,6 @@ stdenv.mkDerivation rec { doCheck = false; # fails, wants DRI access for OpenGL patches = [ - (fetchpatch { - url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370414"; - sha256 = "07x43xis0sr0hfchf36ap0cibx0lkfpqyszb3r3w9dzz301fk04z"; - }) ./fix_pkgconfig_includedir.patch ]; } |