Merge pull request #99345 from nh2/gstreamer-1.18.0
gstreamer: 1.16.2 -> 1.18.0
This commit is contained in:
commit
e5b345c09d
17 changed files with 188 additions and 197 deletions
|
@ -63,7 +63,7 @@ rustPlatform.buildRustPackage rec {
|
|||
gtkSupport = true;
|
||||
})
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-validate
|
||||
gst_all_1.gst-devtools
|
||||
gtk3
|
||||
gtksourceview4
|
||||
libhandy_0
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, pkg-config
|
||||
, gettext
|
||||
, itstool
|
||||
|
@ -11,6 +10,7 @@
|
|||
, gst_all_1
|
||||
, gtk3
|
||||
, gobject-introspection
|
||||
, libpeas
|
||||
, librsvg
|
||||
, gnome3
|
||||
, libnotify
|
||||
|
@ -20,40 +20,15 @@
|
|||
, gsettings-desktop-schemas
|
||||
}:
|
||||
|
||||
let
|
||||
# gst-transcoder was merged with gst-plugins-bad 1.18.
|
||||
# TODO: switch to that once available.
|
||||
gst-transcoder = stdenv.mkDerivation rec {
|
||||
version = "1.14.1";
|
||||
pname = "gst-transcoder";
|
||||
src = fetchFromGitHub {
|
||||
owner = "pitivi";
|
||||
repo = "gst-transcoder";
|
||||
rev = version;
|
||||
sha256 = "16skiz9akavssii529v9nr8zd54w43livc14khdyzv164djg9q8f";
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
meson
|
||||
ninja
|
||||
gobject-introspection
|
||||
python3
|
||||
];
|
||||
buildInputs = with gst_all_1; [
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
];
|
||||
};
|
||||
|
||||
in python3Packages.buildPythonApplication rec {
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "pitivi";
|
||||
version = "0.999";
|
||||
version = "2020.09.1";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/pitivi/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0mxp2p4gg976fp1vj3rb5rmpl5mqfzncm9vw2719irl32f1qlvyb";
|
||||
sha256 = "1by52b56s9c3h23n40iccygkazwlhii2gb28zhnj2xz5805j05y2";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -61,42 +36,6 @@ in python3Packages.buildPythonApplication rec {
|
|||
# and saves them to the generated binary. This would make the build-time
|
||||
# dependencies part of the closure so we remove it.
|
||||
./prevent-closure-contamination.patch
|
||||
|
||||
# Port from intltool to gettext.
|
||||
# Needed for the following patches to apply.
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/pitivi/commit/89b1053f2516c594f414c5c67c835471bce44b67.patch";
|
||||
sha256 = "8yhArzAtZC+WjHftcSDrstBlT8j6WlGHffU9Nj+ny+c=";
|
||||
excludes = [ "po/POTFILES.in" ];
|
||||
})
|
||||
|
||||
# Complete switching to gst-transcoder in gst-plugins-bad.
|
||||
# Otherwise there will likely be conflics.
|
||||
# TODO: Apply this patch once we are using gst-transcoder from gst-plugins-bad.
|
||||
# (fetchpatch {
|
||||
# url = "https://gitlab.gnome.org/GNOME/pitivi/commit/51ae6533ee26ffd47e453eb5f5ad8cd46f57d15e.patch";
|
||||
# sha256 = "zxJm+E5o+oZ3lW6wYNY/ERo2g4NmCjoY8oV+uScq8j8=";
|
||||
# })
|
||||
|
||||
# Generate renderer.so on macOS instead of dylib.
|
||||
# Needed for the following patch to apply.
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/pitivi/commit/bcacadcafabf8911efb0fddc8d57329237d08cd1.patch";
|
||||
sha256 = "2BM5acIwOgdr1L9vhtMMN4trrLuqCg/K6v6ZYtD1Fjw=";
|
||||
postFetch = ''
|
||||
sed -i -e "s/1.90.0.1/0.999/g" "$out"
|
||||
'';
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/pitivi/commit/0a3cc054a2c20b59f5aaaaa307de3c9af3c0d270.patch";
|
||||
sha256 = "6DhqRlxFWFFdLwGoFem+vPt8x7v732KMVjMF9fypMK4=";
|
||||
postFetch = ''
|
||||
sed "$out" -i \
|
||||
-e "s/1.90.0.1/0.999/g" \
|
||||
-e "s/\(-python_dep.*\)/\1\n /" \
|
||||
-e "s/-1,9 +1,16/-1,10 +1,17/"
|
||||
'';
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -112,13 +51,13 @@ in python3Packages.buildPythonApplication rec {
|
|||
buildInputs = [
|
||||
gobject-introspection
|
||||
gtk3
|
||||
libpeas
|
||||
librsvg
|
||||
gnome3.gnome-desktop
|
||||
gsound
|
||||
gnome3.adwaita-icon-theme
|
||||
gsettings-desktop-schemas
|
||||
libnotify
|
||||
gst-transcoder
|
||||
] ++ (with gst_all_1; [
|
||||
gstreamer
|
||||
gst-editing-services
|
||||
|
@ -127,7 +66,7 @@ in python3Packages.buildPythonApplication rec {
|
|||
gst-plugins-bad
|
||||
gst-plugins-ugly
|
||||
gst-libav
|
||||
gst-validate
|
||||
gst-devtools
|
||||
]);
|
||||
|
||||
pythonPath = with python3Packages; [
|
||||
|
@ -142,9 +81,6 @@ in python3Packages.buildPythonApplication rec {
|
|||
|
||||
postPatch = ''
|
||||
patchShebangs ./getenvvar.py
|
||||
|
||||
# fetchpatch does not support renamings
|
||||
mv data/org.pitivi.Pitivi-mime.xml data/org.pitivi.Pitivi-mime.xml.in
|
||||
'';
|
||||
|
||||
# Fixes error
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
, libbs2b
|
||||
, libmodplug
|
||||
, mpeg2dec
|
||||
, libmicrodns
|
||||
, openjpeg
|
||||
, libopus
|
||||
, librsvg
|
||||
|
@ -65,6 +66,7 @@
|
|||
, wayland-protocols
|
||||
, wildmidi
|
||||
, fluidsynth
|
||||
, libva
|
||||
, libvdpau
|
||||
, wayland
|
||||
, libwebp
|
||||
|
@ -87,25 +89,27 @@ let
|
|||
inherit (stdenv.lib) optional optionals;
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "gst-plugins-bad";
|
||||
version = "1.16.2";
|
||||
version = "1.18.0";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0x0y0hm0ga3zqi5q4090hw5sjh59y1ry9ak16qsaascm72i7mjzi";
|
||||
sha256 = "0pqqq5bs9fjwcmbwgsgxs2dx6gznhxs7ii5pmjkslr6xmlfap0pk";
|
||||
};
|
||||
|
||||
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
|
||||
# Fixes srt usage failing with
|
||||
# Failed to open SRT: failed to set SRTO_LINGER (reason: Operation not supported: Bad parameters)
|
||||
# see https://github.com/Haivision/srt/issues/1374
|
||||
# Remove when https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/84f8dbd932029220ee86154dd85b241911ea3891
|
||||
# is shown as being in a release tag that nixpkgs uses.
|
||||
(fetchpatch {
|
||||
name = "gstreamer-srtobject-typecast-SRTO_LINGER-to-linger.patch";
|
||||
url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/84f8dbd932029220ee86154dd85b241911ea3891.patch";
|
||||
sha256 = "0596lvgi93sj3yn98grgmsrhnqhhq7fnjk91qi4xc6618fpqmp9x";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -130,6 +134,7 @@ in stdenv.mkDerivation rec {
|
|||
libbs2b
|
||||
libmodplug
|
||||
mpeg2dec
|
||||
libmicrodns
|
||||
openjpeg
|
||||
libopus
|
||||
librsvg
|
||||
|
@ -154,6 +159,7 @@ in stdenv.mkDerivation rec {
|
|||
soundtouch
|
||||
srtp
|
||||
fluidsynth
|
||||
libva
|
||||
libvdpau
|
||||
libwebp
|
||||
xvidcore
|
||||
|
@ -215,11 +221,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 +245,16 @@ 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.isDarwin [
|
||||
"-Dbluez=disabled"
|
||||
|
@ -276,6 +282,11 @@ in stdenv.mkDerivation rec {
|
|||
"-Dapplemedia=disabled"
|
||||
];
|
||||
|
||||
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" ];
|
||||
|
|
|
@ -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
|
|
@ -19,9 +19,6 @@
|
|||
, libvisual
|
||||
, tremor # provides 'virbisidec'
|
||||
, libGL
|
||||
, gtk-doc
|
||||
, docbook_xsl
|
||||
, docbook_xml_dtd_43
|
||||
, enableX11 ? stdenv.isLinux
|
||||
, libXv
|
||||
, enableWayland ? stdenv.isLinux
|
||||
|
@ -42,13 +39,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gst-plugins-base";
|
||||
version = "1.16.2";
|
||||
version = "1.18.0";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0sl1hxlyq46r02k7z70v09vx1gi4rcypqmzra9jid93lzvi76gmi";
|
||||
sha256 = "15vqvcy842vhbic3w7l4yvannzazdgwggzv2x8f9m02hm78vsakn";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -66,9 +63,7 @@ stdenv.mkDerivation rec {
|
|||
gobject-introspection
|
||||
|
||||
# docs
|
||||
gtk-doc
|
||||
docbook_xsl
|
||||
docbook_xml_dtd_43
|
||||
# TODO add hotdoc here
|
||||
] ++ lib.optional enableWayland wayland;
|
||||
|
||||
buildInputs = [
|
||||
|
@ -103,17 +98,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 +113,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
|
||||
|
|
|
@ -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.0";
|
||||
|
||||
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 = "01bq1k0gj603zyhq975zl09q4zla12mxqvhmk9fyn2kcn12r5w0g";
|
||||
};
|
||||
|
||||
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,7 +87,8 @@ 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 = ''
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1jpfrzg3yc6kp66bgq3jy14xsj3x71mk2zh0k16yf0326awwqqa8";
|
||||
sha256 = "05jzjkkdr5hg01mjihlqdcxqnjfrm4mqk0zp83212kv5nm0p2cw2";
|
||||
};
|
||||
|
||||
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";
|
|
@ -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)
|
||||
|
||||
|
|
@ -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.0";
|
||||
|
||||
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 = "1a00f07v0yjqz1hydhgkjjarm4rk99yjicbz5wkfl5alhzag1bjd";
|
||||
};
|
||||
|
||||
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; {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, nasm
|
||||
, ninja
|
||||
, pkgconfig
|
||||
, python3
|
||||
|
@ -34,6 +35,8 @@
|
|||
, libXext
|
||||
, libXfixes
|
||||
, ncurses
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, xorg
|
||||
, libgudev
|
||||
, wavpack
|
||||
|
@ -46,23 +49,24 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gst-plugins-good";
|
||||
version = "1.16.2";
|
||||
version = "1.18.0";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "068k3cbv1yf3gbllfdzqsg263kzwh21y8dpwr0wvgh15vapkpfs0";
|
||||
sha256 = "1b4b3a6fm2wyqpnx300pg1sz01m9qhfajadk3b7sbzisg8vvqab3";
|
||||
};
|
||||
|
||||
patches = [ ./fix_pkgconfig_includedir.patch ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
python3
|
||||
meson
|
||||
ninja
|
||||
gettext
|
||||
nasm
|
||||
] ++ optionals stdenv.isLinux [
|
||||
wayland-protocols
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -102,12 +106,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 +128,14 @@ stdenv.mkDerivation rec {
|
|||
"-Dv4l2=disabled" # Linux-only
|
||||
"-Dximagesrc=disabled" # Linux-only
|
||||
"-Dpulse=disabled" # TODO check if we can keep this enabled
|
||||
] ++ optionals (!(stdenv.isLinux && stdenv.hostPlatform.isAarch64)) [
|
||||
"-Drpicamsrc=disabled" # only works on Linux aarch64, see https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/blob/428c9b60532917c0ac49c9d48b15bdcd00a1370b/sys/rpicamsrc/meson.build#L10
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs \
|
||||
scripts/extract-release-date-from-doap-file.py
|
||||
'';
|
||||
|
||||
NIX_LDFLAGS = [
|
||||
# linking error on Darwin
|
||||
|
|
|
@ -15,11 +15,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gst-libav";
|
||||
version = "1.16.2";
|
||||
version = "1.18.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1wpfilc98bad9nsv3y1qapxp35dvn2mvwvrmqwrsj58cf09gc967";
|
||||
sha256 = "0sm0sfdlalimpkf7a7rk7whvyvmmfi2kly2z3q2j5z53x5f3zya2";
|
||||
};
|
||||
|
||||
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";
|
||||
|
|
|
@ -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.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0vn23nxwvs96g7gcxw5zbnw23hkhky8a8r42wq68411vgf1s41yy";
|
||||
sha256 = "03y7nyjaagis7mmg8vbhxmnc1v9xf2y3cab2s3q2vgsc0l8r7l9a";
|
||||
};
|
||||
|
||||
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";
|
||||
|
|
|
@ -21,13 +21,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gst-plugins-ugly";
|
||||
version = "1.16.2";
|
||||
version = "1.18.0";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m";
|
||||
sha256 = "10p0nyzighvkciaspxnhlr7d7n4acrv96lf483i8l988bvj48rk8";
|
||||
};
|
||||
|
||||
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";
|
||||
|
|
|
@ -16,25 +16,32 @@
|
|||
, gst-plugins-bad
|
||||
, nasm
|
||||
, libvpx
|
||||
, python
|
||||
, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gstreamer-vaapi";
|
||||
version = "1.16.2";
|
||||
version = "1.18.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "00f6sx700qm1ximi1ag2c27m35dywwhhg6awhz85va34mfqff78r";
|
||||
sha256 = "0ccyzv15jzf0pi0ndrmfww016cn4c0y4265bacdvnxbgff6fpvy6";
|
||||
};
|
||||
|
||||
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";
|
||||
|
|
|
@ -4,17 +4,16 @@
|
|||
, ninja
|
||||
, stdenv
|
||||
, pkgconfig
|
||||
, python
|
||||
, python3
|
||||
, pygobject3
|
||||
, gobject-introspection
|
||||
, gst-plugins-base
|
||||
, isPy3k
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gst-python";
|
||||
version = "1.16.2";
|
||||
version = "1.18.0";
|
||||
|
||||
format = "other";
|
||||
|
||||
|
@ -22,14 +21,17 @@ buildPythonPackage rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/gst-python/${pname}-${version}.tar.xz";
|
||||
sha256 = "1a48ca66izmm8hnp608jv5isg3jxb0vlfmhns0bg9nbkilag7390";
|
||||
sha256 = "0ifx2s2j24sj2w5jm7cxyg1kinnhbxiz4x0qp3gnsjlwbawfigvn";
|
||||
};
|
||||
|
||||
# Python 2.x is not supported.
|
||||
disabled = !isPy3k;
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkgconfig
|
||||
python
|
||||
python3
|
||||
gobject-introspection
|
||||
gst-plugins-base
|
||||
];
|
||||
|
@ -39,24 +41,8 @@ buildPythonPackage rec {
|
|||
pygobject3
|
||||
];
|
||||
|
||||
patches = stdenv.lib.optionals stdenv.isDarwin [
|
||||
# Fix configure python lib detection in macOS. Remove with the next release
|
||||
(fetchpatch {
|
||||
url = "https://github.com/GStreamer/gst-python/commit/f98c206bdf01529f8ea395a719b10baf2bdf717f.patch";
|
||||
sha256 = "04n4zrnfivgr7iaqw4sjlbd882s8halc2bbbhfxqf0sg2lqwmrxg";
|
||||
})
|
||||
] ++ [
|
||||
# Fix linking against Python 3.8
|
||||
# https://gitlab.freedesktop.org/gstreamer/gst-python/merge_requests/30
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.freedesktop.org/gstreamer/gst-python/commit/22f28155d86e27c4134de4ed2861264003fcfd23.patch";
|
||||
sha256 = "Y70qVguHUBmmRVMFBKAP0d6anBQw5W0TKyu2bAwxbQg=";
|
||||
})
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dpython=python${if isPy3k then "3" else "2"}"
|
||||
"-Dpygi-overrides-dir=${placeholder "out"}/${python.sitePackages}/gi/overrides"
|
||||
"-Dpygi-overrides-dir=${placeholder "out"}/${python3.sitePackages}/gi/overrides"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
|
Loading…
Reference in a new issue