diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-10-07 11:03:14 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-10-07 11:03:14 +0100 |
commit | 957235cf19a691360c720f7913672adda4258ed0 (patch) | |
tree | 812bba7928f4293ead05a7ee9c1ac39c5ef9f12e /media-libs/gst-plugins-base | |
parent | 62f67115b5c46134c34f88f4b1cbdacc19384c0a (diff) |
gentoo resync : 07.10.2018
Diffstat (limited to 'media-libs/gst-plugins-base')
5 files changed, 368 insertions, 94 deletions
diff --git a/media-libs/gst-plugins-base/Manifest b/media-libs/gst-plugins-base/Manifest index fc5241ba32dd..b7a4a2896fa3 100644 --- a/media-libs/gst-plugins-base/Manifest +++ b/media-libs/gst-plugins-base/Manifest @@ -1,15 +1,16 @@ AUX gst-plugins-base-0.10.36-gcc-4.9.patch 387 BLAKE2B 5ff5d2b0ae4a97240f86ef857661cb2a12bfa41796f06afa4b64b2d0d194d4949166529d9c8b0b22729237fcdc84580c4a8b0a9d797481da0171ff8fef187cf9 SHA512 db107ac701928d4f9787724ecca5b1eb087b5319e116a75be7cb5aba024a32336b4e94bb45a4923f97762766e263a3bce832c138fff6d69620b346370d289a97 AUX gst-plugins-base-0.10.36-resync-ringbuffer.patch 530 BLAKE2B cbf4d51313e94df62ff3c3e4df859c04a91e22e994587e4ca6baba59294dff572a7ed80cceb3944d4070717fd6f9ce680e42e71a95032d54c8ca6693df29e21f SHA512 fbc252f10f4539f0448eb6f652a945ecf522f6100cb63fb362617a8990818efb1ba4bd5f866b25d439f39e32a41fcab7ef9b176d4be0e6e5bbb6c1853aa2a688 DIST gst-plugins-base-0.10.36.tar.xz 2364108 BLAKE2B a71ef5d5c7462d60937602681c060e85ed086a753b7ef354dad48354d6c3741d809f2c0c6a321ef9ac60fb12d24ec65e1baa63e51211134d2a5e03aae16f73d2 SHA512 ea77778e073515df58229a641b4363df31f0b80204a5a43a8feb31f0b03a5a4b9b79d6e07e1615c773a59927a9b649f1b1d782def1120d581d09a090be8363b8 -DIST gst-plugins-base-1.12.4.tar.xz 3119468 BLAKE2B d5ac157618a25c8f0323d1922d5b26b0b5c49f56cb75df3ceeadd0566f873be1a06c863a1da6afff40901fbbbeb1ec6cd6ef4614309ca7f7ff988c0fa9040a10 SHA512 89a6e92cd294612cf1406eb156416ab4606643f6b43637e64a18f6f28ab789ca8d4cf1308434ed85e5fc679c79cc3ca115db48f37e0065a6ab3cdfdbaaad9f53 DIST gst-plugins-base-1.14.1.tar.xz 3689184 BLAKE2B 17abcab2c84b113180de55d6c781ae11feec66c215febfffefe4a22353c56e82a585647688e2078603b6c3ece6f26afa99969091a72886880a2f8549dd9cb379 SHA512 bca9db8780fe24c19a2c4eae9a16dc0856cb38077580e4344bd4f7fa9a7a03079b92556ff35475a574f624a5a721d80ef925790670e4cc809361ed01108a141e DIST gst-plugins-base-1.14.2.tar.xz 3693856 BLAKE2B 7ed05718bfd1dcb15e05e5a2c8758ad409c4ad7f331146363f264aaf7123c8a14c1db81f482710d1069d33e5281087f66e2e38504e39b214befba73ffdd9295c SHA512 35e7eb5c42fe265d38c433575f88d3306f15ff927a989eb375ed5399cbf92af2e9bf553d6eee349dc13673540cee00e1f879595f25e58c188ea443d8a969682f DIST gst-plugins-base-1.14.3.tar.xz 3702184 BLAKE2B 8b13cdcb912968ed51bba91faf70060cced562f374d2b6987a9b9ff9a261b553836394cc4dc16df299c21cb303fd87bb0becb57225767c3502c8c16359430523 SHA512 3b5f0dc46d148dd9f162c651594be740f798c1d6272ecabced544f09900b6f2909a9fc705d42e4e98130d6f7cb1368458bfeee27444b5c43e62551defbc3838a +DIST gst-plugins-base-1.14.4.tar.xz 3703232 BLAKE2B b22c44b857bc4f1972f03752cc1afb35c8d76e2d0c4a06c574af0ac4f3a91080c584ae4e4fc2a263ee879a53d58505c24a756ebc051d81ec62661c4f9e532f0e SHA512 42c59df9f2d848108f12afa0466acbcfa5ccda64e4d0d44608d4268abed20f2e036713de04e7d71feaed1868ad742c5bcb55ae0eef5dec8e19e053dc8541b8af EBUILD gst-plugins-base-0.10.36-r2.ebuild 2120 BLAKE2B 5e670a72e651af6a8ef1e4992fc42a7a444e9a77e708b86cdf5d373d96cc549c2953df5da5b001479938f77498eb09de861e89e705ce555618cd45227209a769 SHA512 bc9f491322b473f7ae2a55a7fab8315584b1ef3f71f94ec4968705fb1063d72e6dd2dd80342bd85b7abb29315abb26adbe3002c94c7a7ec27517c8edcf32eafb -EBUILD gst-plugins-base-1.12.4.ebuild 2635 BLAKE2B 135ac9f8423f4d994fc90320871716c18bc37afef01fdd8fbadb25b1b37addd05aaf9efe915850a64d041f3d1cb52231cf64af87021cb4cc24205e4618d85536 SHA512 01ccfae2d189a9506ae1261f15126aee3967bf76e91808d88b0d2214083e19d628ceba84e44b6a1f47ef673137d42dcecf13ba7750e4f279dbc4a605948e3f76 EBUILD gst-plugins-base-1.14.1.ebuild 6097 BLAKE2B ffdd010523329417895d7bb0c084ae057085993389c43579e41099f585bac82ce832d2112a8989e7c7bf10a75441aaccaa469bec023552185acbb23ec8c19a91 SHA512 1c4cc400a46d6ae8cd327854aab74b032e6c8ea6eb0110f3e7f8ddc84f7fbae5305d87340a3c5c841c6cc497f7783f0ce67df3a0b17b91fabf055060d1b79cbf EBUILD gst-plugins-base-1.14.2-r1.ebuild 5883 BLAKE2B 3231c2ad0d014b9ef9cb0b5d83fa8dffc476aae306b748baa7e192a3f326eba64ec2e8878438d1e06bed2d0a0dbf77499e261189554d5b4ba8c3f70c26756c70 SHA512 74af429382915c4174a37d51c7a3a5187ceb4a67f24a96fc45463f2a799ec5498c28eb40ae321e9915237a5593b61ac80e056b9a3ea7061593803aada923d736 EBUILD gst-plugins-base-1.14.2.ebuild 6045 BLAKE2B 2b3b0519874526c0780d01380259a0a4986e613af7a4491941e85e504134c505a343812086f128fe251ec912ff528926d96e9f845a524f73162b78b4682e626b SHA512 e88bab789aeedb188724faaa92f39364219b1e512ce1279c2ad617b8302bea1372bea4a1ff57060e12008e81e8627c3d102ed46b2f89b461fa8c01ecd3afcf3b -EBUILD gst-plugins-base-1.14.3-r1.ebuild 5904 BLAKE2B e4fc6f05dd8a472965cf71ccce226510b337e4a7d486d44789ceb36e19dd75284109b0fe0fbfbb650c997bc85216dec84f27ecb93ef2bbb817208f28318d3ba2 SHA512 225cf77fc13e39acb95d314de785b9273c049ce71e9d22b373f4ab465e361fa41902d94a62fc13b31ad0c9972e9ef36e443aee21fc95000acae8c1ec9a465db3 +EBUILD gst-plugins-base-1.14.3-r1.ebuild 5906 BLAKE2B 4c912c1f88ed151b00539ef601bee22f5aa26994fd7de90086858365d2799fda21438c80a1424bee380d711e7ec54afd724754b313b11dbdbc35e922294f83a0 SHA512 bcd8ab6a7fa00f6f1ae8aad5f8f8b1595de69e89fa005b91cdc2d641166ff99611e781d8c1eb3e95af5b8052a343f4c8146eb4762e43a7036b5a034a530aeb2e EBUILD gst-plugins-base-1.14.3.ebuild 6066 BLAKE2B 2d576249fd69de48586c6b7aba76e6d649ecb631e0a3c39defd4537f75588593914fbc2b0c71c50fcfcce0d1bf3a74b7b2c762d7e22251de326bf7ff56eca3ab SHA512 4e055b2f29096ab3db96c5ecdcf2b50fa867c2adc7698e5a00150514ce26044dbba480308c098ffc38f55d881ef09ff50f4932ba185028acb94b541873edbb8e +EBUILD gst-plugins-base-1.14.4-r1.ebuild 5906 BLAKE2B 4c912c1f88ed151b00539ef601bee22f5aa26994fd7de90086858365d2799fda21438c80a1424bee380d711e7ec54afd724754b313b11dbdbc35e922294f83a0 SHA512 bcd8ab6a7fa00f6f1ae8aad5f8f8b1595de69e89fa005b91cdc2d641166ff99611e781d8c1eb3e95af5b8052a343f4c8146eb4762e43a7036b5a034a530aeb2e +EBUILD gst-plugins-base-1.14.4.ebuild 6063 BLAKE2B 62e3e62d940a36da3dca05e9700ffc2a6da8e231eff85360f796e6aaf0e5496234e6755217e7500934689d44009f8b1a5de3383959e755cfd83646f0f2d940a7 SHA512 a0b735fa2538e71355591c79a3427f25eeb1df2a9d40182a7ed98de089db8892c40fd260dfb1ba3967a39fe7ab44a55a4eae32a8ecdae453bb94ddf45c2f07aa MISC metadata.xml 1065 BLAKE2B 9736df3218c6157e5cc0f14e96a15ec6ab6140e8774c7361dd4fe9378efd37d1a3da593527313a81591818ad48a5585bd4395fbeb85d357449b00bf7e51bbb5c SHA512 520802b59fc6575e16edd765dacab4ff0ff6e51dd162f03fe7e4e07eb472aeb78f3974a32ba613939932e123179106a450c503234ed806a08416dc6b8dd534c2 diff --git a/media-libs/gst-plugins-base/gst-plugins-base-1.12.4.ebuild b/media-libs/gst-plugins-base/gst-plugins-base-1.12.4.ebuild deleted file mode 100644 index e8f7f84e345f..000000000000 --- a/media-libs/gst-plugins-base/gst-plugins-base-1.12.4.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -GST_ORG_MODULE="gst-plugins-base" - -inherit flag-o-matic ltprune gstreamer - -DESCRIPTION="Basepack of plugins for gstreamer" -HOMEPAGE="https://gstreamer.freedesktop.org/" - -LICENSE="GPL-2+ LGPL-2+" -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="alsa +introspection ivorbis +ogg +orc +pango theora +vorbis X" -REQUIRED_USE=" - ivorbis? ( ogg ) - theora? ( ogg ) - vorbis? ( ogg ) -" - -RDEPEND=" - app-text/iso-codes - >=dev-libs/glib-2.40.0:2[${MULTILIB_USEDEP}] - >=media-libs/gstreamer-${PV}:1.0[introspection?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) - introspection? ( >=dev-libs/gobject-introspection-1.31.1:= ) - ivorbis? ( >=media-libs/tremor-0_pre20130223[${MULTILIB_USEDEP}] ) - ogg? ( >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] ) - orc? ( >=dev-lang/orc-0.4.24[${MULTILIB_USEDEP}] ) - pango? ( >=x11-libs/pango-1.36.3[${MULTILIB_USEDEP}] ) - theora? ( >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] ) - vorbis? ( >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] ) - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}] - ) - !<media-libs/gst-plugins-bad-1.11.90:1.0 -" -DEPEND="${RDEPEND} - >=dev-util/gtk-doc-am-1.12 - X? ( x11-base/xorg-proto ) -" - -multilib_src_configure() { - filter-flags -mno-sse -mno-sse2 -mno-sse4.1 #610340 - - gstreamer_multilib_src_configure \ - $(use_enable alsa) \ - $(multilib_native_use_enable introspection) \ - $(use_enable ivorbis) \ - $(use_enable ogg) \ - $(use_enable orc) \ - $(use_enable pango) \ - $(use_enable theora) \ - $(use_enable vorbis) \ - $(use_enable X x) \ - $(use_enable X xshm) \ - $(use_enable X xvideo) \ - --enable-iso-codes \ - --enable-zlib \ - --disable-debug \ - --disable-examples \ - --disable-static - # cdparanoia and libvisual are split out, per leio's request - - # bug #366931, flag-o-matic for the whole thing is overkill - if [[ ${CHOST} == *86-*-darwin* ]] ; then - sed -i \ - -e '/FLAGS = /s|-O[23]|-O1|g' \ - gst/audioconvert/Makefile \ - gst/volume/Makefile || die - fi - - if multilib_is_native_abi; then - local x - for x in libs plugins; do - ln -s "${S}"/docs/${x}/html docs/${x}/html || die - done - fi -} - -multilib_src_install_all() { - DOCS="AUTHORS NEWS README RELEASE" - einstalldocs - prune_libtool_files --modules -} diff --git a/media-libs/gst-plugins-base/gst-plugins-base-1.14.3-r1.ebuild b/media-libs/gst-plugins-base/gst-plugins-base-1.14.3-r1.ebuild index 73db5954b48b..b87fbb291fbe 100644 --- a/media-libs/gst-plugins-base/gst-plugins-base-1.14.3-r1.ebuild +++ b/media-libs/gst-plugins-base/gst-plugins-base-1.14.3-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -10,7 +10,7 @@ DESCRIPTION="Basepack of plugins for gstreamer" HOMEPAGE="https://gstreamer.freedesktop.org/" LICENSE="GPL-2+ LGPL-2+" -KEYWORDS="~amd64 ~arm ~ppc64 ~sparc ~x86" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86" # For OpenGL we have three separate concepts, with a list of possibilities in each: # * opengl APIs - opengl and/or gles2; USE=opengl and USE=gles2 enable these accordingly; if neither is enabled, OpenGL helper library and elements are not built at all and all the other options aren't relevant diff --git a/media-libs/gst-plugins-base/gst-plugins-base-1.14.4-r1.ebuild b/media-libs/gst-plugins-base/gst-plugins-base-1.14.4-r1.ebuild new file mode 100644 index 000000000000..b87fbb291fbe --- /dev/null +++ b/media-libs/gst-plugins-base/gst-plugins-base-1.14.4-r1.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +GST_ORG_MODULE="gst-plugins-base" + +inherit flag-o-matic gstreamer + +DESCRIPTION="Basepack of plugins for gstreamer" +HOMEPAGE="https://gstreamer.freedesktop.org/" + +LICENSE="GPL-2+ LGPL-2+" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86" + +# For OpenGL we have three separate concepts, with a list of possibilities in each: +# * opengl APIs - opengl and/or gles2; USE=opengl and USE=gles2 enable these accordingly; if neither is enabled, OpenGL helper library and elements are not built at all and all the other options aren't relevant +# * opengl platforms - glx and/or egl; also cgl, wgl, eagl for non-linux; USE="X opengl" enables glx platform; USE="egl" enables egl platform. Rest is up for relevant prefix teams. +# * opengl windowing system - x11, wayland, win32, cocoa, android, viv_fb, gbm and/or dispmanx; USE=X enables x11 (but for WSI it's automagic - FIXME), USE=wayland enables wayland, USE=gbm enables gbm (automagic upstream - FIXME); rest is up for relevant prefix/arch teams/contributors to test and provide patches +# With the following limitations: +# * If opengl and/or gles2 is enabled, a platform has to be enabled - x11 or egl in our case, but x11 (glx) is acceptable only with opengl +# * If opengl and/or gles2 is enabled, a windowing system has to be enabled - x11, wayland or gbm in our case +# * glx platform requires opengl API +# * wayland, gbm and most other non-glx WSIs require egl platform +# Additionally there is optional dmabuf support with egl for additional dmabuf based upload/download/eglimage options; +# and optional graphene usage for gltransformation and glvideoflip elements and more GLSL Uniforms support in glshader; +# and libpng/jpeg are required for gloverlay element; + +# Keep default IUSE options for relevant ones mirrored with gst-plugins-gtk and gst-plugins-bad +IUSE="alsa +egl gbm gles2 +introspection ivorbis +ogg +opengl +orc +pango theora +vorbis wayland +X" +GL_REQUIRED_USE=" + || ( gbm wayland X ) + wayland? ( egl ) + gbm? ( egl ) +" +REQUIRED_USE=" + ivorbis? ( ogg ) + theora? ( ogg ) + vorbis? ( ogg ) + opengl? ( || ( egl X ) ${GL_REQUIRED_USE} ) + gles2? ( egl ${GL_REQUIRED_USE} ) +" + +# Dependencies needed by opengl library and plugin (enabled via USE gles2 and/or opengl) +# dmabuf automagic from libdrm headers (drm_fourcc.h) and EGL, so ensure it with USE=egl (platform independent header used only, thus no MULTILIB_USEDEP); provides dmabuf based upload/download/eglimage options +GL_DEPS=" + >=media-libs/mesa-9.0[egl?,gbm?,gles2?,wayland?,${MULTILIB_USEDEP}] + egl? ( + x11-libs/libdrm + ) + gbm? ( + >=dev-libs/libgudev-147[${MULTILIB_USEDEP}] + >=x11-libs/libdrm-2.4.55[${MULTILIB_USEDEP}] + ) + wayland? ( + dev-libs/wayland[${MULTILIB_USEDEP}] + ) + + >=media-libs/graphene-1.4.0[${MULTILIB_USEDEP}] + media-libs/libpng:0[${MULTILIB_USEDEP}] + virtual/jpeg:0[${MULTILIB_USEDEP}] +" # graphene for optional gltransformation and glvideoflip elements and more GLSL Uniforms support in glshader; libpng/jpeg for gloverlay element + +RDEPEND=" + app-text/iso-codes + >=dev-libs/glib-2.40.0:2[${MULTILIB_USEDEP}] + >=media-libs/gstreamer-${PV}:1.0[introspection?,${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) + introspection? ( >=dev-libs/gobject-introspection-1.31.1:= ) + ivorbis? ( >=media-libs/tremor-0_pre20130223[${MULTILIB_USEDEP}] ) + ogg? ( >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] ) + orc? ( >=dev-lang/orc-0.4.24[${MULTILIB_USEDEP}] ) + pango? ( >=x11-libs/pango-1.36.3[${MULTILIB_USEDEP}] ) + theora? ( >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] ) + vorbis? ( >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] ) + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}] + ) + + gles2? ( ${GL_DEPS} ) + opengl? ( ${GL_DEPS} ) + + !<media-libs/gst-plugins-bad-1.13.1:1.0 +" +DEPEND="${RDEPEND} + dev-util/glib-utils + >=dev-util/gtk-doc-am-1.12 + X? ( x11-base/xorg-proto ) +" + +src_prepare() { + # Disable GL tests for now; prone to fail with EGL_NOT_INITIALIZED, etc + sed -i -e '/^@USE_GL_TRUE@/d' tests/check/Makefile.in + default +} + +multilib_src_configure() { + filter-flags -mno-sse -mno-sse2 -mno-sse4.1 #610340 + + local myconf=() + # FIXME: Automagic gbm and x11 wsi + if use opengl || use gles2; then + myconf+=( + --enable-gl + $(use_enable egl) + $(use_enable gles2) + $(use_enable opengl) + $(use_enable wayland) + $(use_enable X x11) + ) + else + myconf+=( + --disable-gl + --disable-egl + --disable-gles2 + --disable-opengl + --disable-wayland + --disable-x11 + ) + fi + + if use opengl && use X; then + # GLX requires desktop OpenGL and X + myconf+=( --enable-glx ) + else + myconf+=( --disable-glx ) + fi + + myconf+=( + --disable-cocoa + --disable-dispmanx + --disable-wgl + ) + + gstreamer_multilib_src_configure \ + $(use_enable alsa) \ + $(multilib_native_use_enable introspection) \ + $(use_enable ivorbis) \ + $(use_enable ogg) \ + $(use_enable orc) \ + $(use_enable pango) \ + $(use_enable theora) \ + $(use_enable vorbis) \ + $(use_enable X x) \ + $(use_enable X xshm) \ + $(use_enable X xvideo) \ + --enable-iso-codes \ + --enable-zlib \ + --disable-debug \ + --disable-examples \ + --disable-static \ + "${myconf[@]}" + + # bug #366931, flag-o-matic for the whole thing is overkill + if [[ ${CHOST} == *86-*-darwin* ]] ; then + sed -i \ + -e '/FLAGS = /s|-O[23]|-O1|g' \ + gst/audioconvert/Makefile \ + gst/volume/Makefile || die + fi + + if multilib_is_native_abi; then + local x + for x in libs plugins; do + ln -s "${S}"/docs/${x}/html docs/${x}/html || die + done + fi +} + +multilib_src_install_all() { + DOCS="AUTHORS NEWS README RELEASE" + einstalldocs + find "${ED}" -name '*.la' -delete || die +} + +multilib_src_test() { + unset GSETTINGS_BACKEND + emake check +} diff --git a/media-libs/gst-plugins-base/gst-plugins-base-1.14.4.ebuild b/media-libs/gst-plugins-base/gst-plugins-base-1.14.4.ebuild new file mode 100644 index 000000000000..888df5ed80b2 --- /dev/null +++ b/media-libs/gst-plugins-base/gst-plugins-base-1.14.4.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +GST_ORG_MODULE="gst-plugins-base" + +inherit flag-o-matic gstreamer + +DESCRIPTION="Basepack of plugins for gstreamer" +HOMEPAGE="https://gstreamer.freedesktop.org/" + +LICENSE="GPL-2+ LGPL-2+" +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" + +# For OpenGL we have three separate concepts, with a list of possibilities in each: +# * opengl APIs - opengl and/or gles2; USE=opengl and USE=gles2 enable these accordingly; if neither is enabled, OpenGL helper library and elements are not built at all and all the other options aren't relevant +# * opengl platforms - glx and/or egl; also cgl, wgl, eagl for non-linux; USE="X opengl" enables glx platform; USE="egl" enables egl platform. Rest is up for relevant prefix teams. +# * opengl windowing system - x11, wayland, win32, cocoa, android, viv_fb, gbm and/or dispmanx; USE=X enables x11 (but for WSI it's automagic - FIXME), USE=wayland enables wayland, USE=gbm enables gbm (automagic upstream - FIXME); rest is up for relevant prefix/arch teams/contributors to test and provide patches +# With the following limitations: +# * If opengl and/or gles2 is enabled, a platform has to be enabled - x11 or egl in our case, but x11 (glx) is acceptable only with opengl +# * If opengl and/or gles2 is enabled, a windowing system has to be enabled - x11, wayland or gbm in our case +# * glx platform requires opengl API +# * wayland, gbm and most other non-glx WSIs require egl platform +# Additionally there is optional dmabuf support with egl for additional dmabuf based upload/download/eglimage options; +# and optional graphene usage for gltransformation and glvideoflip elements and more GLSL Uniforms support in glshader; +# and libpng/jpeg are required for gloverlay element; + +# Keep default IUSE options for relevant ones mirrored with gst-plugins-gtk and gst-plugins-bad +IUSE="alsa +egl gbm gles2 +introspection ivorbis +ogg +opengl +orc +pango theora +vorbis wayland +X" +GL_REQUIRED_USE=" + || ( gbm wayland X ) + wayland? ( egl ) + gbm? ( egl ) +" +REQUIRED_USE=" + ivorbis? ( ogg ) + theora? ( ogg ) + vorbis? ( ogg ) + opengl? ( || ( egl X ) ${GL_REQUIRED_USE} ) + gles2? ( egl ${GL_REQUIRED_USE} ) +" + +# Dependencies needed by opengl library and plugin (enabled via USE gles2 and/or opengl) +# dmabuf automagic from libdrm headers (drm_fourcc.h) and EGL, so ensure it with USE=egl (platform independent header used only, thus no MULTILIB_USEDEP); provides dmabuf based upload/download/eglimage options +GL_DEPS=" + >=media-libs/mesa-9.0[egl?,gbm?,gles2?,wayland?,${MULTILIB_USEDEP}] + egl? ( + x11-libs/libdrm + ) + gbm? ( + >=dev-libs/libgudev-147[${MULTILIB_USEDEP}] + >=x11-libs/libdrm-2.4.55[${MULTILIB_USEDEP}] + ) + wayland? ( + dev-libs/wayland[${MULTILIB_USEDEP}] + ) + + media-libs/libpng:0[${MULTILIB_USEDEP}] + virtual/jpeg:0[${MULTILIB_USEDEP}] +" # graphene for optional gltransformation and glvideoflip elements and more GLSL Uniforms support in glshader; libpng/jpeg for gloverlay element +# >=media-libs/graphene-1.4.0[${MULTILIB_USEDEP}] + +RDEPEND=" + app-text/iso-codes + >=dev-libs/glib-2.40.0:2[${MULTILIB_USEDEP}] + >=media-libs/gstreamer-${PV}:1.0[introspection?,${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) + introspection? ( >=dev-libs/gobject-introspection-1.31.1:= ) + ivorbis? ( >=media-libs/tremor-0_pre20130223[${MULTILIB_USEDEP}] ) + ogg? ( >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] ) + orc? ( >=dev-lang/orc-0.4.24[${MULTILIB_USEDEP}] ) + pango? ( >=x11-libs/pango-1.36.3[${MULTILIB_USEDEP}] ) + theora? ( >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] ) + vorbis? ( >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] ) + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}] + ) + + gles2? ( ${GL_DEPS} ) + opengl? ( ${GL_DEPS} ) + + !<media-libs/gst-plugins-bad-1.13.1:1.0 +" +DEPEND="${RDEPEND} + dev-util/glib-utils + >=dev-util/gtk-doc-am-1.12 + X? ( x11-base/xorg-proto ) +" + +src_prepare() { + # Disable GL tests for now; prone to fail with EGL_NOT_INITIALIZED, etc + sed -i -e '/^@USE_GL_TRUE@/d' tests/check/Makefile.in + default +} + +multilib_src_configure() { + filter-flags -mno-sse -mno-sse2 -mno-sse4.1 #610340 + + local myconf=() + # FIXME: Automagic gbm and x11 wsi + if use opengl || use gles2; then + myconf+=( + --enable-gl + $(use_enable egl) + $(use_enable gles2) + $(use_enable opengl) + $(use_enable wayland) + $(use_enable X x11) + ) + else + myconf+=( + --disable-gl + --disable-egl + --disable-gles2 + --disable-opengl + --disable-wayland + --disable-x11 + ) + fi + + if use opengl && use X; then + # GLX requires desktop OpenGL and X + myconf+=( --enable-glx ) + else + myconf+=( --disable-glx ) + fi + + myconf+=( + --disable-cocoa + --disable-dispmanx + --disable-wgl + ) + + gstreamer_multilib_src_configure \ + $(use_enable alsa) \ + $(multilib_native_use_enable introspection) \ + $(use_enable ivorbis) \ + $(use_enable ogg) \ + $(use_enable orc) \ + $(use_enable pango) \ + $(use_enable theora) \ + $(use_enable vorbis) \ + $(use_enable X x) \ + $(use_enable X xshm) \ + $(use_enable X xvideo) \ + --enable-iso-codes \ + --enable-zlib \ + --disable-debug \ + --disable-examples \ + --disable-static \ + "${myconf[@]}" + + # bug #366931, flag-o-matic for the whole thing is overkill + if [[ ${CHOST} == *86-*-darwin* ]] ; then + sed -i \ + -e '/FLAGS = /s|-O[23]|-O1|g' \ + gst/audioconvert/Makefile \ + gst/volume/Makefile || die + fi + + if multilib_is_native_abi; then + local x + for x in libs plugins; do + ln -s "${S}"/docs/${x}/html docs/${x}/html || die + done + fi +} + +multilib_src_install_all() { + DOCS="AUTHORS NEWS README RELEASE" + einstalldocs + find "${ED}" -name '*.la' -delete || die +} + +multilib_src_test() { + unset GSETTINGS_BACKEND + emake check +} |