Merge pull request #38149 from bkchr/gst_1_14_0

Updates gstreamer and plugins to 1.14.0
This commit is contained in:
Jan Tojnar 2018-04-04 18:34:40 +02:00 committed by GitHub
commit c490b05507
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 201 additions and 138 deletions

View file

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
glib gtk3 json-glib sqlite libsoup gettext gnome3.dconf gnome3.gspell glib-networking glib gtk3 json-glib sqlite libsoup gettext gnome3.dconf gnome3.gspell glib-networking
] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good (gst-plugins-bad.override { gtkSupport = true; }) gst-libav ]); ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad (gst-plugins-good.override { gtkSupport = true; }) gst-libav ]);
postPatch = '' postPatch = ''
chmod +x data/meson_post_install.py # patchShebangs requires executable file chmod +x data/meson_post_install.py # patchShebangs requires executable file

View file

@ -1,8 +1,8 @@
{ stdenv, fetchurl, pkgconfig, python, gst-plugins-base, orc { stdenv, fetchurl, fetchpatch, meson, ninja, gettext
, pkgconfig, python, gst-plugins-base, orc
, faacSupport ? false, faac ? null , faacSupport ? false, faac ? null
, gtkSupport ? false, gtk3 ? null
, faad2, libass, libkate, libmms , faad2, libass, libkate, libmms
, libmodplug, mpeg2dec, mpg123 , libmodplug, mpeg2dec
, openjpeg, libopus, librsvg , openjpeg, libopus, librsvg
, wildmidi, fluidsynth, libvdpau, wayland , wildmidi, fluidsynth, libvdpau, wayland
, libwebp, xvidcore, gnutls, mjpegtools , libwebp, xvidcore, gnutls, mjpegtools
@ -11,7 +11,6 @@
}: }:
assert faacSupport -> faac != null; assert faacSupport -> faac != null;
assert gtkSupport -> gtk3 != null;
let let
inherit (stdenv.lib) optional optionalString; inherit (stdenv.lib) optional optionalString;
@ -23,7 +22,7 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-plugins-bad-1.12.3"; name = "gst-plugins-bad-1.14.0";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Gstreamer Bad Plugins"; description = "Gstreamer Bad Plugins";
@ -38,27 +37,31 @@ stdenv.mkDerivation rec {
platforms = platforms.linux ++ platforms.darwin; platforms = platforms.linux ++ platforms.darwin;
}; };
# TODO: Fix Cocoa build. The problem was ARC, which might be related to too preConfigure = ''
# old version of Apple SDK's. patchShebangs .
configureFlags = optional stdenv.isDarwin "--disable-cocoa";
patchPhase = ''
sed -i 's/openjpeg-2.2/openjpeg-${openJpegVersion}/' ext/openjpeg/*
''; '';
patches = [
(fetchpatch {
url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370409";
sha256 = "0hy0rcn35alq65yqwri4fqjz2hf3nyyg5c7rnndk51msmqjxpprk";
})
./fix_pkgconfig_includedir.patch
];
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz"; url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
sha256 = "1v5z3i5ha20gmbb3r9dwsaaspv5fm1jfzlzwlzqx1gjj31v5kl1n"; sha256 = "17sgzgx1c54k5rzz7ljyz3is0n7yj56k74vv05h8z1gjnsnjnppd";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig python ]; nativeBuildInputs = [ meson ninja pkgconfig python gettext ];
buildInputs = [ buildInputs = [
gst-plugins-base orc gst-plugins-base orc
faad2 gtk3 libass libkate libmms faad2 libass libkate libmms
libmodplug mpeg2dec mpg123 libmodplug mpeg2dec
openjpeg libopus librsvg openjpeg libopus librsvg
fluidsynth libvdpau fluidsynth libvdpau
libwebp xvidcore gnutls libGLU_combined libwebp xvidcore gnutls libGLU_combined
@ -66,8 +69,6 @@ stdenv.mkDerivation rec {
] ]
++ libintlOrEmpty ++ libintlOrEmpty
++ optional faacSupport faac ++ optional faacSupport faac
# for gtksink
++ optional gtkSupport gtk3
++ optional stdenv.isLinux wayland ++ optional stdenv.isLinux wayland
# wildmidi requires apple's OpenAL # wildmidi requires apple's OpenAL
# TODO: package apple's OpenAL, fix wildmidi, include on Darwin # TODO: package apple's OpenAL, fix wildmidi, include on Darwin
@ -76,6 +77,4 @@ stdenv.mkDerivation rec {
++ optional (!stdenv.isDarwin) mjpegtools; ++ optional (!stdenv.isDarwin) mjpegtools;
LDFLAGS = optionalString stdenv.isDarwin "-lintl"; LDFLAGS = optionalString stdenv.isDarwin "-lintl";
enableParallelBuilding = true;
} }

View file

@ -0,0 +1,15 @@
diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
index 271f327f3..7e2afa754 100644
--- a/pkgconfig/meson.build
+++ b/pkgconfig/meson.build
@@ -2,8 +2,8 @@ pkgconf = configuration_data()
pkgconf.set('prefix', join_paths(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('VERSION', gst_version)

View file

@ -1,10 +1,11 @@
{ stdenv, fetchurl, pkgconfig, python, gstreamer, gobjectIntrospection { stdenv, fetchurl, fetchpatch, pkgconfig, meson
, orc, alsaLib, libXv, pango, libtheora , ninja, gettext, gobjectIntrospection, python
, cdparanoia, libvisual, libintlOrEmpty , gstreamer, orc, alsaLib, libXv, pango, libtheora
, wayland, cdparanoia, libvisual, libintlOrEmpty
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-plugins-base-1.12.3"; name = "gst-plugins-base-1.14.0";
meta = { meta = {
description = "Base plugins and helper libraries"; description = "Base plugins and helper libraries";
@ -15,17 +16,17 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz"; url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
sha256 = "19ffwdch7m777ragmwpy6prqmfb742ym1n3ki40s0zyki627plyk"; sha256 = "0h39bcp7fcd9kgb189lxr8l0hm0almvzpzgpdh1jpq2nzxh4d43y";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig python gobjectIntrospection pkgconfig python meson ninja gettext gobjectIntrospection
]; ];
buildInputs = [ buildInputs = [
orc libXv pango libtheora cdparanoia orc libXv pango libtheora cdparanoia wayland
] ]
++ libintlOrEmpty ++ libintlOrEmpty
++ stdenv.lib.optional stdenv.isLinux alsaLib ++ stdenv.lib.optional stdenv.isLinux alsaLib
@ -33,14 +34,17 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ gstreamer ]; propagatedBuildInputs = [ gstreamer ];
configureFlags = if stdenv.isDarwin then [ preConfigure = ''
# Does not currently build on Darwin patchShebangs .
"--disable-libvisual" '';
# Undefined symbols _cdda_identify and _cdda_identify_scsi in cdparanoia
"--disable-cdparanoia"
] else null;
NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null; NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
enableParallelBuilding = true; patches = [
(fetchpatch {
url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370414";
sha256 = "07x43xis0sr0hfchf36ap0cibx0lkfpqyszb3r3w9dzz301fk04z";
})
./fix_pkgconfig_includedir.patch
];
} }

View file

@ -0,0 +1,15 @@
diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
index 04abfbee5..88c86b431 100644
--- a/pkgconfig/meson.build
+++ b/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('VERSION', gst_version)
pkgconf.set('LIBM', libm.found() ? '-lm' : '')

View file

@ -1,10 +1,11 @@
{ stdenv, fetchurl, pkgconfig, perl, bison, flex, python, gobjectIntrospection { stdenv, fetchurl, fetchpatch, meson, ninja
, glib, makeWrapper , pkgconfig, gettext, gobjectIntrospection
, darwin , bison, flex, python3, glib, makeWrapper
, libcap,libunwind, darwin
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gstreamer-1.12.3"; name = "gstreamer-1.14.0";
meta = { meta = {
description = "Open source multimedia framework"; description = "Open source multimedia framework";
@ -16,31 +17,37 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gstreamer/${name}.tar.xz"; url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
sha256 = "0vi1g8rmmsnd630ds3jwv2iph46ll8y07fzf04mz15q88j9g926k"; sha256 = "0vj6k01lp2yva6rfd95fkyng9jdr62gkz0x8d2l81dyly1ki6dpw";
}; };
patches = [
(fetchpatch {
url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370411";
sha256 = "16plzzmkk906k4892zq68j3c9z8vdma5nxzlviq20jfv04ykhmk2";
})
./fix_pkgconfig_includedir.patch
];
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
outputBin = "dev"; outputBin = "dev";
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig perl bison flex python gobjectIntrospection makeWrapper meson ninja pkgconfig gettext bison flex python3 makeWrapper gobjectIntrospection
]; ];
buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreServices; buildInputs = [ libcap libunwind ] ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreServices;
propagatedBuildInputs = [ glib ]; propagatedBuildInputs = [ glib ];
enableParallelBuilding = true;
preConfigure = ''
configureFlagsArray+=("--exec-prefix=$dev")
'';
postInstall = '' postInstall = ''
for prog in "$dev/bin/"*; do for prog in "$dev/bin/"*; do
wrapProgram "$prog" --suffix GST_PLUGIN_SYSTEM_PATH : "\$(unset _tmp; for profile in \$NIX_PROFILES; do _tmp="\$profile/lib/gstreamer-1.0''$\{_tmp:+:\}\$_tmp"; done; printf "\$_tmp")" wrapProgram "$prog" --suffix GST_PLUGIN_SYSTEM_PATH : "\$(unset _tmp; for profile in \$NIX_PROFILES; do _tmp="\$profile/lib/gstreamer-1.0''$\{_tmp:+:\}\$_tmp"; done; printf "\$_tmp")"
done done
''; '';
preConfigure= ''
patchShebangs .
'';
preFixup = '' preFixup = ''
moveToOutput "share/bash-completion" "$dev" moveToOutput "share/bash-completion" "$dev"
''; '';

View file

@ -0,0 +1,15 @@
diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
index edb0586c2..7ed46dfce 100644
--- a/pkgconfig/meson.build
+++ b/pkgconfig/meson.build
@@ -2,8 +2,8 @@ pkgconf = configuration_data()
pkgconf.set('prefix', join_paths(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', apiversion)
pkgconf.set('VERSION', gst_version)
pkgconf.set('LIBM', mathlib.found() ? '-lm' : '')

View file

@ -17,11 +17,7 @@ rec {
gst-libav = callPackage ./libav { inherit gst-plugins-base; }; gst-libav = callPackage ./libav { inherit gst-plugins-base; };
gnonlin = callPackage ./gnonlin { inherit gst-plugins-base; }; gst-editing-services = callPackage ./ges { inherit gst-plugins-base; };
# TODO: gnonlin is deprecated in gst-editing-services, better switch to nle
# (Non Linear Engine).
gst-editing-services = callPackage ./ges { inherit gnonlin; };
gst-vaapi = callPackage ./vaapi { gst-vaapi = callPackage ./vaapi {
inherit gst-plugins-base gstreamer gst-plugins-bad; inherit gst-plugins-base gstreamer gst-plugins-bad;

View file

@ -1,9 +1,10 @@
{ stdenv, fetchurl, pkgconfig, python, gobjectIntrospection { stdenv, fetchurl, fetchpatch, meson, ninja
, gnonlin, libxml2, flex, perl , pkgconfig, python, gst-plugins-base, libxml2
, flex, perl, gettext, gobjectIntrospection
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gstreamer-editing-services-1.12.3"; name = "gstreamer-editing-services-1.14.0";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Library for creation of audio/video non-linear editors"; description = "Library for creation of audio/video non-linear editors";
@ -14,12 +15,20 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz"; url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz";
sha256 = "0xjz8r0wbzc0kwi9q8akv7w71ii1n2y2dmb0q2p5k4h78382ybh3"; sha256 = "14cdd6y9p4k603hsnyhdjw2igg855gwpx0362jmg8k1gagmr0pwd";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig python gobjectIntrospection flex perl ]; nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection python flex perl ];
propagatedBuildInputs = [ gnonlin libxml2 ]; propagatedBuildInputs = [ gst-plugins-base libxml2 ];
patches = [
(fetchpatch {
url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370413";
sha256 = "1xcgbs18g6n5p7z7kqj7ffakwmkxq7ijajyvhyl7p3zvqll9dc7x";
})
./fix_pkgconfig_includedir.patch
];
} }

View file

@ -0,0 +1,15 @@
diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
index a612b21b..c017eaff 100644
--- a/pkgconfig/meson.build
+++ b/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', apiversion)
pkgconf.set('VERSION', gst_version)

View file

@ -1,30 +0,0 @@
{ stdenv, fetchurl, pkgconfig
, gst-plugins-base
}:
stdenv.mkDerivation rec {
name = "gnonlin-1.4.0";
meta = with stdenv.lib; {
description = "Gstreamer Non-Linear Multimedia Editing Plugins";
homepage = "https://gstreamer.freedesktop.org";
longDescription = ''
Gnonlin is a library built on top of GStreamer which provides
support for writing non-linear audio and video editing
applications. It introduces the concept of a timeline.
'';
license = licenses.lgpl2Plus;
platforms = platforms.unix;
};
src = fetchurl {
url = "${meta.homepage}/src/gnonlin/${name}.tar.xz";
sha256 = "0zv60rq2h736a6fivd3a3wp59dj1jar7b2vwzykahvl168b7wrid";
};
outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [ gst-plugins-base ];
}

View file

@ -1,17 +1,20 @@
{ stdenv, fetchurl, pkgconfig, python { stdenv, fetchurl, meson, ninja, pkgconfig, python
, gst-plugins-base, orc, bzip2 , gst-plugins-base, orc, bzip2, gettext
, libv4l, libdv, libavc1394, libiec61883 , libv4l, libdv, libavc1394, libiec61883
, libvpx, speex, flac, taglib, libshout , libvpx, speex, flac, taglib, libshout
, cairo, gdk_pixbuf, aalib, libcaca , cairo, gdk_pixbuf, aalib, libcaca
, libsoup, libpulseaudio, libintlOrEmpty , libsoup, libpulseaudio, libintlOrEmpty
, darwin , darwin, lame, mpg123, twolame
, gtkSupport ? false, gtk3 ? null
}: }:
assert gtkSupport -> gtk3 != null;
let let
inherit (stdenv.lib) optionals optionalString; inherit (stdenv.lib) optionals optionalString;
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-plugins-good-1.12.3"; name = "gst-plugins-good-1.14.0";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Gstreamer Good Plugins"; description = "Gstreamer Good Plugins";
@ -27,27 +30,26 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz"; url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
sha256 = "00sznj1sl97fqpn6j8ngps04clvxp8h8yhw6lvszx4b855wz9rqk"; sha256 = "1226s30cf7pqg3fj8shd20l7sp93yw9sqplgxns3m3ajgms3byka";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig python ]; patches = [ ./fix_pkgconfig_includedir.patch ];
nativeBuildInputs = [ pkgconfig python meson ninja gettext ];
buildInputs = [ buildInputs = [
gst-plugins-base orc bzip2 gst-plugins-base orc bzip2
libdv libvpx speex flac taglib libdv libvpx speex flac taglib
cairo gdk_pixbuf aalib libcaca cairo gdk_pixbuf aalib libcaca
libsoup libshout libsoup libshout lame mpg123 twolame
] ]
++ libintlOrEmpty ++ libintlOrEmpty
++ optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ] ++ optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]
++ optionals stdenv.isLinux [ libv4l libpulseaudio libavc1394 libiec61883 ]; ++ optionals stdenv.isLinux [ libv4l libpulseaudio libavc1394 libiec61883 ]
# for gtksink
preFixup = '' ++ optionals gtkSupport [ gtk3 ];
mkdir -p "$dev/lib/gstreamer-1.0"
mv "$out/lib/gstreamer-1.0/"*.la "$dev/lib/gstreamer-1.0"
'';
LDFLAGS = optionalString stdenv.isDarwin "-lintl"; LDFLAGS = optionalString stdenv.isDarwin "-lintl";
} }

View file

@ -0,0 +1,15 @@
diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
index b3bf0d4d4..3e6e576c0 100644
--- a/pkgconfig/meson.build
+++ b/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('VERSION', gst_version)

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, python, yasm { stdenv, fetchurl, meson, ninja, pkgconfig
, gst-plugins-base, orc, bzip2 , python, yasm, gst-plugins-base, orc, bzip2
, withSystemLibav ? true, libav ? null , gettext, withSystemLibav ? true, libav ? null
}: }:
# Note that since gst-libav-1.6, libav is actually ffmpeg. See # Note that since gst-libav-1.6, libav is actually ffmpeg. See
@ -9,7 +9,7 @@
assert withSystemLibav -> libav != null; assert withSystemLibav -> libav != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-libav-1.12.3"; name = "gst-libav-1.14.0";
meta = { meta = {
homepage = https://gstreamer.freedesktop.org; homepage = https://gstreamer.freedesktop.org;
@ -19,16 +19,13 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-libav/${name}.tar.xz"; url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
sha256 = "0l4nc6ikdx49l7bdrk3bd9p3pzry8a328r22zg48gyzpnv5ghph1"; sha256 = "12gglx6rarnxbaj0h1wivlgkv467n1bz2bwjigplciq57r6ln4zv";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
configureFlags = stdenv.lib.optionalString withSystemLibav
"--with-system-libav";
nativeBuildInputs = with stdenv.lib; nativeBuildInputs = with stdenv.lib;
[ pkgconfig python ] [ meson ninja gettext pkgconfig python ]
++ optional (!withSystemLibav) yasm ++ optional (!withSystemLibav) yasm
; ;

View file

@ -1,7 +1,9 @@
{ stdenv, fetchurl, pkgconfig, gst-plugins-base }: { stdenv, fetchurl, meson, ninja, pkgconfig
, gst-plugins-base, gettext, gobjectIntrospection
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-rtsp-server-1.12.3"; name = "gst-rtsp-server-1.14.0";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Gstreamer RTSP server"; description = "Gstreamer RTSP server";
@ -16,12 +18,12 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-rtsp-server/${name}.tar.xz"; url = "${meta.homepage}/src/gst-rtsp-server/${name}.tar.xz";
sha256 = "1v3lghx75l05hssgwxdxsgrxpn10gxlgkfb6vq0rl0hnpdqmj9b7"; sha256 = "0mlp9ms5hfbyzyvmc9xgi7934g4zrh1sbgky2p9zc5fqprvs0rbb";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ meson ninja gettext gobjectIntrospection pkgconfig ];
buildInputs = [ gst-plugins-base ]; buildInputs = [ gst-plugins-base ];
} }

View file

@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, python { stdenv, fetchurl, meson, ninja, pkgconfig, python
, gst-plugins-base, orc , gst-plugins-base, orc, gettext
, a52dec, libcdio, libdvdread , a52dec, libcdio, libdvdread
, lame, libmad, libmpeg2, x264, libintlOrEmpty, mpg123 , libmad, libmpeg2, x264, libintlOrEmpty
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-plugins-ugly-1.12.3"; name = "gst-plugins-ugly-1.14.0";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Gstreamer Ugly Plugins"; description = "Gstreamer Ugly Plugins";
@ -22,17 +22,17 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz"; url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
sha256 = "0lh00rg26iy5lr5al23lxsyncjqkgzph1bzkrgp8x9sfr62ab378"; sha256 = "1la2nny9hfw3rf3wvqggkg8ivn52qrqqs4n4mqz4ppm2r1gymf9z";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig python ]; nativeBuildInputs = [ meson ninja gettext pkgconfig python ];
buildInputs = [ buildInputs = [
gst-plugins-base orc gst-plugins-base orc
a52dec libcdio libdvdread a52dec libcdio libdvdread
lame libmad libmpeg2 x264 mpg123 libmad libmpeg2 x264
] ++ libintlOrEmpty; ] ++ libintlOrEmpty;
NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null; NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;

View file

@ -1,20 +1,20 @@
{ stdenv, fetchurl, pkgconfig, gst-plugins-base, bzip2, libva, wayland { stdenv, fetchurl, meson, ninja, pkgconfig, gst-plugins-base, bzip2, libva, wayland
, libdrm, udev, xorg, libGLU_combined, yasm, gstreamer, gst-plugins-bad, nasm , libdrm, udev, xorg, libGLU_combined, yasm, gstreamer, gst-plugins-bad, nasm
, libvpx, python , libvpx, python
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-vaapi-${version}"; name = "gst-vaapi-${version}";
version = "1.12.4"; version = "1.14.0";
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz"; url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz";
sha256 = "1jg9nvc8000yi2bcl3wn2yh2hwl7yvlwldj6778w8c0z5qj7fb8w"; sha256 = "1whxk428badv8ibji00sn6hj17cp8l9n93rr948bz2gjbq41zqz4";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig bzip2 ]; nativeBuildInputs = [ meson ninja pkgconfig bzip2 ];
buildInputs = [ buildInputs = [
gstreamer gst-plugins-base gst-plugins-bad libva wayland libdrm udev gstreamer gst-plugins-base gst-plugins-bad libva wayland libdrm udev
@ -22,11 +22,10 @@ stdenv.mkDerivation rec {
xorg.libICE libGLU_combined nasm libvpx python xorg.libICE libGLU_combined nasm libvpx python
]; ];
preConfigure = " preConfigure = ''
export GST_PLUGIN_PATH_1_0=$out/lib/gstreamer-1.0 export GST_PLUGIN_PATH_1_0=$out/lib/gstreamer-1.0
mkdir -p $GST_PLUGIN_PATH_1_0 mkdir -p $GST_PLUGIN_PATH_1_0
"; '';
configureFlags = "--disable-builtin-libvpx --with-gstreamer-api=1.0";
meta = { meta = {
homepage = https://gstreamer.freedesktop.org; homepage = https://gstreamer.freedesktop.org;

View file

@ -3,7 +3,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-validate-1.12.3"; name = "gst-validate-1.14.0";
meta = { meta = {
description = "Integration testing infrastructure for the GStreamer framework"; description = "Integration testing infrastructure for the GStreamer framework";
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-validate/${name}.tar.xz"; url = "${meta.homepage}/src/gst-validate/${name}.tar.xz";
sha256 = "17j812pkzgbyn9ys3b305yl5mrf9nbm8whwj4iqdskr742fr8fai"; sha256 = "1pzzxqkv1spjrzpzpazdm2h4s2wk7gg5gag8nxj5v2gjfyzhiprk";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View file

@ -1,10 +1,10 @@
{ fetchurl, stdenv, pkgconfig, python, pygobject3 { fetchurl, stdenv, meson, ninja, pkgconfig, python, pygobject3
, gst-plugins-base, ncurses , gst-plugins-base, ncurses
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gst-python"; pname = "gst-python";
version = "1.12.3"; version = "1.14.0";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
@ -12,22 +12,25 @@ stdenv.mkDerivation rec {
"${meta.homepage}/src/gst-python/${name}.tar.xz" "${meta.homepage}/src/gst-python/${name}.tar.xz"
"mirror://gentoo/distfiles/${name}.tar.xz" "mirror://gentoo/distfiles/${name}.tar.xz"
]; ];
sha256 = "19rb06x2m7103zwfm0plxx95gb8bp01ng04h4q9k6ii9q7g2kxf3"; sha256 = "1rlr6gl4lg97ng4jxh3gb2ldmywm15vwsa72nvggr8qa2l8q3fg0";
}; };
patches = [ ./different-path-with-pygobject.patch ];
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig python ]; nativeBuildInputs = [ meson ninja pkgconfig python ];
# XXX: in the Libs.private field of python3.pc # XXX: in the Libs.private field of python3.pc
buildInputs = [ ncurses ]; buildInputs = [ ncurses ];
configureFlags = [ mesonFlags = [
"--with-pygi-overrides-dir=$(out)/${python.sitePackages}/gi/overrides" "-Dpygi-overrides-dir=${python.sitePackages}/gi/overrides"
]; ];
postPatch = ''
chmod +x scripts/pythondetector # patchShebangs requires executable file
patchShebangs scripts/pythondetector
'';
propagatedBuildInputs = [ gst-plugins-base pygobject3 ]; propagatedBuildInputs = [ gst-plugins-base pygobject3 ];
# Needed for python.buildEnv # Needed for python.buildEnv