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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.45 - (show annotations) (download)
Thu Sep 27 16:35:41 2012 UTC (22 months ago) by axs
Branch: MAIN
Changes since 1.44: +2 -2 lines
naive bump of all EAPI-specific checks in eclasses to permit EAPI=5 where EAPI=4 was previously allowed

1 # Copyright 1999-2012 Gentoo Foundation
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.44 2012/06/20 08:49:27 scarabeus Exp $
4
5 #
6 # Original Author: Saleem Abdulrasool <compnerd@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
9 # plugin rather than in a single package.
10 #
11
12 inherit eutils multilib versionator gst-plugins10
13
14 GSTBAD_EXPF="src_unpack src_compile src_install"
15 case "${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" ;;
19 esac
20
21
22 EXPORT_FUNCTIONS ${GSTBAD_EXPF}
23
24 # This list is current for gst-plugins-bad-0.10.21.
25 my_gst_plugins_bad="directsound directdraw osx_video quicktime vcd
26 assrender amrwb apexsink bz2 cdaudio celt cog dc1394 directfb dirac dts divx
27 faac faad fbdev flite gsm jp2k kate ladspa lv2 libmms
28 modplug mimic mpeg2enc mplex musepack musicbrainz mythtv nas neon ofa rsvg
29 timidity wildmidi sdl sdltest sndfile soundtouch spc gme swfdec xvid
30 dvb 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
38 if version_is_at_least "0.10.22"; then
39 my_gst_plugins_bad+=" curl decklink linsys"
40 fi
41
42 # Unused ancient theora decoder, better one in -base long ago
43 if ! version_is_at_least "0.10.22"; then
44 my_gst_plugins_bad+=" theoradec"
45 fi
46
47 # Changes in 0.10.21:
48 # New opencv and apple_media plugins
49 if version_is_at_least "0.10.21"; then
50 my_gst_plugins_bad+=" opencv apple_media"
51 fi
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
55 if [ ${PV} == "0.10.21" ]; then
56 my_gst_plugins_bad+=" exif"
57 fi
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)
61 if ! version_is_at_least "0.10.21"; then
62 my_gst_plugins_bad+=" jack metadata alsa"
63 fi
64
65 # Changes in 0.10.20:
66 # New split plugins rtmp, gsettings and shm
67 if version_is_at_least "0.10.20"; then
68 my_gst_plugins_bad+=" rtmp gsettings shm"
69 fi
70
71 MY_PN="gst-plugins-bad"
72 MY_P=${MY_PN}-${PV}
73
74 SRC_URI="http://gstreamer.freedesktop.org/src/gst-plugins-bad/${MY_P}.tar.bz2"
75
76 # added to remove circular deps
77 # 6/2/2006 - zaheerm
78 if [ "${PN}" != "${MY_PN}" ]; then
79 RDEPEND="=media-libs/gstreamer-0.10*
80 =media-libs/gst-plugins-base-0.10*
81 >=dev-libs/glib-2.6"
82 DEPEND="${RDEPEND}
83 sys-apps/sed
84 virtual/pkgconfig
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
91 if ! version_is_at_least "0.10.20"; then
92 DEPEND="${DEPEND} >=dev-libs/liboil-0.3.8"
93 fi
94
95 RESTRICT=test
96 fi
97 S=${WORKDIR}/${MY_P}
98
99 gst-plugins-bad_src_unpack() {
100 # local makefiles
101
102 unpack ${A}
103 has src_prepare ${GSTBAD_EXPF} || gst-plugins-bad_src_prepare
104 }
105
106 gst-plugins-bad_src_prepare() {
107 # Link with the syswide installed gst-libs if needed
108 gst-plugins10_find_plugin_dir
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
114
115 # Remove generation of any other Makefiles except the plugin's Makefile
116 # if [[ -d "${S}/sys/${GST_PLUGINS_BUILD_DIR}" ]] ; then
117 # makefiles="Makefile sys/Makefile sys/${GST_PLUGINS_BUILD_DIR}/Makefile"
118 # elif [[ -d "${S}/ext/${GST_PLUGINS_BUILD_DIR}" ]] ; then
119 # makefiles="Makefile ext/Makefile ext/${GST_PLUGINS_BUILD_DIR}/Makefile"
120 # fi
121
122 # sed -e "s:ac_config_files=.*:ac_config_files='${makefiles}':" \
123 # -i ${S}/configure
124 }
125
126 gst-plugins-bad_src_configure() {
127 local plugin gst_conf
128
129 einfo "Configuring to build ${GST_PLUGINS_BUILD} plugin(s) ..."
130
131 for plugin in ${my_gst_plugins_bad} ; do
132 gst_conf+=" --disable-${plugin}"
133 done
134
135 for plugin in ${GST_PLUGINS_BUILD} ; do
136 gst_conf+=" --enable-${plugin}"
137 done
138
139 cd ${S}
140 econf ${@} --with-package-name="Gentoo GStreamer Ebuild" --with-package-origin="http://www.gentoo.org" ${gst_conf}
141 }
142
143 gst-plugins-bad_src_compile() {
144 has src_configure ${GSTBAD_EXPF} || gst-plugins-bad_src_configure ${@}
145
146 gst-plugins10_find_plugin_dir
147 emake || die "compile failure"
148 }
149
150 gst-plugins-bad_src_install() {
151 gst-plugins10_find_plugin_dir
152 einstall || die "install failed"
153
154 [[ -e README ]] && dodoc README
155 }

  ViewVC Help
Powered by ViewVC 1.1.20