diff options
author | 2017-09-13 10:04:30 +0300 | |
---|---|---|
committer | 2017-09-16 22:43:11 +0300 | |
commit | 47b6187403f96775a8ed013d80700f59df32ee3e (patch) | |
tree | 9ae05503a59120d8687c424156b55a1dd5520976 /media-libs/gstreamer | |
parent | dev-lang/orc: bump to 0.4.27 (diff) | |
download | gentoo-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/gstreamer')
-rw-r--r-- | media-libs/gstreamer/Manifest | 1 | ||||
-rw-r--r-- | media-libs/gstreamer/files/gstreamer-1.12.2-automagic.patch | 168 | ||||
-rw-r--r-- | media-libs/gstreamer/gstreamer-1.12.2.ebuild | 116 |
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}" +} |