/[gentoo-x86]/media-sound/xmms2/xmms2-0.8-r1.ebuild
Gentoo

Contents of /media-sound/xmms2/xmms2-0.8-r1.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.17 - (show annotations) (download)
Wed May 6 09:35:07 2015 UTC (4 years, 6 months ago) by mrueg
Branch: MAIN
CVS Tags: HEAD
Changes since 1.16: +1 -1 lines
FILE REMOVED
Remove old.

(Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key )

1 # Copyright 1999-2014 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/media-sound/xmms2/xmms2-0.8-r1.ebuild,v 1.16 2014/08/10 21:13:03 slyfox Exp $
4
5 EAPI=3
6
7 inherit eutils python toolchain-funcs
8
9 MY_P="${P}DrO_o"
10
11 DESCRIPTION="X(cross)platform Music Multiplexing System. The new generation of the XMMS player"
12 HOMEPAGE="http://xmms2.org/wiki/Main_Page"
13 SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2"
14 LICENSE="GPL-2 LGPL-2.1"
15
16 SLOT="0"
17 KEYWORDS="alpha amd64 ppc x86"
18
19 IUSE="aac airplay +alsa ao asf avahi cdda curl cxx ffmpeg flac gvfs ices
20 jack mac mlib-update mms +mad modplug mp3 mp4 musepack ofa oss
21 perl phonehome pulseaudio python ruby
22 samba +server sid sndfile speex test +vorbis vocoder wavpack xml"
23
24 RDEPEND="server? (
25 >=dev-db/sqlite-3.3.4
26
27 aac? ( >=media-libs/faad2-2.0 )
28 airplay? ( dev-libs/openssl )
29 alsa? ( media-libs/alsa-lib )
30 ao? ( media-libs/libao )
31 avahi? ( net-dns/avahi[mdnsresponder-compat] )
32 cdda? ( dev-libs/libcdio-paranoia
33 >=media-libs/libdiscid-0.1.1
34 >=media-sound/cdparanoia-3.9.8 )
35 curl? ( >=net-misc/curl-7.15.1 )
36 ffmpeg? ( virtual/ffmpeg )
37 flac? ( media-libs/flac )
38 gvfs? ( gnome-base/gnome-vfs )
39 ices? ( media-libs/libogg
40 media-libs/libshout
41 media-libs/libvorbis )
42 jack? ( >=media-sound/jack-audio-connection-kit-0.101.1 )
43 mac? ( media-sound/mac )
44 mms? ( virtual/ffmpeg
45 >=media-libs/libmms-0.3 )
46 modplug? ( media-libs/libmodplug )
47 mad? ( media-libs/libmad )
48 mp3? ( >=media-sound/mpg123-1.5.1 )
49 musepack? ( media-sound/musepack-tools )
50 ofa? ( media-libs/libofa )
51 pulseaudio? ( media-sound/pulseaudio )
52 samba? ( net-fs/samba[smbclient] )
53 sid? ( media-sound/sidplay
54 media-libs/resid )
55 sndfile? ( media-libs/libsndfile )
56 speex? ( media-libs/speex
57 media-libs/libogg )
58 vorbis? ( media-libs/libvorbis )
59 vocoder? ( sci-libs/fftw media-libs/libsamplerate )
60 wavpack? ( media-sound/wavpack )
61 xml? ( dev-libs/libxml2 )
62 )
63
64 >=dev-libs/glib-2.12.9
65 cxx? ( >=dev-libs/boost-1.32 )
66 perl? ( >=dev-lang/perl-5.8.8 )
67 python? ( dev-lang/python )
68 ruby? ( >=dev-lang/ruby-1.8.5 ) "
69
70 DEPEND="${RDEPEND}
71 dev-lang/python
72 python? ( dev-python/pyrex )
73 perl? ( virtual/perl-Module-Build )
74 virtual/pkgconfig
75 test? ( dev-util/cunit )
76 "
77
78 S="${WORKDIR}/${MY_P}"
79
80 # use_enable() is taken as proto
81 # $1 - useflag
82 # $2 - xmms2 option/plugin name (equals to $1 if not set)
83
84 xmms2_flag() {
85 [[ -z $1 ]] && eerror "!!! empty arg. usage: xmms2_flag <USEFLAG> [<xmms2_flagname>]."
86
87 local UWORD=${2:-$1}
88
89 case $1 in
90 ENABLED)
91 echo ",${UWORD}"
92 ;;
93 DISABLED)
94 ;;
95 *)
96 use $1 && echo ",${UWORD}"
97 ;;
98 esac
99 }
100
101 pkg_setup() {
102 python_pkg_setup
103 }
104
105 src_prepare() {
106 ./waf # inflate waf
107 cd .waf* || die
108 epatch "${FILESDIR}/${PN}"-0.8DrO_o-waflib-fix-perl.patch
109 cd "${S}"
110 epatch "${FILESDIR}/${P}"-ffmpeg-0.11.patch #443256
111 epatch "${FILESDIR}/${P}"-libav-9-p2.patch #443256
112 epatch "${FILESDIR}/${P}"-libav-9.patch #443256
113 epatch "${FILESDIR}/${P}"-cython-0.19.1.patch
114 epatch "${FILESDIR}/${P}"-memset.patch
115
116 if has_version dev-libs/libcdio-paranoia; then
117 sed -i -e 's:cdio/cdda.h:cdio/paranoia/cdda.h:' src/plugins/cdda/cdda.c || die
118 fi
119 }
120
121 src_configure() {
122 # ./configure alike options.
123 local waf_params="--prefix=/usr \
124 --libdir=/usr/$(get_libdir) \
125 --with-target-platform=${CHOST} \
126 --mandir=/usr/share/man \
127 --infodir=/usr/share/info \
128 --datadir=/usr/share \
129 --sysconfdir=/etc \
130 --localstatedir=/var/lib"
131
132 local optionals=""
133 local plugins=""
134 if ! use server ; then
135 waf_params+=" --without-xmms2d"
136 else
137 # some fun static mappings:
138 local option_map=( # USE # sorted xmms2 option flag (same, as USE if empty)
139 "phonehome et"
140 "ENABLED launcher"
141 "mlib-update medialib-updater"
142 "ENABLED nycli"
143 " perl"
144 "ENABLED pixmaps"
145 " python"
146 " ruby"
147 "DISABLED tests"
148 "DISABLED vistest"
149 "cxx xmmsclient++"
150 "cxx xmmsclient++-glib"
151 "DISABLED xmmsclient-cf"
152 "DISABLED xmmsclient-ecore" # not in tree
153
154 "test tests"
155 )
156
157 local plugin_map=( # USE # sorted xmms2 plugin flag (same, as USE if empty)
158 " alsa"
159 " airplay"
160 " ao"
161 "ffmpeg apefile"
162 "ffmpeg avcodec"
163 " asf"
164 "ENABLED asx"
165 " cdda"
166 "DISABLED coreaudio" # MacOS only?
167 " curl"
168 "ENABLED cue"
169 "avahi daap"
170 "ENABLED diskwrite"
171 "ENABLED equalizer"
172 "aac faad"
173 "ENABLED file"
174 " flac"
175 "ffmpeg flv"
176 "ffmpeg tta"
177 "DISABLED gme" # not in tree
178 " gvfs"
179 "ENABLED html"
180 " ices"
181 "ENABLED icymetaint"
182 "ENABLED id3v2"
183 " jack"
184 "ENABLED karaoke"
185 "ENABLED m3u"
186 " mac"
187 " mms"
188 " mad"
189 " mp4" # bug #387961 (aac, mp3, ape can sit there)
190 "mp3 mpg123"
191 " modplug"
192 " musepack"
193 "DISABLED nms" # not in tree
194 "ENABLED normalize"
195 "ENABLED null"
196 "ENABLED nulstripper"
197 " ofa"
198 " oss"
199 "ENABLED pls"
200 "pulseaudio pulse"
201 "ENABLED replaygain"
202 "xml rss"
203 " samba"
204 "DISABLED sc68" #not in tree
205 " sid"
206 " sndfile"
207 " speex"
208 "DISABLED sun" # {Open,Net}BSD only
209 "DISABLED tremor" # not in tree
210 " vorbis"
211 " vocoder"
212 "ffmpeg tta"
213 "ENABLED wave"
214 "DISABLED waveout" # windows only
215 " wavpack"
216 "xml xspf"
217 "ENABLED xml"
218 )
219
220 local option
221 for option in "${option_map[@]}"; do
222 optionals+=$(xmms2_flag $option)
223 done
224
225 local plugin
226 for plugin in "${plugin_map[@]}"; do
227 plugins+=$(xmms2_flag $plugin)
228 done
229 fi # ! server
230
231 # pass them explicitely even if empty as we try to avoid magic deps
232 waf_params+=" --with-optionals=${optionals:1}" # skip first ',' if yet
233 waf_params+=" --with-plugins=${plugins:1}"
234
235 CC="$(tc-getCC)" \
236 CPP="$(tc-getCPP)" \
237 AR="$(tc-getAR)" \
238 RANLIB="$(tc-getRANLIB)" \
239 CXX="$(tc-getCXX)" \
240 ./waf configure ${waf_params} || die "'waf configure' failed"
241 }
242
243 src_compile() {
244 # waf is very keen to run tests in build phase (bug #424377) but
245 # it does not bother running tests twice, so the hack below works:
246 ./waf --verbose build || ./waf --verbose build || die "waf build failed"
247 }
248
249 src_test() {
250 # rerun tests
251 ./waf --alltests || die "waf --alltests failed"
252 }
253
254 src_install() {
255 ./waf --without-ldconfig --destdir="${D}" install || die "'waf install' failed"
256 dodoc AUTHORS TODO README
257
258 use python && python_need_rebuild
259 }
260
261 pkg_postinst() {
262 elog "This version is built on experimental development code"
263 elog "If you encounter any errors report them at http://bugs.xmms2.org"
264 elog "and visit #xmms2 at irc://irc.freenode.net"
265 if use phonehome ; then
266 einfo ""
267 einfo "The phone-home client xmms2-et was activated"
268 einfo "This client sends anonymous usage-statistics to the xmms2"
269 einfo "developers which may help finding bugs"
270 einfo "Disable the phonehome useflag if you don't like that"
271 fi
272
273 use python && python_mod_optimize xmmsclient
274 }
275
276 pkg_postrm() {
277 use python && python_mod_cleanup xmmsclient
278 }

  ViewVC Help
Powered by ViewVC 1.1.20