diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-01-15 10:30:44 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-01-15 10:30:44 +0000 |
commit | e0794be8a0d11e90461e5a9c85012a36b93ec976 (patch) | |
tree | efd9cbc55ea3322867bf601c4d536758a3dd5fcc /nixpkgs/pkgs/development/libraries/gstreamer | |
parent | 3538874082ded7647b1ccec0343c7c1e882cfef3 (diff) | |
parent | 1a57d96edd156958b12782e8c8b6a374142a7248 (diff) | |
download | nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.gz nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.bz2 nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.lz nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.xz nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.zst nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.zip |
Merge commit '1a57d96edd156958b12782e8c8b6a374142a7248'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gstreamer')
14 files changed, 181 insertions, 106 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix index 903ca661486f..49343e79c878 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix @@ -29,6 +29,7 @@ , libbs2b , libmodplug , mpeg2dec +, libmicrodns , openjpeg , libopus , librsvg @@ -65,6 +66,7 @@ , wayland-protocols , wildmidi , fluidsynth +, libva , libvdpau , wayland , libwebp @@ -87,41 +89,35 @@ let inherit (stdenv.lib) optional optionals; in stdenv.mkDerivation rec { pname = "gst-plugins-bad"; - version = "1.16.2"; + version = "1.18.2"; outputs = [ "out" "dev" ]; src = fetchurl { url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz"; - sha256 = "0x0y0hm0ga3zqi5q4090hw5sjh59y1ry9ak16qsaascm72i7mjzi"; + sha256 = "06ildd4rl6cynirv3p00d2ddf5is9svj4i7mkahldzhq24pq5mca"; }; patches = [ - # Fix build with neon 0.31 - # https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1165 - (fetchpatch { - url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/f10b424418e448211e3427a76fcd046e157ef0b7.patch"; - sha256 = "0l1f6kqcl04q7w12a2b4qibcvjz6gqhs0csdv2wbvfd6zndpjm6p"; - }) ./fix_pkgconfig_includedir.patch - # https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1235 - ./opencv-4.3.patch ]; nativeBuildInputs = [ meson ninja pkgconfig + orc # for orcc python3 gettext gobject-introspection ] ++ optionals stdenv.isLinux [ - wayland-protocols + wayland # for wayland-scanner ]; buildInputs = [ gst-plugins-base orc + gobject-introspection faad2 libass libkate @@ -130,6 +126,7 @@ in stdenv.mkDerivation rec { libbs2b libmodplug mpeg2dec + libmicrodns openjpeg libopus librsvg @@ -172,7 +169,9 @@ in stdenv.mkDerivation rec { faac ] ++ optionals stdenv.isLinux [ bluez + libva # vaapi requires libva -> libdrm -> libpciaccess, which is Linux-only in nixpkgs wayland + wayland-protocols ] ++ optionals (!stdenv.isDarwin) [ # wildmidi requires apple's OpenAL # TODO: package apple's OpenAL, fix wildmidi, include on Darwin @@ -215,11 +214,14 @@ in stdenv.mkDerivation rec { mesonFlags = [ "-Dexamples=disabled" # requires many dependencies and probably not useful for our users + "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing + "-Davtp=disabled" "-Ddts=disabled" # required `libdca` library not packaged in nixpkgs as of writing, and marked as "BIG FAT WARNING: libdca is still in early development" "-Dzbar=${if enableZbar then "enabled" else "disabled"}" "-Dfaac=${if faacSupport then "enabled" else "disabled"}" "-Diqa=disabled" # required `dssim` library not packaging in nixpkgs as of writing + "-Dmagicleap=disabled" # required `ml_audio` library not packaged in nixpkgs as of writing "-Dmsdk=disabled" # not packaged in nixpkgs as of writing / no Windows support # As of writing, with `libmpcdec` in `buildInputs` we get # "Could not find libmpcdec header files, but Musepack was enabled via options" @@ -236,19 +238,19 @@ in stdenv.mkDerivation rec { "-Dopenni2=disabled" # not packaged in nixpkgs as of writing "-Dopensles=disabled" # not packaged in nixpkgs as of writing "-Dsctp=disabled" # required `usrsctp` library not packaged in nixpkgs as of writing + "-Dsvthevcenc=disabled" # required `SvtHevcEnc` library not packaged in nixpkgs as of writing "-Dteletext=disabled" # required `zvbi` library not packaged in nixpkgs as of writing "-Dtinyalsa=disabled" # not packaged in nixpkgs as of writing "-Dvoaacenc=disabled" # required `vo-aacenc` library not packaged in nixpkgs as of writing "-Dvoamrwbenc=disabled" # required `vo-amrwbenc` library not packaged in nixpkgs as of writing "-Dvulkan=disabled" # Linux-only, and we haven't figured out yet which of the vulkan nixpkgs it needs "-Dwasapi=disabled" # not packaged in nixpkgs as of writing / no Windows support + "-Dwasapi2=disabled" # not packaged in nixpkgs as of writing / no Windows support "-Dwpe=disabled" # required `wpe-webkit` library not packaged in nixpkgs as of writing - - # Requires CUDA and we haven't figured out how to make Meson find CUDA yet; - # it probably searches via pkgconfig, for which we have no .pc files, - # see https://github.com/NixOS/nixpkgs/issues/54395 - "-Dnvdec=disabled" - "-Dnvenc=disabled" + "-Dzxing=disabled" # required `zxing-cpp` library not packaged in nixpkgs as of writing + ] + ++ optionals (!stdenv.isLinux) [ + "-Dva=disabled" # see comment on `libva` in `buildInputs` ] ++ optionals stdenv.isDarwin [ "-Dbluez=disabled" @@ -263,6 +265,7 @@ in stdenv.mkDerivation rec { "-Ddvb=disabled" "-Dfbdev=disabled" "-Duvch264=disabled" # requires gudev + "-Dv4l2codecs=disabled" # requires gudev "-Dladspa=disabled" # requires lrdf "-Dwebrtc=disabled" # requires libnice, which as of writing doesn't work on Darwin in nixpkgs "-Dwildmidi=disabled" # see dependencies above @@ -276,6 +279,14 @@ in stdenv.mkDerivation rec { "-Dapplemedia=disabled" ]; + # Argument list too long + strictDeps = true; + + postPatch = '' + patchShebangs \ + scripts/extract-release-date-from-doap-file.py + ''; + # This package has some `_("string literal")` string formats # that trip up clang with format security enabled. hardeningDisable = [ "format" ]; diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/bad/opencv-4.3.patch b/nixpkgs/pkgs/development/libraries/gstreamer/bad/opencv-4.3.patch deleted file mode 100644 index 55155d5c5e77..000000000000 --- a/nixpkgs/pkgs/development/libraries/gstreamer/bad/opencv-4.3.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build -index f38b55d..05b142e 100644 ---- a/ext/opencv/meson.build -+++ b/ext/opencv/meson.build -@@ -65,7 +65,7 @@ if opencv_found - endif - endforeach - else -- opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.2.0'], required : false) -+ opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.4.0'], required : false) - opencv_found = opencv_dep.found() - if opencv_found - foreach h : libopencv4_headers diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix index 79405e5077e0..4728e49c5162 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix +++ b/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix @@ -19,11 +19,9 @@ , libvisual , tremor # provides 'virbisidec' , libGL -, gtk-doc -, docbook_xsl -, docbook_xml_dtd_43 , enableX11 ? stdenv.isLinux , libXv +, libXext , enableWayland ? stdenv.isLinux , wayland , wayland-protocols @@ -42,13 +40,13 @@ stdenv.mkDerivation rec { pname = "gst-plugins-base"; - version = "1.16.2"; + version = "1.18.2"; outputs = [ "out" "dev" ]; src = fetchurl { url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz"; - sha256 = "0sl1hxlyq46r02k7z70v09vx1gi4rcypqmzra9jid93lzvi76gmi"; + sha256 = "1b05kg46azrxxvq42c71071lfsnc34pw4vynnkczdqi6g0gzn16x"; }; patches = [ @@ -66,9 +64,7 @@ stdenv.mkDerivation rec { gobject-introspection # docs - gtk-doc - docbook_xsl - docbook_xml_dtd_43 + # TODO add hotdoc here ] ++ lib.optional enableWayland wayland; buildInputs = [ @@ -89,6 +85,7 @@ stdenv.mkDerivation rec { ] ++ lib.optionals enableAlsa [ alsaLib ] ++ lib.optionals enableX11 [ + libXext libXv pango ] ++ lib.optionals enableWayland [ @@ -103,17 +100,10 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Dexamples=disabled" # requires many dependencies and probably not useful for our users + "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing "-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.freedesktop.org/gstreamer/gst-plugins-base/issues/564 - # for it failing because some Wayland symbols are missing. - # This problem appeared between 1.15.1 and 1.16.0. - # In 1.18 they should switch to hotdoc, which should make this issue irrelevant. - "-Dgtk_doc=disabled" ] ++ lib.optional (!enableX11) "-Dx11=disabled" # TODO How to disable Wayland? @@ -125,7 +115,9 @@ stdenv.mkDerivation rec { ]; postPatch = '' - patchShebangs common/scangobj-merge.py + patchShebangs \ + common/scangobj-merge.py \ + scripts/extract-release-date-from-doap-file.py ''; # This package has some `_("string literal")` string formats diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix index 9c4f3ee0251d..0d33d28196ca 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix +++ b/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix @@ -1,6 +1,5 @@ { stdenv , fetchurl -, fetchpatch , meson , ninja , pkgconfig @@ -16,34 +15,30 @@ , darwin , elfutils # for libdw , bash-completion -, docbook_xsl -, docbook_xml_dtd_43 -, gtk-doc , lib , CoreServices }: stdenv.mkDerivation rec { pname = "gstreamer"; - version = "1.16.2"; + version = "1.18.2"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + # "devdoc" # disabled until `hotdoc` is packaged in nixpkgs, see: + # - https://github.com/NixOS/nixpkgs/pull/98767 + # - https://github.com/NixOS/nixpkgs/issues/98769#issuecomment-702296551 + ]; outputBin = "dev"; src = fetchurl { url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz"; - sha256 = "0kp93622y29pck8asvil1fmzf55s2gx76wv475a6izc3cwj49w73"; + sha256 = "0ijlmvr660m8zn09xlmnq1ajrziqsivp2hig5a9mabhcjx7ypkb6"; }; patches = [ ./fix_pkgconfig_includedir.patch - - # Fix build with bash-completion 2.10 - # https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/436 - (fetchpatch { - url = "https://gitlab.freedesktop.org/gstreamer/gstreamer/commit/dd2ec3681e2d38e13e01477efa36e851650690fb.patch"; - sha256 = "07hwf67vndsibm1khvs4rfq30sbs9fss8k5vs502xc0kccbi1ih8"; - }) ]; nativeBuildInputs = [ @@ -60,9 +55,7 @@ stdenv.mkDerivation rec { bash-completion # documentation - gtk-doc - docbook_xsl - docbook_xml_dtd_43 + # TODO add hotdoc here ]; buildInputs = [ @@ -82,6 +75,7 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Ddbghelp=disabled" # not needed as we already provide libunwind and libdw, and dbghelp is a fallback to those "-Dexamples=disabled" # requires many dependencies and probably not useful for our users + "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing ] ++ lib.optionals stdenv.isDarwin [ # darwin.libunwind doesn't have pkgconfig definitions so meson doesn't detect it. "-Dlibunwind=disabled" @@ -93,13 +87,14 @@ stdenv.mkDerivation rec { gst/parse/get_flex_version.py \ gst/parse/gen_grammar.py.in \ gst/parse/gen_lex.py.in \ - libs/gst/helpers/ptp_helper_post_install.sh + libs/gst/helpers/ptp_helper_post_install.sh \ + scripts/extract-release-date-from-doap-file.py ''; postInstall = '' for prog in "$dev/bin/"*; do # We can't use --suffix here due to quoting so we craft the export command by hand - wrapProgram "$prog" --run 'export GST_PLUGIN_SYSTEM_PATH=$GST_PLUGIN_SYSTEM_PATH''${GST_PLUGIN_SYSTEM_PATH:+:}$(unset _tmp; for profile in $NIX_PROFILES; do _tmp="$profile/lib/gstreamer-1.0''${_tmp:+:}$_tmp"; done; printf '%s' "$_tmp")' + wrapProgram "$prog" --run 'export GST_PLUGIN_SYSTEM_PATH_1_0=$GST_PLUGIN_SYSTEM_PATH_1_0''${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$(unset _tmp; for profile in $NIX_PROFILES; do _tmp="$profile/lib/gstreamer-1.0''${_tmp:+:}$_tmp"; done; printf '%s' "$_tmp")' done ''; diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch b/nixpkgs/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch index c388a82fa2a8..db1684269350 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch +++ b/nixpkgs/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch @@ -7,8 +7,10 @@ index edb0586c2..7ed46dfce 100644 pkgconf.set('prefix', join_paths(get_option('prefix'))) pkgconf.set('exec_prefix', '${prefix}') -pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir'))) +-pkgconf.set('libexecdir', '${prefix}/@0@'.format(get_option('libexecdir'))) -pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir'))) +pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir'))) ++pkgconf.set('libexecdir', join_paths(get_option('prefix'), get_option('libexecdir'))) +pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir'))) pkgconf.set('GST_API_VERSION', apiversion) pkgconf.set('VERSION', gst_version) diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/default.nix index e7e11db61298..1fdd67d836e7 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/default.nix +++ b/nixpkgs/pkgs/development/libraries/gstreamer/default.nix @@ -17,13 +17,13 @@ rec { gst-libav = callPackage ./libav { inherit gst-plugins-base; }; - gst-editing-services = callPackage ./ges { inherit gst-plugins-base; }; + gst-devtools = callPackage ./devtools { inherit gstreamer gst-plugins-base; }; + + gst-editing-services = callPackage ./ges { inherit gst-plugins-base gst-plugins-bad gst-devtools; }; gst-vaapi = callPackage ./vaapi { inherit gst-plugins-base gstreamer gst-plugins-bad; }; - gst-validate = callPackage ./validate { inherit gstreamer gst-plugins-base; }; - # note: gst-python is in ./python/default.nix - called under pythonPackages } diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/validate/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/devtools/default.nix index 74e898481634..6743a5ecd675 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/validate/default.nix +++ b/nixpkgs/pkgs/development/libraries/gstreamer/devtools/default.nix @@ -1,5 +1,7 @@ { stdenv , fetchurl +, meson +, ninja , pkgconfig , gstreamer , gst-plugins-base @@ -9,19 +11,32 @@ }: stdenv.mkDerivation rec { - pname = "gst-validate"; - version = "1.16.2"; + pname = "gst-devtools"; + version = "1.18.2"; src = fetchurl { url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz"; - sha256 = "1jpfrzg3yc6kp66bgq3jy14xsj3x71mk2zh0k16yf0326awwqqa8"; + sha256 = "0mhascwvgirgh7b5dykpnk06f7f5g62gh3sl30i6kygiidqkv9vf"; }; - outputs = [ "out" "dev" ]; + patches = [ + ./fix_pkgconfig_includedir.patch + ]; + + outputs = [ + "out" + "dev" + # "devdoc" # disabled until `hotdoc` is packaged in nixpkgs + ]; nativeBuildInputs = [ + meson + ninja pkgconfig gobject-introspection + + # documentation + # TODO add hotdoc here ]; buildInputs = [ @@ -34,6 +49,10 @@ stdenv.mkDerivation rec { gst-plugins-base ]; + mesonFlags = [ + "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing + ]; + meta = with stdenv.lib; { description = "Integration testing infrastructure for the GStreamer framework"; homepage = "https://gstreamer.freedesktop.org"; diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/good/fix_pkgconfig_includedir.patch b/nixpkgs/pkgs/development/libraries/gstreamer/devtools/fix_pkgconfig_includedir.patch index f68ad603a37c..ff19c7cbf6f8 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/good/fix_pkgconfig_includedir.patch +++ b/nixpkgs/pkgs/development/libraries/gstreamer/devtools/fix_pkgconfig_includedir.patch @@ -1,15 +1,15 @@ -diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build -index b3bf0d4d4..3e6e576c0 100644 ---- a/pkgconfig/meson.build -+++ b/pkgconfig/meson.build +diff --git a/validate/pkgconfig/meson.build b/validate/pkgconfig/meson.build +index a612b21b..c017eaff 100644 +--- a/validate/pkgconfig/meson.build ++++ b/validate/pkgconfig/meson.build @@ -2,8 +2,8 @@ pkgconf = configuration_data() - + pkgconf.set('prefix', get_option('prefix')) pkgconf.set('exec_prefix', '${prefix}') -pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir'))) -pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir'))) +pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir'))) +pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir'))) - pkgconf.set('GST_API_VERSION', api_version) + pkgconf.set('GST_API_VERSION', apiversion) pkgconf.set('VERSION', gst_version) - + diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix index af2579d0594b..75e065e6d2be 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix +++ b/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix @@ -1,11 +1,13 @@ { stdenv , fetchurl -, fetchpatch , meson , ninja , pkgconfig , python3 +, bash-completion , gst-plugins-base +, gst-plugins-bad +, gst-devtools , libxml2 , flex , gettext @@ -13,14 +15,18 @@ }: stdenv.mkDerivation rec { - pname = "gstreamer-editing-services"; - version = "1.16.2"; + pname = "gst-editing-services"; + version = "1.18.2"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + # "devdoc" # disabled until `hotdoc` is packaged in nixpkgs + ]; src = fetchurl { url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz"; - sha256 = "05hcf3prna8ajjnqd53221gj9syarrrjbgvjcbhicv0c38csc1hf"; + sha256 = "0pv2k8zlpn3vv2sdlspi3m63ixcwzi90pjly2ypbkg59ab97rb15"; }; patches = [ @@ -33,26 +39,31 @@ stdenv.mkDerivation rec { pkgconfig gettext gobject-introspection + gst-devtools python3 flex + + # documentation + # TODO add hotdoc here ]; buildInputs = [ + bash-completion libxml2 ]; propagatedBuildInputs = [ gst-plugins-base + gst-plugins-bad ]; mesonFlags = [ - "-Dgtk_doc=disabled" + "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing ]; postPatch = '' - # for some reason, gst-plugins-bad cannot be found - # fortunately, they are only used by tests, which we do not run - sed -i -r -e 's/p(bad|good) = .*/p\1 = pbase/' tests/check/meson.build + patchShebangs \ + scripts/extract-release-date-from-doap-file.py ''; meta = with stdenv.lib; { diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix index 100d270673fc..d4c3b99c7ca9 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix +++ b/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix @@ -1,6 +1,7 @@ { stdenv , fetchurl , meson +, nasm , ninja , pkgconfig , python3 @@ -29,40 +30,45 @@ , mpg123 , twolame , gtkSupport ? false, gtk3 ? null +, raspiCameraSupport ? false, libraspberrypi ? null , enableJack ? true, libjack2 , libXdamage , libXext , libXfixes , ncurses +, wayland +, wayland-protocols , xorg , libgudev , wavpack }: assert gtkSupport -> gtk3 != null; +assert raspiCameraSupport -> ((libraspberrypi != null) && stdenv.isLinux && stdenv.isAarch64); let inherit (stdenv.lib) optionals; in stdenv.mkDerivation rec { pname = "gst-plugins-good"; - version = "1.16.2"; + version = "1.18.2"; outputs = [ "out" "dev" ]; src = fetchurl { url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz"; - sha256 = "068k3cbv1yf3gbllfdzqsg263kzwh21y8dpwr0wvgh15vapkpfs0"; + sha256 = "1929nhjsvbl4bw37nfagnfsnxz737cm2x3ayz9ayrn9lwkfm45zp"; }; - patches = [ ./fix_pkgconfig_includedir.patch ]; - nativeBuildInputs = [ pkgconfig python3 meson ninja gettext + nasm + ] ++ optionals stdenv.isLinux [ + wayland-protocols ]; buildInputs = [ @@ -91,6 +97,8 @@ stdenv.mkDerivation rec { xorg.libXfixes xorg.libXdamage wavpack + ] ++ optionals raspiCameraSupport [ + libraspberrypi ] ++ optionals gtkSupport [ # for gtksink gtk3 @@ -102,12 +110,14 @@ stdenv.mkDerivation rec { libavc1394 libiec61883 libgudev + wayland ] ++ optionals enableJack [ libjack2 ]; mesonFlags = [ "-Dexamples=disabled" # requires many dependencies and probably not useful for our users + "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing "-Dqt5=disabled" # not clear as of writing how to correctly pass in the required qt5 deps ] ++ optionals (!gtkSupport) [ "-Dgtk3=disabled" @@ -122,8 +132,14 @@ stdenv.mkDerivation rec { "-Dv4l2=disabled" # Linux-only "-Dximagesrc=disabled" # Linux-only "-Dpulse=disabled" # TODO check if we can keep this enabled + ] ++ optionals (!raspiCameraSupport) [ + "-Drpicamsrc=disabled" ]; + postPatch = '' + patchShebangs \ + scripts/extract-release-date-from-doap-file.py + ''; NIX_LDFLAGS = [ # linking error on Darwin diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix index e36eba370071..c75d439cd53f 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix +++ b/nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { pname = "gst-libav"; - version = "1.16.2"; + version = "1.18.2"; src = fetchurl { url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz"; - sha256 = "1wpfilc98bad9nsv3y1qapxp35dvn2mvwvrmqwrsj58cf09gc967"; + sha256 = "0jbzams9ggk3sq9ywv4gsl9rghyn203l2582m6l5c1sz9ka9m5in"; }; outputs = [ "out" "dev" ]; @@ -37,6 +37,15 @@ stdenv.mkDerivation rec { libav ]; + mesonFlags = [ + "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing + ]; + + postPatch = '' + patchShebangs \ + scripts/extract-release-date-from-doap-file.py + ''; + meta = with lib; { description = "FFmpeg/libav plugin for GStreamer"; homepage = "https://gstreamer.freedesktop.org"; diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix index 92e8a45a4f6f..4167b1727769 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix +++ b/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix @@ -3,6 +3,7 @@ , meson , ninja , pkgconfig +, python3 , gettext , gobject-introspection , gst-plugins-base @@ -11,14 +12,18 @@ stdenv.mkDerivation rec { pname = "gst-rtsp-server"; - version = "1.16.2"; + version = "1.18.2"; src = fetchurl { url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz"; - sha256 = "0vn23nxwvs96g7gcxw5zbnw23hkhky8a8r42wq68411vgf1s41yy"; + sha256 = "1qjlp7az0hkzxvq53hwnp55sp6xhbybfwzaj66hp45jslsmj4fcp"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + # "devdoc" # disabled until `hotdoc` is packaged in nixpkgs + ]; patches = [ # To use split outputs, we need this so double prefix won't be used in the @@ -35,6 +40,10 @@ stdenv.mkDerivation rec { gettext gobject-introspection pkgconfig + python3 + + # documentation + # TODO add hotdoc here ]; buildInputs = [ @@ -44,8 +53,14 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Dexamples=disabled" # requires many dependencies and probably not useful for our users + "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing ]; + postPatch = '' + patchShebangs \ + scripts/extract-release-date-from-doap-file.py + ''; + meta = with stdenv.lib; { description = "GStreamer RTSP server"; homepage = "https://gstreamer.freedesktop.org"; diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix index d8c36fa40705..1cdc0a519300 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix +++ b/nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix @@ -21,13 +21,13 @@ stdenv.mkDerivation rec { pname = "gst-plugins-ugly"; - version = "1.16.2"; + version = "1.18.2"; outputs = [ "out" "dev" ]; src = fetchurl { url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz"; - sha256 = "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m"; + sha256 = "1nwbcv5yaib3d8icvyja3zf6lyjf5zf1hndbijrhj8j7xlia0dx3"; }; nativeBuildInputs = [ @@ -56,10 +56,15 @@ stdenv.mkDerivation rec { ]); mesonFlags = [ - "-Dexamples=disabled" # requires many dependencies and probably not useful for our users + "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing "-Dsidplay=disabled" # sidplay / sidplay/player.h isn't packaged in nixpkgs as of writing ]; + postPatch = '' + patchShebangs \ + scripts/extract-release-date-from-doap-file.py + ''; + meta = with lib; { description = "Gstreamer Ugly Plugins"; homepage = "https://gstreamer.freedesktop.org"; diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix index cac56f64cc91..52a6cb27894b 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix +++ b/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix @@ -16,25 +16,32 @@ , gst-plugins-bad , nasm , libvpx -, python +, python3 }: stdenv.mkDerivation rec { pname = "gstreamer-vaapi"; - version = "1.16.2"; + version = "1.18.2"; src = fetchurl { url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz"; - sha256 = "00f6sx700qm1ximi1ag2c27m35dywwhhg6awhz85va34mfqff78r"; + sha256 = "1h67n7wk1297rzynknbyv44gdacblvkcvb37x8yxi5d0zms2qywc"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + # "devdoc" # disabled until `hotdoc` is packaged in nixpkgs + ]; nativeBuildInputs = [ meson ninja pkgconfig bzip2 + + # documentation + # TODO add hotdoc here ]; buildInputs = [ @@ -55,13 +62,19 @@ stdenv.mkDerivation rec { libGLU nasm libvpx - python + python3 ]; mesonFlags = [ "-Dexamples=disabled" # requires many dependencies and probably not useful for our users + "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing ]; + postPatch = '' + patchShebangs \ + scripts/extract-release-date-from-doap-file.py + ''; + meta = with stdenv.lib; { description = "Set of VAAPI GStreamer Plug-ins"; homepage = "https://gstreamer.freedesktop.org"; |