/[gentoo-x86]/eclass/gst-plugins-bad.eclass
Gentoo

Diff of /eclass/gst-plugins-bad.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.5 Revision 1.45
1# Copyright 1999-2006 Gentoo Foundation 1# Copyright 1999-2012 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/gst-plugins-bad.eclass,v 1.5 2006/05/10 11:50:14 zaheerm Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/gst-plugins-bad.eclass,v 1.45 2012/09/27 16:35:41 axs Exp $
4 4
5# 5#
6# Original Author: Saleem Abdulrasool <compnerd@gentoo.org> 6# Original Author: Saleem Abdulrasool <compnerd@gentoo.org>
7# Based on the work of foser <foser@gentoo.org> and zaheerm <zaheerm@gentoo.org> 7# Based on the work of foser <foser@gentoo.org> and zaheerm <zaheerm@gentoo.org>
8# Purpose: This elcass is designed to help package external gst-plugins per 8# Purpose: This elcass is designed to help package external gst-plugins per
9# plugin rather than in a single package. 9# plugin rather than in a single package.
10# 10#
11 11
12my_gst_plugins_bad="amrwb bz2 directfb dts divx faac faad gsm gst_v4l2 ivorbis libmms musepack musicbrainz neon opengl sdl sdltest soundtouch swfdec theoradec wavpack xvid" 12inherit eutils multilib versionator gst-plugins10
13#qtdemux spped tta
14 13
15inherit eutils gst-plugins10 14GSTBAD_EXPF="src_unpack src_compile src_install"
15case "${EAPI:-0}" in
16 2|3|4|5) GSTBAD_EXPF+=" src_prepare src_configure" ;;
17 0|1) ;;
18 *) die "EAPI=\"${EAPI}\" is not supported yet" ;;
19esac
20
21
22EXPORT_FUNCTIONS ${GSTBAD_EXPF}
23
24# This list is current for gst-plugins-bad-0.10.21.
25my_gst_plugins_bad="directsound directdraw osx_video quicktime vcd
26assrender amrwb apexsink bz2 cdaudio celt cog dc1394 directfb dirac dts divx
27faac faad fbdev flite gsm jp2k kate ladspa lv2 libmms
28modplug mimic mpeg2enc mplex musepack musicbrainz mythtv nas neon ofa rsvg
29timidity wildmidi sdl sdltest sndfile soundtouch spc gme swfdec xvid
30dvb wininet acm vdpau schro zbar resindvd vp8"
31
32# When adding conditionals like below, be careful about having leading spaces
33
34# Changes in 0.10.22:
35# New curlsink element in a new curl plugin
36# New Blackmagic Decklink source and sink
37# New Linear Systems SDI plugin
38if version_is_at_least "0.10.22"; then
39 my_gst_plugins_bad+=" curl decklink linsys"
40fi
41
42# Unused ancient theora decoder, better one in -base long ago
43if ! version_is_at_least "0.10.22"; then
44 my_gst_plugins_bad+=" theoradec"
45fi
46
47# Changes in 0.10.21:
48# New opencv and apple_media plugins
49if version_is_at_least "0.10.21"; then
50 my_gst_plugins_bad+=" opencv apple_media"
51fi
52
53# exif for a specific jifmux tests purpose only.
54# Made automagic in 0.10.22, which is fine as a non-installed test
55if [ ${PV} == "0.10.21" ]; then
56 my_gst_plugins_bad+=" exif"
57fi
58
59# jack moved to -good, metadata removed (functionality in base classes)
60# alsaspdif gone (gst-plugins-alsa from -base can do spdif on its own long ago)
61if ! version_is_at_least "0.10.21"; then
62 my_gst_plugins_bad+=" jack metadata alsa"
63fi
64
65# Changes in 0.10.20:
66# New split plugins rtmp, gsettings and shm
67if version_is_at_least "0.10.20"; then
68 my_gst_plugins_bad+=" rtmp gsettings shm"
69fi
16 70
17MY_PN="gst-plugins-bad" 71MY_PN="gst-plugins-bad"
18MY_P=${MY_PN}-${PV} 72MY_P=${MY_PN}-${PV}
19 73
20SRC_URI="http://gstreamer.freedesktop.org/src/gst-plugins-bad/${MY_P}.tar.bz2" 74SRC_URI="http://gstreamer.freedesktop.org/src/gst-plugins-bad/${MY_P}.tar.bz2"
21 75
22# added to remove circular deps 76# added to remove circular deps
23# 6/2/2006 - zaheerm 77# 6/2/2006 - zaheerm
24if [ "${PN}" != "${MY_PN}" ]; then 78if [ "${PN}" != "${MY_PN}" ]; then
25RDEPEND="=media-libs/gstreamer-0.10* 79RDEPEND="=media-libs/gstreamer-0.10*
26 =media-libs/gst-plugins-base-0.10* 80 =media-libs/gst-plugins-base-0.10*
27 >=dev-libs/glib-2.6 81 >=dev-libs/glib-2.6"
28 >=dev-libs/liboil-0.3"
29DEPEND="${RDEPEND} 82DEPEND="${RDEPEND}
30 sys-apps/sed 83 sys-apps/sed
84 virtual/pkgconfig
31 sys-devel/gettext" 85 sys-devel/gettext"
86
87# -bad-0.10.20 uses orc optionally instead of liboil unconditionally.
88# While <0.10.20 configure always check for liboil, it is used only by non-split
89# plugins in gst/ (legacyresample and mpegdemux), so we only builddep for all
90# old packages, and have a RDEPEND in old versions of media-libs/gst-plugins-bad
91if ! version_is_at_least "0.10.20"; then
92DEPEND="${DEPEND} >=dev-libs/liboil-0.3.8"
93fi
94
95RESTRICT=test
32fi 96fi
33S=${WORKDIR}/${MY_P} 97S=${WORKDIR}/${MY_P}
34 98
35gst-plugins-bad_src_unpack() { 99gst-plugins-bad_src_unpack() {
36 local makefiles 100# local makefiles
37 101
38 unpack ${A} 102 unpack ${A}
103 has src_prepare ${GSTBAD_EXPF} || gst-plugins-bad_src_prepare
104}
39 105
106gst-plugins-bad_src_prepare() {
107 # Link with the syswide installed gst-libs if needed
40 gst-plugins10_find_plugin_dir 108 gst-plugins10_find_plugin_dir
41 cd ${S} 109 sed -e "s:\$(top_builddir)/gst-libs/gst/interfaces/libgstphotography:${ROOT}/usr/$(get_libdir)/libgstphotography:" \
110 -e "s:\$(top_builddir)/gst-libs/gst/signalprocessor/libgstsignalprocessor:${ROOT}/usr/$(get_libdir)/libgstsignalprocessor:" \
111 -e "s:\$(top_builddir)/gst-libs/gst/video/libgstbasevideo:${ROOT}/usr/$(get_libdir)/libgstbasevideo:" \
112 -e "s:\$(top_builddir)/gst-libs/gst/basecamerabinsrc/libgstbasecamerabinsrc:${ROOT}/usr/$(get_libdir)/libgstbasecamerabinsrc:" \
113 -i Makefile.in
42 114
43 # Remove generation of any other Makefiles except the plugin's Makefile 115 # Remove generation of any other Makefiles except the plugin's Makefile
44 if [[ -d "${S}/sys/${GST_PLUGINS_BUILD_DIR}" ]] ; then 116# if [[ -d "${S}/sys/${GST_PLUGINS_BUILD_DIR}" ]] ; then
45 makefiles="Makefile sys/Makefile sys/${GST_PLUGINS_BUILD_DIR}/Makefile" 117# makefiles="Makefile sys/Makefile sys/${GST_PLUGINS_BUILD_DIR}/Makefile"
46 elif [[ -d "${S}/ext/${GST_PLUGINS_BUILD_DIR}" ]] ; then 118# elif [[ -d "${S}/ext/${GST_PLUGINS_BUILD_DIR}" ]] ; then
47 makefiles="Makefile ext/Makefile ext/${GST_PLUGINS_BUILD_DIR}/Makefile" 119# makefiles="Makefile ext/Makefile ext/${GST_PLUGINS_BUILD_DIR}/Makefile"
48 fi 120# fi
49 121
50 sed -e "s:ac_config_files=.*:ac_config_files='${makefiles}':" \ 122# sed -e "s:ac_config_files=.*:ac_config_files='${makefiles}':" \
51 -i ${S}/configure 123# -i ${S}/configure
52} 124}
53 125
54gst-plugins-bad_src_configure() { 126gst-plugins-bad_src_configure() {
55 local plugin gst_conf 127 local plugin gst_conf
56 128
57 einfo "Configuring to build ${GST_PLUGINS_BUILD} plugin(s) ..." 129 einfo "Configuring to build ${GST_PLUGINS_BUILD} plugin(s) ..."
58 130
59 for plugin in ${GST_PLUGINS_BUILD} ; do
60 my_gst_plugins_bad="${my_gst_plugins_bad/${plugin}/}"
61 done
62
63 for plugin in ${my_gst_plugins_bad} ; do 131 for plugin in ${my_gst_plugins_bad} ; do
64 gst_conf="${gst_conf} --disable-${plugin}" 132 gst_conf+=" --disable-${plugin}"
65 done 133 done
66 134
67 for plugin in ${GST_PLUGINS_BUILD} ; do 135 for plugin in ${GST_PLUGINS_BUILD} ; do
68 gst_conf="${gst_conf} --enable-${plugin}" 136 gst_conf+=" --enable-${plugin}"
69 done 137 done
70 138
71 cd ${S} 139 cd ${S}
72 econf ${@} ${gst_conf} || die "configure failed" 140 econf ${@} --with-package-name="Gentoo GStreamer Ebuild" --with-package-origin="http://www.gentoo.org" ${gst_conf}
73} 141}
74 142
75gst-plugins-bad_src_compile() { 143gst-plugins-bad_src_compile() {
76 gst-plugins-bad_src_configure ${@} 144 has src_configure ${GSTBAD_EXPF} || gst-plugins-bad_src_configure ${@}
77 145
78 gst-plugins10_find_plugin_dir 146 gst-plugins10_find_plugin_dir
79 emake || die "compile failure" 147 emake || die "compile failure"
80} 148}
81 149
82gst-plugins-bad_src_install() { 150gst-plugins-bad_src_install() {
83 gst-plugins10_find_plugin_dir 151 gst-plugins10_find_plugin_dir
84 einstall || die "install failed" 152 einstall || die "install failed"
85 153
86 dodoc README 154 [[ -e README ]] && dodoc README
87} 155}
88
89EXPORT_FUNCTIONS src_unpack src_compile src_install

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.45

  ViewVC Help
Powered by ViewVC 1.1.20