summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2017-09-13 10:04:30 +0300
committerMart Raudsepp <leio@gentoo.org>2017-09-16 22:43:11 +0300
commit47b6187403f96775a8ed013d80700f59df32ee3e (patch)
tree9ae05503a59120d8687c424156b55a1dd5520976 /media-libs
parentdev-lang/orc: bump to 0.4.27 (diff)
downloadgentoo-47b6187403f96775a8ed013d80700f59df32ee3e.tar.gz
gentoo-47b6187403f96775a8ed013d80700f59df32ee3e.tar.bz2
gentoo-47b6187403f96775a8ed013d80700f59df32ee3e.zip
media-libs/gstreamer: bump to 1.12.2, fix bash completion
Closes: https://bugs.gentoo.org/612426 Package-Manager: Portage-2.3.6, Repoman-2.3.2
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/gstreamer/Manifest1
-rw-r--r--media-libs/gstreamer/files/gstreamer-1.12.2-automagic.patch168
-rw-r--r--media-libs/gstreamer/gstreamer-1.12.2.ebuild116
3 files changed, 285 insertions, 0 deletions
diff --git a/media-libs/gstreamer/Manifest b/media-libs/gstreamer/Manifest
index e2a1927771e1..dcdbe7e49a7d 100644
--- a/media-libs/gstreamer/Manifest
+++ b/media-libs/gstreamer/Manifest
@@ -1,3 +1,4 @@
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.2.tar.xz 3172260 SHA256 9fde3f39a2ea984f9e07ce09250285ce91f6e3619d186889f75b5154ecf994ba SHA512 5d992a3727dc53478fd895d3c88ebdafcb6d5d0191a5ec8098ac5fe821e4f3c83451b4b1b089f08db0ed2475a97d3f1fcd1282581bcd106cf655914463891a5e WHIRLPOOL f9f68d331fce2360c8fa5f95d027c6928254b169dcae417c6251cb9736f424587b92bb8fd52d208fcefa6ea5ba081bc2957bebbe44d8d94b64040a1bd1b99d12
diff --git a/media-libs/gstreamer/files/gstreamer-1.12.2-automagic.patch b/media-libs/gstreamer/files/gstreamer-1.12.2-automagic.patch
new file mode 100644
index 000000000000..98d504579ef4
--- /dev/null
+++ b/media-libs/gstreamer/files/gstreamer-1.12.2-automagic.patch
@@ -0,0 +1,168 @@
+From e7c33f24ed43189c84cc3a31260ad4963a6bb9c7 Mon Sep 17 00:00:00 2001
+From: Edward Hervey <edward@centricular.com>
+Date: Tue, 11 Jul 2017 15:29:44 +0200
+Subject: [PATCH 1/3] pkgconfig: Add private requirements
+
+Add libunwind and dw to the .pc Requires.private. Fixes static library
+compilation if gstreamer was compiled with one of those dependencies
+
+https://bugzilla.gnome.org/show_bug.cgi?id=784795
+---
+ configure.ac | 4 ++++
+ pkgconfig/gstreamer-uninstalled.pc.in | 2 +-
+ pkgconfig/gstreamer.pc.in | 2 +-
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b6b2923..de9fcae 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -824,12 +824,16 @@ dnl libunwind is optionally used by the leaks tracer
+ PKG_CHECK_MODULES(UNWIND, libunwind, HAVE_UNWIND=yes, HAVE_UNWIND=no)
+ if test "x$HAVE_UNWIND" = "xyes"; then
+ AC_DEFINE(HAVE_UNWIND, 1, [libunwind available])
++ UNWIND_REQUIRE=libunwind
++ AC_SUBST(UNWIND_REQUIRE)
+ fi
+
+ dnl libdw is optionally used to add source lines and numbers to backtraces
+ PKG_CHECK_MODULES(DW, libdw, HAVE_DW=yes, HAVE_DW=no)
+ if test "x$HAVE_DW" = "xyes"; then
+ AC_DEFINE(HAVE_DW, 1, [libdw available])
++ DW_REQUIRE=libdw
++ AC_SUBST(DW_REQUIRE)
+ fi
+
+ dnl Check for backtrace() from libc
+diff --git a/pkgconfig/gstreamer-uninstalled.pc.in b/pkgconfig/gstreamer-uninstalled.pc.in
+index b8dcdf8..d071612 100644
+--- a/pkgconfig/gstreamer-uninstalled.pc.in
++++ b/pkgconfig/gstreamer-uninstalled.pc.in
+@@ -15,6 +15,6 @@ Name: GStreamer Uninstalled
+ Description: Streaming media framework, Not Installed
+ Version: @VERSION@
+ Requires: glib-2.0, gobject-2.0
+-Requires.private: gmodule-no-export-2.0
++Requires.private: gmodule-no-export-2.0 @UNWIND_REQUIRE@ @DW_REQUIRE@
+ Libs: -L${libdir} -lgstreamer-@GST_API_VERSION@
+ Cflags: -I@abs_top_srcdir@ -I@abs_top_srcdir@/libs -I@abs_top_builddir@ -I@abs_top_builddir@/libs
+diff --git a/pkgconfig/gstreamer.pc.in b/pkgconfig/gstreamer.pc.in
+index b949d6c..6ec3cb7 100644
+--- a/pkgconfig/gstreamer.pc.in
++++ b/pkgconfig/gstreamer.pc.in
+@@ -13,6 +13,6 @@ Name: GStreamer
+ Description: Streaming media framework
+ Version: @VERSION@
+ Requires: glib-2.0, gobject-2.0
+-Requires.private: gmodule-no-export-2.0
++Requires.private: gmodule-no-export-2.0 @UNWIND_REQUIRE@ @DW_REQUIRE@
+ Libs: -L${libdir} -lgstreamer-@GST_API_VERSION@
+ Cflags: -I${includedir}
+--
+2.10.2
+
+
+From 1c7f9a5025b7ec0b7cfed701e2a3681a2d2afe74 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
+Date: Tue, 11 Jul 2017 16:15:16 +0100
+Subject: [PATCH 2/3] meson: pkgconfig: add libunwind/libdw to gstreamer-1.0
+ Requires.private
+
+https://bugzilla.gnome.org/show_bug.cgi?id=784795
+---
+ pkgconfig/meson.build | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
+index 32f96cd..ae27ce3 100644
+--- a/pkgconfig/meson.build
++++ b/pkgconfig/meson.build
+@@ -7,6 +7,10 @@ pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
+ pkgconf.set('GST_API_VERSION', apiversion)
+ pkgconf.set('VERSION', gst_version)
+
++# Requires.private
++pkgconf.set('UNWIND_REQUIRE', cdata.has('HAVE_UNWIND') ? 'libunwind' : '')
++pkgconf.set('DW_REQUIRE', cdata.has('HAVE_DW') ? 'libdw' : '')
++
+ # needed for generating -uninstalled.pc files
+ pkgconf.set('abs_top_builddir', join_paths(meson.current_build_dir(), '..'))
+ pkgconf.set('abs_top_srcdir', join_paths(meson.current_source_dir(), '..'))
+--
+2.10.2
+
+
+From 2d358f8a4ab52574291927c7061109a74e8d12d7 Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <dv@pseudoterminal.org>
+Date: Fri, 11 Aug 2017 21:17:06 +0200
+Subject: [PATCH 3/3] configure: Add switches for enabling/disabling libdw and
+ libunwind
+
+https://bugzilla.gnome.org/show_bug.cgi?id=778193
+---
+ configure.ac | 46 ++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 36 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index de9fcae..6e0019a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -821,19 +821,45 @@ 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)
+-if test "x$HAVE_UNWIND" = "xyes"; then
+- AC_DEFINE(HAVE_UNWIND, 1, [libunwind available])
+- UNWIND_REQUIRE=libunwind
+- AC_SUBST(UNWIND_REQUIRE)
++AC_ARG_WITH([unwind],[AS_HELP_STRING([--with-unwind=yes|no|auto],[use libunwind])],
++ [], [with_unwind=auto])
++if [ test "x${with_unwind}" != "xno" ]; then
++ PKG_CHECK_MODULES(UNWIND, [libunwind],
++ [
++ HAVE_UNWIND=yes
++ AC_DEFINE(HAVE_UNWIND, 1, [libunwind available])
++ UNWIND_REQUIRE=libunwind
++ AC_SUBST(UNWIND_REQUIRE)
++ ],
++ [
++ HAVE_UNWIND=no
++ if [ test "x${with_unwind}" = "xyes" ]; then
++ AC_MSG_ERROR([could not find libunwind])
++ fi
++ ])
++else
++ HAVE_UNWIND=no
+ fi
+
+ dnl libdw is optionally used to add source lines and numbers to backtraces
+-PKG_CHECK_MODULES(DW, libdw, HAVE_DW=yes, HAVE_DW=no)
+-if test "x$HAVE_DW" = "xyes"; then
+- AC_DEFINE(HAVE_DW, 1, [libdw available])
+- DW_REQUIRE=libdw
+- AC_SUBST(DW_REQUIRE)
++AC_ARG_WITH([dw],[AS_HELP_STRING([--with-dw=yes|no|auto],[use libdw])],
++ [], [with_dw=auto])
++if [ test "x${with_dw}" != "xno" ]; then
++ PKG_CHECK_MODULES(DW, [libdw],
++ [
++ HAVE_DW=yes
++ AC_DEFINE(HAVE_DW, 1, [libdw available])
++ DW_REQUIRE=libdw
++ AC_SUBST(DW_REQUIRE)
++ ],
++ [
++ HAVE_DW=no
++ if [ test "x${with_dw}" = "xyes" ]; then
++ AC_MSG_ERROR([could not find libdw])
++ fi
++ ])
++else
++ HAVE_DW=no
+ fi
+
+ dnl Check for backtrace() from libc
+--
+2.10.2
+
diff --git a/media-libs/gstreamer/gstreamer-1.12.2.ebuild b/media-libs/gstreamer/gstreamer-1.12.2.ebuild
new file mode 100644
index 000000000000..135c398a05df
--- /dev/null
+++ b/media-libs/gstreamer/gstreamer-1.12.2.ebuild
@@ -0,0 +1,116 @@
+# 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}]
+ 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
+
+# https://bugzilla.gnome.org/show_bug.cgi?id=778193 (remove src_prepare/eautoreconf once not needed on bump)
+PATCHES=( "${FILESDIR}"/${PN}-1.12.2-automagic.patch )
+
+src_prepare() {
+ default
+ eautoreconf # Due to automagic libunwind/libdw 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() {
+ 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}"
+}