diff options
author | Mart Raudsepp <leio@gentoo.org> | 2014-07-18 04:02:51 +0300 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2014-07-18 04:03:38 +0300 |
commit | 186199b8c39dd9a6550c792c3840c6a18e168d24 (patch) | |
tree | 234ec0d19c1145311c806933cb8e59f2c0d4d149 /media-libs | |
parent | Add media-libs/clutter with EGL support and optional X (diff) | |
download | leio-186199b8c39dd9a6550c792c3840c6a18e168d24.tar.gz leio-186199b8c39dd9a6550c792c3840c6a18e168d24.tar.bz2 leio-186199b8c39dd9a6550c792c3840c6a18e168d24.zip |
Hacks to gst-plugins-bad ebuild to achieve a glimagesink that can play video on dispmanx on RPi
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/gst-plugins-bad/gst-plugins-bad-1.3.91.ebuild | 50 |
1 files changed, 46 insertions, 4 deletions
diff --git a/media-libs/gst-plugins-bad/gst-plugins-bad-1.3.91.ebuild b/media-libs/gst-plugins-bad/gst-plugins-bad-1.3.91.ebuild index 00c7eb1..c07e0c4 100644 --- a/media-libs/gst-plugins-bad/gst-plugins-bad-1.3.91.ebuild +++ b/media-libs/gst-plugins-bad/gst-plugins-bad-1.3.91.ebuild @@ -5,14 +5,17 @@ EAPI="5" GST_ORG_MODULE="gst-plugins-bad" -inherit eutils flag-o-matic gstreamer +inherit autotools eutils flag-o-matic gstreamer DESCRIPTION="Less plugins for GStreamer" HOMEPAGE="http://gstreamer.freedesktop.org/" LICENSE="LGPL-2" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" -IUSE="egl +introspection +orc vnc" +IUSE="egl gles2 +introspection +orc rpi vnc wayland" + +# FIXME: Some REQUIRED_USE dance for egl/gles2/rpi/wayland +# FIXME: Any flags needed on raspberypi-userland for wayland or egl? # FIXME: we need to depend on mesa to avoid automagic on egl # dtmf plugin moved from bad to good in 1.2 @@ -21,7 +24,18 @@ RDEPEND=" >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}] >=media-libs/gst-plugins-base-1.2:${SLOT}[${MULTILIB_USEDEP}] >=media-libs/gstreamer-1.2:${SLOT}[${MULTILIB_USEDEP}] - egl? ( >=media-libs/mesa-9.1.6[egl,${MULTILIB_USEDEP}] ) + egl? ( + rpi? ( media-libs/raspberrypi-userland ) + !rpi? ( >=media-libs/mesa-9.1.6[egl,${MULTILIB_USEDEP}] ) + wayland? ( + !rpi? ( media-libs/mesa[egl,wayland] ) + rpi? ( media-libs/raspberrypi-userland ) + ) + ) + gles2? ( + rpi? ( media-libs/raspberrypi-userland ) + !rpi? ( >=media-libs/mesa-9.1.6[egl,${MULTILIB_USEDEP}] ) + ) introspection? ( >=dev-libs/gobject-introspection-1.31.1 ) orc? ( >=dev-lang/orc-0.4.17[${MULTILIB_USEDEP}] ) @@ -31,6 +45,14 @@ DEPEND="${RDEPEND} >=dev-util/gtk-doc-am-1.12 " +src_prepare() { + # Make RPI egl stuff use pkg-config and related fixups - https://bugzilla.gnome.org/733248 + epatch "${FILESDIR}"/egl-rpi-pkgconfig.patch + epatch "${FILESDIR}"/egl-gl_cflags.patch + epatch "${FILESDIR}"/gl_typechecks_cflags.patch + eautoreconf +} + src_configure() { strip-flags replace-flags "-O3" "-O2" @@ -40,13 +62,33 @@ src_configure() { } multilib_src_configure() { + # For glimagesink on X11 we seem to want --enable-egl --enable-dispmanx + # For glimagesink on Wayland we seem to want --enable-egl --enable-wayland and wayland-egl.pc (on RPi provided by raspberrypi-userland + added pkg-config files) + # Figure out all the working combinations. e.g without --disable-glx on RPi, it could autodetect X11, yet not build the context. See gstglcontext.c + local myconf + myconf="" + if use rpi; then + myconf+=" --disable-glx --disable-x11" + fi + if use egl; then + myconf+=" --enable-egl --enable-gl" + if use wayland; then + myconf+=" --enable-wayland" + else + myconf+=" $(use_enable rpi dispmanx)" # can we enable it on wayland too and is it egl dependent? + fi + else + myconf+=" --disable-egl" + fi + gstreamer_multilib_src_configure \ $(multilib_native_use_enable introspection) \ $(use_enable orc) \ $(use_enable vnc librfb) \ --disable-examples \ --disable-debug \ - --with-egl-window-system=$(usex egl x11 none) + $(use_enable gles2) \ + ${myconf} } multilib_src_install_all() { |