summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2012-12-02 17:16:20 +0000
committerGilles Dartiguelongue <eva@gentoo.org>2012-12-02 17:16:20 +0000
commitcce45c355d0a0536735326273cc6289ea517421d (patch)
tree2fd951d2bbffb4cf5bfb785156210d4c7b922c4b /eclass/gst-plugins-good.eclass
parentPin gstreamer dependencies. (diff)
downloadgentoo-2-cce45c355d0a0536735326273cc6289ea517421d.tar.gz
gentoo-2-cce45c355d0a0536735326273cc6289ea517421d.tar.bz2
gentoo-2-cce45c355d0a0536735326273cc6289ea517421d.zip
Commit new gstreamer eclasses as reviewed on gentoo-dev mailing list with a few more fixes, most notably EAPI=1 support fixes. For a more detailed changelog, please see gnome overlay git log.
Diffstat (limited to 'eclass/gst-plugins-good.eclass')
-rw-r--r--eclass/gst-plugins-good.eclass184
1 files changed, 34 insertions, 150 deletions
diff --git a/eclass/gst-plugins-good.eclass b/eclass/gst-plugins-good.eclass
index f2bff6180771..08b98a291bc9 100644
--- a/eclass/gst-plugins-good.eclass
+++ b/eclass/gst-plugins-good.eclass
@@ -1,158 +1,42 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/gst-plugins-good.eclass,v 1.28 2012/10/23 07:54:38 tetromino Exp $
-
-# Author : foser <foser@gentoo.org>, zaheerm <zaheerm@gentoo.org>
-
-# gst-plugins-good eclass
-#
-# eclass to make external gst-plugins emergable on a per-plugin basis
-# to solve the problem with gst-plugins generating far too much unneeded deps
-#
-# 3rd party applications using gstreamer now should depend on a set of plugins as
-# defined in the source, obtain recommended plugins to use from
-# Gentoo developers responsible for gstreamer <gnome@gentoo.org>, the application developer
-# or the gstreamer team.
-
-inherit eutils versionator gst-plugins10
-
-GST_EXPF="src_unpack src_compile src_install"
-GST_TARBALL_SUFFIX="bz2"
-GST_LA_PUNT="no"
-case ${EAPI:-0} in
- 4) GST_EXPF="${GST_EXPF} src_configure"
- GST_TARBALL_SUFFIX="xz"
- GST_LA_PUNT="yes" ;;
- 2|3) GST_EXPF="${GST_EXPF} src_configure" ;;
- 1|0) ;;
- *) die "Unknown EAPI" ;;
+# $Header: /var/cvsroot/gentoo-x86/eclass/gst-plugins-good.eclass,v 1.29 2012/12/02 17:16:20 eva Exp $
+
+# @ECLASS: gst-plugins-good.eclass
+# @MAINTAINER:
+# gstreamer@gentoo.org
+# @AUTHOR:
+# Gilles Dartiguelongue <eva@gentoo.org>
+# Saleem Abdulrasool <compnerd@gentoo.org>
+# foser <foser@gentoo.org>
+# zaheerm <zaheerm@gentoo.org>
+# @BLURB: Manages build for invididual ebuild for gst-plugins-good.
+# @DESCRIPTION:
+# See gst-plugins10.eclass documentation.
+
+GST_ORG_MODULE="gst-plugins-good"
+
+inherit eutils gst-plugins10
+
+case "${EAPI:-0}" in
+ 1|2|3|4|5)
+ ;;
+ 0)
+ die "EAPI=\"${EAPI}\" is not supported anymore"
+ ;;
+ *)
+ die "EAPI=\"${EAPI}\" is not supported yet"
+ ;;
esac
-EXPORT_FUNCTIONS ${GST_EXPF}
-
-###
-# variable declarations
-###
-MY_PN=gst-plugins-good
-MY_P=${MY_PN}-${PV}
-# All relevant configure options for gst-plugins
-# need a better way to extract these
-
-# First line for non-plugin build related configure options; second line for
-# sys/ plugins; rest is split plugin options in order of ./configure --help output.
-# Good ways of validation are seeing diff of old and new configure.ac, and ./configure --help
-#
-# This list is current to gst-plugins-good-0.10.31:
-my_gst_plugins_good="gconftool zlib bz2
-directsound oss oss4 sunaudio osx_audio osx_video gst_v4l2 x xshm xvideo
-aalib aalibtest annodex cairo esd esdtest flac gconf gdk_pixbuf hal jpeg
-libcaca libdv libpng pulse dv1394 shout2 soup speex taglib wavpack"
-
-# When adding conditionals like below, be careful about having leading spaces in concat
-
-# --enable-shout2test option was removed in 0.10.31
-if ! version_is_at_least "0.10.31"; then
- my_gst_plugins_good+=" shout2test"
-fi
-
-# cairooverlay added to the cairo plugin under cairo_gobject
-if version_is_at_least "0.10.29"; then
- my_gst_plugins_good+=" cairo_gobject"
-fi
-
-# ext/jack moved here since 0.10.27
-if version_is_at_least "0.10.27"; then
- my_gst_plugins_good+=" jack"
-fi
-
-#SRC_URI="mirror://gnome/sources/gst-plugins/${PV_MAJ_MIN}/${MY_P}.tar.bz2"
-SRC_URI="http://gstreamer.freedesktop.org/src/gst-plugins-good/${MY_P}.tar.${GST_TARBALL_SUFFIX}"
-[[ ${GST_TARBALL_SUFFIX} = "xz" ]] && DEPEND="${DEPEND} app-arch/xz-utils"
-
-S=${WORKDIR}/${MY_P}
-# added to remove circular deps
-# 6/2/2006 - zaheerm
-if [ "${PN}" != "${MY_PN}" ]; then
-RDEPEND="=media-libs/gst-plugins-base-0.10*"
-DEPEND="${RDEPEND}
- ${DEPEND}
- >=sys-apps/sed-4
- virtual/pkgconfig"
+if [[ ${PN} != ${GST_ORG_MODULE} ]]; then
# -good-0.10.24 uses orc optionally instead of liboil unconditionally.
-# While <0.10.24 configure always checks for liboil, it is linked to only by non-split
-# plugins in gst/, so we only builddep for all old packages, and have a RDEPEND in old
-# versions of media-libs/gst-plugins-good
-if ! version_is_at_least "0.10.24"; then
-DEPEND="${DEPEND} >=dev-libs/liboil-0.3.8"
+# While <0.10.24 configure always checks for liboil, it is linked to only by
+# non-split plugins in gst/, so we only builddep for all old packages, and have
+# a RDEPEND in old versions of media-libs/gst-plugins-good
+ if [[ ${SLOT} = "0.10" ]] && ! version_is_at_least "0.10.24"; then
+ DEPEND="${DEPEND} >=dev-libs/liboil-0.3.8"
+ fi
fi
-RESTRICT=test
-fi
-
-###
-# public functions
-###
-
-gst-plugins-good_src_configure() {
-
- # disable any external plugin besides the plugin we want
- local plugin gst_conf
-
- einfo "Configuring to build ${GST_PLUGINS_BUILD} plugin(s) ..."
-
- for plugin in ${my_gst_plugins_good}; do
- gst_conf="${gst_conf} --disable-${plugin} "
- done
-
- for plugin in ${GST_PLUGINS_BUILD}; do
- gst_conf="${gst_conf} --enable-${plugin} "
- done
-
- cd ${S}
- econf ${@} --with-package-name="Gentoo GStreamer Ebuild" --with-package-origin="http://www.gentoo.org" ${gst_conf} || die "./configure failure"
-
-}
-
-###
-# public inheritable functions
-###
-
-gst-plugins-good_src_unpack() {
-
-# local makefiles
-
- unpack ${A}
-
- # Link with the syswide installed gst-libs if needed
-# gst-plugins10_find_plugin_dir
-# cd ${S}
-
- # Remove generation of any other Makefiles except the plugin's Makefile
-# if [ -d "${S}/sys/${GST_PLUGINS_BUILD_DIR}" ]; then
-# makefiles="Makefile sys/Makefile sys/${GST_PLUGINS_BUILD_DIR}/Makefile"
-# elif [ -d "${S}/ext/${GST_PLUGINS_BUILD_DIR}" ]; then
-# makefiles="Makefile ext/Makefile ext/${GST_PLUGINS_BUILD_DIR}/Makefile"
-# fi
-# sed -e "s:ac_config_files=.*:ac_config_files='${makefiles}':" \
-# -i ${S}/configure
-
-}
-
-gst-plugins-good_src_compile() {
-
- has src_configure ${GST_EXPF} || gst-plugins-good_src_configure ${@}
-
- gst-plugins10_find_plugin_dir
- emake || die "compile failure"
-
-}
-
-gst-plugins-good_src_install() {
-
- gst-plugins10_find_plugin_dir
- einstall || die
- [[ ${GST_LA_PUNT} = "yes" ]] && prune_libtool_files --modules
-
- [[ -e README ]] && dodoc README
-}