public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mart Raudsepp" <leio@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/gst-plugins-base/
Date: Mon, 30 Jul 2018 10:30:55 +0000 (UTC)	[thread overview]
Message-ID: <1532946025.d497eeb294ae809d1b416d11e1292ff8c99d573a.leio@gentoo> (raw)

commit:     d497eeb294ae809d1b416d11e1292ff8c99d573a
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 30 10:20:19 2018 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Mon Jul 30 10:20:25 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d497eeb2

media-libs/gst-plugins-base: add media-libs/graphene using revision

GL elements automagically use graphene. But we want them always anyways,
if GL is enabled, so add a revision that just forces the dependency.
This is a separate revision, as it involves dropping keywords and it
would cascade into dozens of packages for other 1.14.2 version bumps,
thus keep a 1.14.2-r0 without it forced to avoid that for now.
If newly packaged graphene is installed separately, then 1.14.2-r0
will have an automagic dependency on it, but this here is the work
to fix that.

Package-Manager: Portage-2.3.43, Repoman-2.3.10

 .../gst-plugins-base-1.14.2-r1.ebuild              | 180 +++++++++++++++++++++
 1 file changed, 180 insertions(+)

diff --git a/media-libs/gst-plugins-base/gst-plugins-base-1.14.2-r1.ebuild b/media-libs/gst-plugins-base/gst-plugins-base-1.14.2-r1.ebuild
new file mode 100644
index 00000000000..2a3f89e824a
--- /dev/null
+++ b/media-libs/gst-plugins-base/gst-plugins-base-1.14.2-r1.ebuild
@@ -0,0 +1,180 @@
+# 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 gstreamer
+
+DESCRIPTION="Basepack of plugins for gstreamer"
+HOMEPAGE="https://gstreamer.freedesktop.org/"
+
+LICENSE="GPL-2+ LGPL-2+"
+KEYWORDS="~amd64"
+
+# 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/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
+}


             reply	other threads:[~2018-07-30 10:31 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-30 10:30 Mart Raudsepp [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-02-07 16:18 [gentoo-commits] repo/gentoo:master commit in: media-libs/gst-plugins-base/ Arthur Zamarin
2024-05-23 17:27 Matt Turner
2024-04-30  8:28 Mart Raudsepp
2024-04-03 20:04 Mart Raudsepp
2023-10-13  7:33 Mart Raudsepp
2022-12-11 17:36 Mart Raudsepp
2022-11-20 18:34 Mart Raudsepp
2022-06-07 21:39 Sam James
2022-05-12 22:42 Sam James
2021-10-31  0:19 Sam James
2021-08-12 22:53 Robin H. Johnson
2021-05-25 14:21 Yixun Lan
2021-02-17 13:53 Sam James
2021-01-10 20:22 Fabian Groffen
2020-11-15 19:30 Rémi Cardona
2020-04-28 20:15 Matt Turner
2020-01-01 15:08 Mart Raudsepp
2020-01-01 14:03 Agostino Sarubbo
2019-12-10 18:10 Aaron Bauman
2019-12-08 23:37 Sergei Trofimovich
2019-08-25 19:55 Mart Raudsepp
2019-08-10  9:08 Sergei Trofimovich
2019-05-21  3:17 Aaron Bauman
2019-04-29  8:17 Sergei Trofimovich
2019-04-14 21:14 Aaron Bauman
2019-02-05 23:58 Mart Raudsepp
2019-01-15 23:38 Mart Raudsepp
2018-10-06 18:42 Sergei Trofimovich
2018-10-06 18:42 Sergei Trofimovich
2018-10-03 16:24 Mart Raudsepp
2018-09-30 22:21 Mart Raudsepp
2018-09-19  8:42 Sergei Trofimovich
2018-08-28 18:41 Sergei Trofimovich
2018-08-08 21:06 Mikle Kolyada
2018-08-07  8:26 Sergei Trofimovich
2018-07-31  0:43 Thomas Deutschmann
2018-07-30 10:30 Mart Raudsepp
2018-07-15 23:13 Mart Raudsepp
2018-06-16 18:27 Mart Raudsepp
2018-03-18 19:36 Sergei Trofimovich
2018-03-17 17:19 Mikle Kolyada
2018-01-27  3:30 Mart Raudsepp
2018-01-27  3:30 Mart Raudsepp
2018-01-27  3:30 Mart Raudsepp
2018-01-05 15:30 Mart Raudsepp
2017-12-25 11:51 Markus Meier
2017-12-16 17:58 Mart Raudsepp
2017-11-21 11:16 Marek Szuba
2017-11-20 19:59 Manuel Rüger
2017-11-07  8:06 Sergei Trofimovich
2017-11-01 19:56 Sergei Trofimovich
2017-11-01  9:35 Sergei Trofimovich
2017-11-01  9:19 Sergei Trofimovich
2017-10-26  7:30 Sergei Trofimovich
2017-09-18 19:51 Mart Raudsepp
2017-09-18 19:51 Mart Raudsepp
2017-09-17  5:25 Mart Raudsepp
2017-07-08 16:08 Sergei Trofimovich
2017-02-25  1:28 Mart Raudsepp
2017-02-15 17:33 Markus Meier
2017-01-22 18:03 Agostino Sarubbo
2017-01-15  6:03 Mart Raudsepp
2016-12-06 21:07 Markus Meier
2016-07-31  8:54 Pacho Ramos
2016-07-09 20:24 Andreas Hüttel
2016-05-03 20:37 Markus Meier
2016-03-06 18:03 Mikle Kolyada
2016-01-31 12:46 Gilles Dartiguelongue

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1532946025.d497eeb294ae809d1b416d11e1292ff8c99d573a.leio@gentoo \
    --to=leio@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox