summaryrefslogtreecommitdiff
path: root/media-libs/gstreamer
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/gstreamer')
-rw-r--r--media-libs/gstreamer/Manifest14
-rw-r--r--media-libs/gstreamer/files/gstreamer-0.10.36-disable-test_fail_abstract_new.patch35
-rw-r--r--media-libs/gstreamer/files/gstreamer-1.10.3-automagic-libunwind.patch54
-rw-r--r--media-libs/gstreamer/files/gstreamer-make-grammar.y-work-with-bison-3.patch33
-rw-r--r--media-libs/gstreamer/gstreamer-0.10.36-r2.ebuild119
-rw-r--r--media-libs/gstreamer/gstreamer-1.10.3.ebuild111
-rw-r--r--media-libs/gstreamer/gstreamer-1.10.5.ebuild111
-rw-r--r--media-libs/gstreamer/gstreamer-1.12.3.ebuild108
-rw-r--r--media-libs/gstreamer/metadata.xml15
9 files changed, 600 insertions, 0 deletions
diff --git a/media-libs/gstreamer/Manifest b/media-libs/gstreamer/Manifest
new file mode 100644
index 000000000000..972200294d59
--- /dev/null
+++ b/media-libs/gstreamer/Manifest
@@ -0,0 +1,14 @@
+AUX gstreamer-0.10.36-disable-test_fail_abstract_new.patch 1319 SHA256 05f71ddb15e048cc5ac04362e85892e42077b8bce5e3efb573000d6384b03d6e SHA512 6d2ef5d837551481c85b75edc9246049ca237d8b7efd462646a39ce5526a9b309a6390f2257930bfc54383c9b13447002b2c61f777d38e717995eee6030f5198 WHIRLPOOL 501c5ac7ac73bececad06bda4f21c2131d305d13a773c9e59160e8df9f33bb7989c3ae544e093ee240d8e3e27f315b23e494f5927b2de64ba2fded92eb42ef58
+AUX gstreamer-1.10.3-automagic-libunwind.patch 1673 SHA256 07c50ad3526c46f1c76eb70426160fc5ae12576598492713c05d4b32a95a5bf7 SHA512 ecb02165a3af362bf5dbbb37a3a10c9c8b0462cf1ede67ae7e6ebfa4a065fc328ca1b40b935a8ccec0ef438c6419e418d99e68751f2ee9f03490d6b878feef8a WHIRLPOOL 8d5818b7855a517b0f0f0a8eb69ae3733301833d5ea7712e4634a78704444b5ad0c4bcd0095064366ea0611bf0ee50e18a65743c543490dae16ed4d76f8caa52
+AUX gstreamer-make-grammar.y-work-with-bison-3.patch 820 SHA256 6211ca3d1ee197cf9a0689ce47f536dc9d065ffbcd6ac6137925f2224b7f37f8 SHA512 8f5e904cc42be918c0a170c7227e22d0a31b5eb613a44294dbc03e5b1d7315d565f29d3de796ffbca822fe53b10b83bea54694b58ff2bf453af4b8859741ee21 WHIRLPOOL 89e04b36fe418dc0b43db49cd113c4a5eb8fea8813969cd30a5c2238872de784940da58ac4d2c705a219a3d7053cd31c52762edf221ee539a6f57dd08382421e
+DIST gstreamer-0.10.36.tar.xz 3025876 SHA256 9151aa108c177054387885763fa0e433e76780f7c5655c70a5390f2a6c6871da SHA512 7468abb578398681d2adb0e9bbc9ee8ae25aaef72369d45a66ada6c67d1759afdce606cb32e68d9e30ae813196bdfef3d4d33202bc77839cc1fbf5fc436c1bd8 WHIRLPOOL 03b841624552be860d4bf824bde9d6d5d6afc629048244b02037c96370c88191f34a6d09f02af61f295a9d6f84952efec2c5d4b0a28e8e70cd17966ed1b01d93
+DIST gstreamer-1.10.3.tar.xz 3797056 SHA256 85b9dc1b2991f224fa90d534ec57014896c479e061dc9fa1bc16ae17cbebb63d SHA512 f601020026e159a8f52ade2fac2b25fb804a88bc6c04dc86ae9df64dc06b5b2315bb2209f8d3c17ca9f63379c9ab631d706c6138e4ed88db254442c05936774c WHIRLPOOL 30d9dde211767d35699c8f272b51389cf9a7856fbd2445dfe6d84cfd16f0c24653fc4615c510a61440ed59bb9ceedb33a9a89b691464673599fa203cc01203a9
+DIST gstreamer-1.10.5.tar.xz 3798304 SHA256 bc06243600817f637029da29d089d5908d1d266542f68bf6626a10c5f05f1f1d SHA512 c138d672966232a4eb0fb4c49dbb39a7942d06b6474c9ee2c884eed2d470674dcbc4a3e2c7338472ac25b710788078241217391e7e5bc076ef21216cbaf0bc31 WHIRLPOOL bf915f18fd157b54f261891b1da434a99827d41236d2c699dce30efdbb4cd6139921c02866a0dff88da4db25fb3e09faca9eda494f74c354dec041a44262db45
+DIST gstreamer-1.12.3.tar.xz 3175480 SHA256 d388f492440897f02b01eebb033ca2d41078a3d85c0eddc030cdea5a337a216e SHA512 fceeeca4314aead7ff358db3474bd6fe1eef70f745a6ba20505da6c0caaea6ea6317246dc66c23edab396ca811a610c52fa930f8f99c701241ae7f15857aa2b0 WHIRLPOOL e9004b36af5964a3c0e947ea46fa643967a385d8bb0e92b60fc7882c3129b8ee576b93296fea607e115aaf196d0a10871862088688a6f6a3621ee0e69692ab8b
+EBUILD gstreamer-0.10.36-r2.ebuild 3975 SHA256 2231c1166a0e2fc9d8bf881132d0e17aa82ad76e93aeb35814259f3a54fd3b3d SHA512 b3e544ebed44ab38c1fa3dea0dc776abac7920a3674d12ad09b82ace577d5ee2cc367647165da15d227e0a12670248557fb7431eb9b764468feac8040c6f2623 WHIRLPOOL 76ba8f6d005c0031b93a0cac28da317aad83a4fbc465b1e326a0bb2ac72ce2d21ff5d337f1a2310965b88b32796a2f423019e1832cda2346c34936b8c4b051cb
+EBUILD gstreamer-1.10.3.ebuild 3464 SHA256 35af18c95f25ec63ee6e96d23fe1558f1b623f72a8c8d4b02ce7d771857de8f5 SHA512 c91c0e6e44d7196743070f1f0aa738a82929f1c5fe18cd12d8ba4e7df818e08f44016b06547ac5ddd0e9dc858b5b090470779319aa4f94c7e6eca638967b7ae3 WHIRLPOOL 0b7e2cd7e9e80d43c749d2682689823254cd2feb0e0ece4bac70ada86730c64888a3c29d7e7a805e64854a9feacea8fa3ff60dec10285603c6a66efd2251e3af
+EBUILD gstreamer-1.10.5.ebuild 3476 SHA256 0df9978f16c8c2d1966b78ec72fd969b65782595718d0714a32dc8be7d8156bc SHA512 cd69fac13dd3fddba2d960bfd4d3d8e70b8c328e78e3c9c9295c02530444a04c4dc1d881583f00a28dad8c2a0e39ce9abe26cf18e4e3212d8f41ff737a9c90a8 WHIRLPOOL ea4c2e70a90357b850e9619bda06b25fc64d3306dfd9f504dfba393c344ad699fbbb2a023718efb0614198cfba56b6f8113eb75b11871a5d85f30ce7e69537b1
+EBUILD gstreamer-1.12.3.ebuild 3317 SHA256 6d06afb231875dbfa79c2071cbcda184efc187863b4d5a1af0b04900d92f2d28 SHA512 09bd0dd2379d55f5671cccfa7837676e726e1cd5530b42cf63c3de3742fa3aa1a74706c1c926e9f553df1daa4043c010edf9783916094cf6d01b6ca85f703865 WHIRLPOOL 2c8e448e9556054b085ce8e147662f03c112eadd042042b88b7d5857ec3e9a8d95f2a94690197ac8cb24822d9424fe4b9029dc25bae428fa1899c9356b911820
+MISC ChangeLog 8762 SHA256 fc5ded641546c9e081f8fb20662e0e271a154c3087d998c2ce20698edb840bb5 SHA512 6bb4e28841eebf7c8c9eb30f5c44aaaa2946c090bba8277d62950e1f1c4285e7762f62c7a33367daf487620d69fac344d816d2f7de8ee5f90debba4ffb9fd6e3 WHIRLPOOL 59646a3a824f8c8bbfe82cf7b71d93ac1f8f0fad88bd94d2a7974194153842117f767ede8cd29a0cebcae92d5ee01143490cf40d486903fa0cc6c1ba39e86401
+MISC ChangeLog-2015 53039 SHA256 0cde866a9bc1acf9e5006a41315e7713890ea89346de132a6c12dff47d092ccf SHA512 c6af4351b82ab48605b7b52e05ad53c395d65f03de5de2c44e5592a216be6b844ddcdd2406e5ea52986bb51d385b5793a3b1fe3394eedf07768816202d2785b9 WHIRLPOOL 1aa2c097ff5e064cea22aa339800afe51f546010f5994a33705265249cf4265b12f07ef2d7842c63766d96f394ea8b696349b3707b3563e5de3541456e8ea8c4
+MISC metadata.xml 586 SHA256 b8ee7439b59d40cbbd4ccacf6fee8c4718acea538a44d40d7c8d8136b109a3c0 SHA512 f7de0325f671119a5b787dcba9572d06d58375ba9d815854beffd668da55e4d4695f586365b3455e63cd56f4469fb8e1a92ab6de4e05847668f56c076dfdaf57 WHIRLPOOL d30c76baeddbbd031624f2511b8ed393ce091e5955e1abf9528ea27c20d563f73c3811bdd09d603f139628a53f61661b3a638a86b5a04386f44bb513bde9d78a
diff --git a/media-libs/gstreamer/files/gstreamer-0.10.36-disable-test_fail_abstract_new.patch b/media-libs/gstreamer/files/gstreamer-0.10.36-disable-test_fail_abstract_new.patch
new file mode 100644
index 000000000000..8162478232ae
--- /dev/null
+++ b/media-libs/gstreamer/files/gstreamer-0.10.36-disable-test_fail_abstract_new.patch
@@ -0,0 +1,35 @@
+From e4707bfb24a8175018975a542f6e1c3b84ac02dd Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Sun, 21 Oct 2012 00:26:24 -0400
+Subject: [PATCH] test: disable test_fail_abstract_new
+
+Depending on how glib is configured, whether there are systemwide
+debugging tools running, etc., this test can produce other signals, not
+necessarily signal 11.
+---
+ tests/check/gst/gstobject.c | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/tests/check/gst/gstobject.c b/tests/check/gst/gstobject.c
+index d5956db..25995bf 100644
+--- a/tests/check/gst/gstobject.c
++++ b/tests/check/gst/gstobject.c
+@@ -531,15 +531,6 @@ gst_object_suite (void)
+
+ /* FIXME: GLib shouldn't crash here, but issue a warning and return a NULL
+ * object, or at least g_error() and then abort properly ... (tpm) */
+-#ifndef HAVE_OSX
+- /* Disabled for OS/X because a) it's a pretty silly test anyway and
+- * b) different OS/X versions raise different signals and it isn't worth
+- * the effort to try and detect which one should be producing which
+- */
+- /* SEGV tests go last so we can debug the others */
+- if (g_getenv ("CK_FORK") == NULL || strcmp (g_getenv ("CK_FORK"), "no") != 0)
+- tcase_add_test_raise_signal (tc_chain, test_fail_abstract_new, SIGSEGV);
+-#endif
+
+ return s;
+ }
+--
+1.7.12.3
+
diff --git a/media-libs/gstreamer/files/gstreamer-1.10.3-automagic-libunwind.patch b/media-libs/gstreamer/files/gstreamer-1.10.3-automagic-libunwind.patch
new file mode 100644
index 000000000000..472726f56101
--- /dev/null
+++ b/media-libs/gstreamer/files/gstreamer-1.10.3-automagic-libunwind.patch
@@ -0,0 +1,54 @@
+From 930fc152babda61d2eab05f0c9cc1a1928ead731 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Sun, 5 Feb 2017 09:03:46 +0200
+Subject: [PATCH] configure: Allow specifying libunwind usage explicitly
+
+https://bugzilla.gnome.org/show_bug.cgi?id=778193
+---
+ configure.ac | 23 ++++++++++++++++++-----
+ 1 file changed, 18 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5081a75..5905430 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -827,7 +827,24 @@ fi
+ AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
+
+ dnl libunwind is optionally used by the leaks tracer
+-PKG_CHECK_MODULES(UNWIND, libunwind, HAVE_UNWIND=yes, HAVE_UNWIND=no)
++AC_ARG_ENABLE(libunwind,
++ AS_HELP_STRING([--disable-libunwind],[disable using libunwind inside leaks tracer @<:@default=auto@:>@]),
++ [LIBUNWIND="$enableval"], [LIBUNWIND="auto"])
++
++if test "x$LIBUNWIND" != "xno"; then
++ PKG_CHECK_MODULES(UNWIND, libunwind, [
++ HAVE_UNWIND=yes
++ AC_DEFINE(HAVE_UNWIND, 1, [libunwind available])
++ ], [
++ HAVE_UNWIND=no
++ if test "x$LIBUNWIND" = "xyes"; then
++ AC_MSG_ERROR([libunwind requested but not installed.])
++ fi
++ ])
++else
++ HAVE_UNWIND=no
++fi
++AM_CONDITIONAL(HAVE_UNWIND, [test "x$HAVE_UNWIND" = "xyes"])
+
+ dnl Check for backtrace() from libc
+ AC_CHECK_FUNC(backtrace, [
+@@ -836,10 +853,6 @@ AC_CHECK_FUNC(backtrace, [
+ ], [], [])
+ ])
+
+-if test "x$HAVE_UNWIND" = "xyes"; then
+- AC_DEFINE(HAVE_UNWIND, 1, [libunwind available])
+-fi
+-
+ dnl building of unit test libraries
+ AC_ARG_ENABLE(check,
+ AS_HELP_STRING([--disable-check],[disable building unit test libraries]),
+--
+2.10.1
+
diff --git a/media-libs/gstreamer/files/gstreamer-make-grammar.y-work-with-bison-3.patch b/media-libs/gstreamer/files/gstreamer-make-grammar.y-work-with-bison-3.patch
new file mode 100644
index 000000000000..56bd5979c504
--- /dev/null
+++ b/media-libs/gstreamer/files/gstreamer-make-grammar.y-work-with-bison-3.patch
@@ -0,0 +1,33 @@
+From 90622bb35544655cf641e3ab65cf35a6d01869bc Mon Sep 17 00:00:00 2001
+From: Kerrick Staley <kerrick@kerrickstaley.com>
+Date: Tue, 20 Aug 2013 23:59:29 -0700
+Subject: [PATCH] Make grammar.y work with Bison 3
+
+YYLEX_PARAM is no longer supported in Bison 3.
+---
+ gst/parse/grammar.y | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y
+index 8a9019c..f533389 100644
+--- a/gst/parse/grammar.y
++++ b/gst/parse/grammar.y
+@@ -26,7 +26,6 @@
+ */
+
+ #define YYERROR_VERBOSE 1
+-#define YYLEX_PARAM scanner
+
+ #define YYENABLE_NLS 0
+
+@@ -659,6 +658,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s);
+ %right '.'
+ %left '!' '='
+
++%lex-param { void *scanner }
+ %parse-param { void *scanner }
+ %parse-param { graph_t *graph }
+ %pure-parser
+--
+1.8.3.4
+
diff --git a/media-libs/gstreamer/gstreamer-0.10.36-r2.ebuild b/media-libs/gstreamer/gstreamer-0.10.36-r2.ebuild
new file mode 100644
index 000000000000..9164c7e059e0
--- /dev/null
+++ b/media-libs/gstreamer/gstreamer-0.10.36-r2.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils multilib multilib-minimal pax-utils
+
+DESCRIPTION="Streaming media framework"
+HOMEPAGE="https://gstreamer.freedesktop.org/"
+SRC_URI="https://${PN}.freedesktop.org/src/${PN}/${P}.tar.xz"
+
+LICENSE="LGPL-2+"
+SLOT="0.10"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="+introspection nls +orc test"
+
+RDEPEND=">=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+ >=dev-libs/libxml2-2.9.1-r4[${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-0.6.8 )"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils
+ >=dev-util/gtk-doc-am-1.3
+ sys-devel/bison
+ sys-devel/flex
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ nls? ( sys-devel/gettext )"
+# gtk-doc-am to install API docs
+RDEPEND="${RDEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-medialibs-20140508-r5
+ !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
+ )
+ !<media-libs/gst-plugins-base-0.10.26"
+ # ^^ queue2 move, mustn't have both libgstcoreleements.so and libgstqueue2.so at runtime providing the element at once
+
+src_prepare() {
+ # Disable silly test that's not guaranteed to pass on an arbitrary machine
+ epatch "${FILESDIR}/${PN}-0.10.36-disable-test_fail_abstract_new.patch"
+
+ # Fix compilation with >=sys-devel/bison-3.0 (#478676)
+ epatch "${FILESDIR}/${PN}-make-grammar.y-work-with-bison-3.patch"
+
+ # Disable windows-portability tests that are relevant only on x86 and amd64
+ # and can fail on other arches (bug #455038)
+ if [[ ${ABI} != x86 && ${ABI} != amd64 ]]; then
+ sed -e 's#check:\(.*\)$(CHECK_EXPORTS)#check:\1#' -i Makefile.{am,in} || die
+ fi
+}
+
+src_configure() {
+ if [[ ${CHOST} == *-interix* ]] ; then
+ export ac_cv_lib_dl_dladdr=no
+ export ac_cv_func_poll=no
+ fi
+ if [[ ${CHOST} == powerpc-apple-darwin* ]] ; then
+ # GCC groks this, but then refers to an implementation (___multi3,
+ # ___udivti3) that don't exist (at least I can't find it), so force
+ # this one to be off, such that we use 2x64bit emulation code.
+ export gst_cv_uint128_t=no
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # Set 'libexecdir' to ABI-specific location for the library spawns
+ # helpers from there.
+ # Disable static archives, dependency tracking and examples
+ # to speed up build time
+ # Disable debug, as it only affects -g passing (debugging symbols), this must done through make.conf in gentoo
+ ECONF_SOURCE=${S} \
+ econf \
+ --libexecdir="${EPREFIX}"/usr/$(get_libdir) \
+ --disable-static \
+ $(use_enable nls) \
+ --disable-valgrind \
+ --disable-examples \
+ --disable-debug \
+ --enable-check \
+ $(multilib_native_use_enable introspection) \
+ $(use_enable test tests) \
+ --with-package-name="GStreamer ebuild for Gentoo" \
+ --with-package-origin="https://packages.gentoo.org/package/media-libs/gstreamer"
+
+ if multilib_is_native_abi; then
+ local x
+ for x in gst libs plugins; do
+ ln -s "${S}"/docs/${x}/html docs/${x}/html || die
+ done
+ fi
+}
+
+multilib_src_install() {
+ # can't do "default", we want to install docs in multilib_src_install_all
+ emake DESTDIR="${D}" install
+
+ # Needed for orc-using gst plugins on hardened/PaX systems, bug #421579
+ use orc && pax-mark -m "${ED}usr/$(get_libdir)/gstreamer-${SLOT}/gst-plugin-scanner"
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog NEWS MAINTAINERS README RELEASE"
+ einstalldocs
+
+ # Remove unversioned binaries to allow SLOT installations in future
+ cd "${ED%/}"/usr/bin || die
+ local gst_bins
+ for gst_bins in *-${SLOT} ; do
+ [[ -e ${gst_bins} ]] || continue
+ rm ${gst_bins/-${SLOT}/}
+ einfo "Removed ${gst_bins/-${SLOT}/}"
+ done
+
+ # Punt useless .la files
+ prune_libtool_files --modules
+
+ # Needed for orc-using gst plugins on hardened/PaX systems, bug #421579
+ use orc && pax-mark -m "${ED}usr/bin/gst-launch-${SLOT}"
+}
diff --git a/media-libs/gstreamer/gstreamer-1.10.3.ebuild b/media-libs/gstreamer/gstreamer-1.10.3.ebuild
new file mode 100644
index 000000000000..6858ef0cfad4
--- /dev/null
+++ b/media-libs/gstreamer/gstreamer-1.10.3.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 eutils multilib-minimal pax-utils autotools
+
+DESCRIPTION="Open source multimedia framework"
+HOMEPAGE="https://gstreamer.freedesktop.org/"
+SRC_URI="https://${PN}.freedesktop.org/src/${PN}/${P}.tar.xz"
+
+LICENSE="LGPL-2+"
+SLOT="1.0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="+caps +introspection nls +orc test unwind"
+
+RDEPEND="
+ >=dev-libs/glib-2.40.0:2[${MULTILIB_USEDEP}]
+ caps? ( sys-libs/libcap[${MULTILIB_USEDEP}] )
+ introspection? ( >=dev-libs/gobject-introspection-1.31.1:= )
+ unwind? ( >=sys-libs/libunwind-1.2_rc1[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.12
+ sys-devel/bison
+ sys-devel/flex
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ nls? ( sys-devel/gettext )
+"
+# gtk-doc-am to install API docs
+
+# https://bugzilla.gnome.org/show_bug.cgi?id=778193 (remove src_prepare/eautoreconf once not needed on bump)
+PATCHES=( "${FILESDIR}"/${P}-automagic-libunwind.patch )
+
+src_prepare() {
+ default
+ eautoreconf # Due to automagic libunwind fix
+}
+
+src_configure() {
+ if [[ ${CHOST} == *-interix* ]] ; then
+ export ac_cv_lib_dl_dladdr=no
+ export ac_cv_func_poll=no
+ fi
+ if [[ ${CHOST} == powerpc-apple-darwin* ]] ; then
+ # GCC groks this, but then refers to an implementation (___multi3,
+ # ___udivti3) that don't exist (at least I can't find it), so force
+ # this one to be off, such that we use 2x64bit emulation code.
+ export gst_cv_uint128_t=no
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # Set 'libexecdir' to ABI-specific location for the library spawns
+ # helpers from there.
+ # Disable static archives and examples to speed up build time
+ # Disable debug, as it only affects -g passing (debugging symbols), this must done through make.conf in gentoo
+ local myconf=(
+ --libexecdir="${EPREFIX}"/usr/$(get_libdir)
+ --disable-debug
+ --disable-examples
+ --disable-static
+ --disable-valgrind
+ --enable-check
+ $(use_enable unwind libunwind)
+ $(multilib_native_use_enable introspection)
+ $(use_enable nls)
+ $(use_enable test tests)
+ --with-bash-completion-dir="$(get_bashcompdir)"
+ --with-package-name="GStreamer ebuild for Gentoo"
+ --with-package-origin="https://packages.gentoo.org/package/media-libs/gstreamer"
+ )
+
+ if use caps ; then
+ myconf+=( --with-ptp-helper-permissions=capabilities )
+ else
+ myconf+=(
+ --with-ptp-helper-permissions=setuid-root
+ --with-ptp-helper-setuid-user=nobody
+ --with-ptp-helper-setuid-group=nobody
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+
+ if multilib_is_native_abi; then
+ local x
+ for x in gst libs plugins; do
+ ln -s "${S}"/docs/${x}/html docs/${x}/html || die
+ done
+ fi
+}
+
+multilib_src_install() {
+ # can't do "default", we want to install docs in multilib_src_install_all
+ emake DESTDIR="${D}" install
+
+ # Needed for orc-using gst plugins on hardened/PaX systems, bug #421579
+ use orc && pax-mark -m "${ED}usr/$(get_libdir)/gstreamer-${SLOT}/gst-plugin-scanner"
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog NEWS MAINTAINERS README RELEASE"
+ einstalldocs
+ prune_libtool_files --modules
+
+ # Needed for orc-using gst plugins on hardened/PaX systems, bug #421579
+ use orc && pax-mark -m "${ED}usr/bin/gst-launch-${SLOT}"
+}
diff --git a/media-libs/gstreamer/gstreamer-1.10.5.ebuild b/media-libs/gstreamer/gstreamer-1.10.5.ebuild
new file mode 100644
index 000000000000..70ae784e9bc5
--- /dev/null
+++ b/media-libs/gstreamer/gstreamer-1.10.5.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 eutils multilib-minimal pax-utils autotools
+
+DESCRIPTION="Open source multimedia framework"
+HOMEPAGE="https://gstreamer.freedesktop.org/"
+SRC_URI="https://${PN}.freedesktop.org/src/${PN}/${P}.tar.xz"
+
+LICENSE="LGPL-2+"
+SLOT="1.0"
+KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="+caps +introspection nls +orc test unwind"
+
+RDEPEND="
+ >=dev-libs/glib-2.40.0:2[${MULTILIB_USEDEP}]
+ caps? ( sys-libs/libcap[${MULTILIB_USEDEP}] )
+ introspection? ( >=dev-libs/gobject-introspection-1.31.1:= )
+ unwind? ( >=sys-libs/libunwind-1.2_rc1[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.12
+ sys-devel/bison
+ sys-devel/flex
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ nls? ( sys-devel/gettext )
+"
+# gtk-doc-am to install API docs
+
+# https://bugzilla.gnome.org/show_bug.cgi?id=778193 (remove src_prepare/eautoreconf once not needed on bump)
+PATCHES=( "${FILESDIR}"/${PN}-1.10.3-automagic-libunwind.patch )
+
+src_prepare() {
+ default
+ eautoreconf # Due to automagic libunwind fix
+}
+
+src_configure() {
+ if [[ ${CHOST} == *-interix* ]] ; then
+ export ac_cv_lib_dl_dladdr=no
+ export ac_cv_func_poll=no
+ fi
+ if [[ ${CHOST} == powerpc-apple-darwin* ]] ; then
+ # GCC groks this, but then refers to an implementation (___multi3,
+ # ___udivti3) that don't exist (at least I can't find it), so force
+ # this one to be off, such that we use 2x64bit emulation code.
+ export gst_cv_uint128_t=no
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # Set 'libexecdir' to ABI-specific location for the library spawns
+ # helpers from there.
+ # Disable static archives and examples to speed up build time
+ # Disable debug, as it only affects -g passing (debugging symbols), this must done through make.conf in gentoo
+ local myconf=(
+ --libexecdir="${EPREFIX}"/usr/$(get_libdir)
+ --disable-debug
+ --disable-examples
+ --disable-static
+ --disable-valgrind
+ --enable-check
+ $(use_enable unwind libunwind)
+ $(multilib_native_use_enable introspection)
+ $(use_enable nls)
+ $(use_enable test tests)
+ --with-bash-completion-dir="$(get_bashcompdir)"
+ --with-package-name="GStreamer ebuild for Gentoo"
+ --with-package-origin="https://packages.gentoo.org/package/media-libs/gstreamer"
+ )
+
+ if use caps ; then
+ myconf+=( --with-ptp-helper-permissions=capabilities )
+ else
+ myconf+=(
+ --with-ptp-helper-permissions=setuid-root
+ --with-ptp-helper-setuid-user=nobody
+ --with-ptp-helper-setuid-group=nobody
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+
+ if multilib_is_native_abi; then
+ local x
+ for x in gst libs plugins; do
+ ln -s "${S}"/docs/${x}/html docs/${x}/html || die
+ done
+ fi
+}
+
+multilib_src_install() {
+ # can't do "default", we want to install docs in multilib_src_install_all
+ emake DESTDIR="${D}" install
+
+ # Needed for orc-using gst plugins on hardened/PaX systems, bug #421579
+ use orc && pax-mark -m "${ED}usr/$(get_libdir)/gstreamer-${SLOT}/gst-plugin-scanner"
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog NEWS MAINTAINERS README RELEASE"
+ einstalldocs
+ prune_libtool_files --modules
+
+ # Needed for orc-using gst plugins on hardened/PaX systems, bug #421579
+ use orc && pax-mark -m "${ED}usr/bin/gst-launch-${SLOT}"
+}
diff --git a/media-libs/gstreamer/gstreamer-1.12.3.ebuild b/media-libs/gstreamer/gstreamer-1.12.3.ebuild
new file mode 100644
index 000000000000..7dbc9a45fe81
--- /dev/null
+++ b/media-libs/gstreamer/gstreamer-1.12.3.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 eutils multilib-minimal pax-utils
+
+DESCRIPTION="Open source multimedia framework"
+HOMEPAGE="https://gstreamer.freedesktop.org/"
+SRC_URI="https://${PN}.freedesktop.org/src/${PN}/${P}.tar.xz"
+
+LICENSE="LGPL-2+"
+SLOT="1.0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="+caps +introspection nls +orc test unwind"
+
+RDEPEND="
+ >=dev-libs/glib-2.40.0:2[${MULTILIB_USEDEP}]
+ caps? ( sys-libs/libcap[${MULTILIB_USEDEP}] )
+ introspection? ( >=dev-libs/gobject-introspection-1.31.1:= )
+ unwind? (
+ >=sys-libs/libunwind-1.2_rc1[${MULTILIB_USEDEP}]
+ dev-libs/elfutils[${MULTILIB_USEDEP}]
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.12
+ sys-devel/bison
+ sys-devel/flex
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ nls? ( sys-devel/gettext )
+"
+# gtk-doc-am to install API docs
+
+src_configure() {
+ if [[ ${CHOST} == *-interix* ]] ; then
+ export ac_cv_lib_dl_dladdr=no
+ export ac_cv_func_poll=no
+ fi
+ if [[ ${CHOST} == powerpc-apple-darwin* ]] ; then
+ # GCC groks this, but then refers to an implementation (___multi3,
+ # ___udivti3) that don't exist (at least I can't find it), so force
+ # this one to be off, such that we use 2x64bit emulation code.
+ export gst_cv_uint128_t=no
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local completiondir=$(get_bashcompdir)
+ # Set 'libexecdir' to ABI-specific location for the library spawns
+ # helpers from there.
+ # Disable static archives and examples to speed up build time
+ # Disable debug, as it only affects -g passing (debugging symbols), this must done through make.conf in gentoo
+ local myconf=(
+ --libexecdir="${EPREFIX}"/usr/$(get_libdir)
+ --disable-debug
+ --disable-examples
+ --disable-static
+ --disable-valgrind
+ --enable-check
+ $(use_with unwind)
+ $(use_with unwind dw)
+ $(multilib_native_use_enable introspection)
+ $(use_enable nls)
+ $(use_enable test tests)
+ --with-bash-completion-dir="${completiondir%/*}"
+ --with-package-name="GStreamer ebuild for Gentoo"
+ --with-package-origin="https://packages.gentoo.org/package/media-libs/gstreamer"
+ )
+
+ if use caps ; then
+ myconf+=( --with-ptp-helper-permissions=capabilities )
+ else
+ myconf+=(
+ --with-ptp-helper-permissions=setuid-root
+ --with-ptp-helper-setuid-user=nobody
+ --with-ptp-helper-setuid-group=nobody
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+
+ if multilib_is_native_abi; then
+ local x
+ for x in gst libs plugins; do
+ ln -s "${S}"/docs/${x}/html docs/${x}/html || die
+ done
+ fi
+}
+
+multilib_src_install() {
+ # can't do "default", we want to install docs in multilib_src_install_all
+ emake DESTDIR="${D}" install
+
+ # Needed for orc-using gst plugins on hardened/PaX systems, bug #421579
+ use orc && pax-mark -m "${ED}usr/$(get_libdir)/gstreamer-${SLOT}/gst-plugin-scanner"
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog NEWS MAINTAINERS README RELEASE"
+ einstalldocs
+ prune_libtool_files --modules
+
+ # Needed for orc-using gst plugins on hardened/PaX systems, bug #421579
+ use orc && pax-mark -m "${ED}usr/bin/gst-launch-${SLOT}"
+}
diff --git a/media-libs/gstreamer/metadata.xml b/media-libs/gstreamer/metadata.xml
new file mode 100644
index 000000000000..9834236e32c6
--- /dev/null
+++ b/media-libs/gstreamer/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gstreamer@gentoo.org</email>
+ <name>GStreamer package maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="orc">Disable some PaX memory protections to allow plugins
+ that use <pkg>dev-lang/orc</pkg> for runtime optimization to be
+ used on hardened PaX systems</flag>
+ <flag name="unwind">Enable <pkg>sys-libs/libunwind</pkg> usage for better
+ backtrace support in leaks tracer module</flag>
+ </use>
+</pkgmetadata>