diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2011-10-21 18:01:10 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2011-10-21 18:01:10 +0000 |
commit | a20e57a0b2a363dae44ef33099a252fc90dae8d9 (patch) | |
tree | 5dd3dd6ff25e3f5f9e10c513cc82d9cd273fd763 /media-sound/xmms2 | |
parent | Version bump and remove old (fixes bug #387701). (diff) | |
download | gentoo-2-a20e57a0b2a363dae44ef33099a252fc90dae8d9.tar.gz gentoo-2-a20e57a0b2a363dae44ef33099a252fc90dae8d9.tar.bz2 gentoo-2-a20e57a0b2a363dae44ef33099a252fc90dae8d9.zip |
Version bump. Added FEATURES=test support.
(Portage version: 2.1.10.11/cvs/Linux x86_64)
Diffstat (limited to 'media-sound/xmms2')
-rw-r--r-- | media-sound/xmms2/ChangeLog | 8 | ||||
-rw-r--r-- | media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch | 26 | ||||
-rw-r--r-- | media-sound/xmms2/xmms2-0.8.ebuild | 266 |
3 files changed, 299 insertions, 1 deletions
diff --git a/media-sound/xmms2/ChangeLog b/media-sound/xmms2/ChangeLog index 2cff0e07f8e8..2ada16b1b914 100644 --- a/media-sound/xmms2/ChangeLog +++ b/media-sound/xmms2/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-sound/xmms2 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/xmms2/ChangeLog,v 1.16 2011/08/25 20:03:51 slyfox Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/xmms2/ChangeLog,v 1.17 2011/10/21 18:01:10 slyfox Exp $ + +*xmms2-0.8 (21 Oct 2011) + + 21 Oct 2011; Sergei Trofimovich <slyfox@gentoo.org> +xmms2-0.8.ebuild, + +files/xmms2-0.8DrO_o-waflib-fix-perl.patch: + Version bump. Added FEATURES=test support. 25 Aug 2011; Sergei Trofimovich <slyfox@gentoo.org> xmms2-0.7-r3.ebuild, +files/xmms2-0.7DrNo-XsParse-3.patch: diff --git a/media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch b/media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch new file mode 100644 index 000000000000..d4c10b98548a --- /dev/null +++ b/media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch @@ -0,0 +1,26 @@ +Fix build failure when user has non-core xsubpp. + +> Could not find a typemap for C type 'xmmsv_t *' in XMMSClientPlaylist.xs, line 132 +> Undefined subroutine &ExtUtils::ParseXS::errors called at /usr/lib/perl5/5.12.4/ExtUtils/xsubpp line 41. +> Undefined subroutine &ExtUtils::ParseXS::errors called at /usr/lib/perl5/5.12.4/ExtUtils/xsubpp line 41. +> Could not find a typemap for C type 'const unsigned char *' in XMMSClient.xs, line 1179 + +Use xsubpp from @INC instead of bundled one with perl. + +Original bug: https://bugs.gentoo.org/380469 +Related: https://bugs.gentoo.org/378783 +diff --git a/waflib/Tools/perl.py b/waflib/Tools/perl.py +index 2c69fe5..a75b069 100644 +--- a/waflib/Tools/perl.py ++++ b/waflib/Tools/perl.py +@@ -60,8 +60,8 @@ def check_perl_ext_devel(self): + env['LINKFLAGS_PERLEXT']=read_out(" -MConfig -e'print $Config{lddlflags}'") + env['INCLUDES_PERLEXT']=read_out(" -MConfig -e'print \"$Config{archlib}/CORE\"'") + env['CFLAGS_PERLEXT']=read_out(" -MConfig -e'print \"$Config{ccflags} $Config{cccdlflags}\"'") +- env['XSUBPP']=read_out(" -MConfig -e'print \"$Config{privlib}/ExtUtils/xsubpp$Config{exe_ext}\"'") +- env['EXTUTILS_TYPEMAP']=read_out(" -MConfig -e'print \"$Config{privlib}/ExtUtils/typemap\"'") ++ env["XSUBPP"] = read_out(" -MModule::Build -e'print Module::Build::ModuleInfo->find_module_by_name(\"ExtUtils::xsubpp\")'") ++ env["EXTUTILS_TYPEMAP"] = read_out(" -MModule::Build -e'print Module::Build::ModuleInfo->find_module_by_name(\"ExtUtils::typemap\")'") + if not getattr(Options.options,'perlarchdir',None): + env['ARCHDIR_PERL']=self.cmd_and_log(perl+" -MConfig -e'print $Config{sitearch}'") + else: diff --git a/media-sound/xmms2/xmms2-0.8.ebuild b/media-sound/xmms2/xmms2-0.8.ebuild new file mode 100644 index 000000000000..001e4b8c207d --- /dev/null +++ b/media-sound/xmms2/xmms2-0.8.ebuild @@ -0,0 +1,266 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/xmms2/xmms2-0.8.ebuild,v 1.1 2011/10/21 18:01:10 slyfox Exp $ + +EAPI=3 + +inherit eutils python toolchain-funcs + +MY_P="${P}DrO_o" + +DESCRIPTION="X(cross)platform Music Multiplexing System. The new generation of the XMMS player." +HOMEPAGE="http://xmms2.org/wiki/Main_Page" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2" +LICENSE="GPL-2 LGPL-2.1" + +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~x86" + +IUSE="aac airplay +alsa ao asf avahi cdda curl cxx ffmpeg flac gvfs ices +jack mac mlib-update mms +mad modplug mp3 musepack ofa oss +perl phonehome pulseaudio python ruby +samba +server sid sndfile speex test +vorbis vocoder wavpack xml" + +RDEPEND="server? ( + >=dev-db/sqlite-3.3.4 + + aac? ( >=media-libs/faad2-2.0 ) + airplay? ( dev-libs/openssl ) + alsa? ( media-libs/alsa-lib ) + ao? ( media-libs/libao ) + avahi? ( net-dns/avahi[mdnsresponder-compat] ) + cdda? ( dev-libs/libcdio + >=media-libs/libdiscid-0.1.1 + >=media-sound/cdparanoia-3.9.8 ) + curl? ( >=net-misc/curl-7.15.1 ) + ffmpeg? ( virtual/ffmpeg ) + flac? ( media-libs/flac ) + gvfs? ( gnome-base/gnome-vfs ) + ices? ( media-libs/libogg + media-libs/libshout + media-libs/libvorbis ) + jack? ( >=media-sound/jack-audio-connection-kit-0.101.1 ) + mac? ( media-sound/mac ) + mms? ( virtual/ffmpeg + >=media-libs/libmms-0.3 ) + modplug? ( media-libs/libmodplug ) + mad? ( media-sound/madplay ) + mp3? ( >=media-sound/mpg123-1.5.1 ) + musepack? ( media-sound/musepack-tools ) + ofa? ( media-libs/libofa ) + pulseaudio? ( media-sound/pulseaudio ) + samba? ( net-fs/samba[smbclient] ) + sid? ( media-sound/sidplay + media-libs/resid ) + sndfile? ( media-libs/libsndfile ) + speex? ( media-libs/speex + media-libs/libogg ) + vorbis? ( media-libs/libvorbis ) + vocoder? ( sci-libs/fftw media-libs/libsamplerate ) + wavpack? ( media-sound/wavpack ) + xml? ( dev-libs/libxml2 ) + + test? ( dev-util/cunit ) + ) + + >=dev-libs/glib-2.12.9 + cxx? ( >=dev-libs/boost-1.32 ) + perl? ( >=dev-lang/perl-5.8.8 ) + python? ( dev-lang/python ) + ruby? ( >=dev-lang/ruby-1.8.5 ) " + +DEPEND="${RDEPEND} + dev-lang/python + python? ( dev-python/pyrex ) + perl? ( virtual/perl-Module-Build ) + dev-util/pkgconfig" + +S="${WORKDIR}/${MY_P}" + +# use_enable() is taken as proto +# $1 - useflag +# $2 - xmms2 option/plugin name (equals to $1 if not set) + +xmms2_flag() { + [[ -z $1 ]] && eerror "!!! empty arg. usage: xmms2_flag <USEFLAG> [<xmms2_flagname>]." + + local UWORD=${2:-$1} + + case $1 in + ENABLED) + echo ",${UWORD}" + ;; + DISABLED) + ;; + *) + use $1 && echo ",${UWORD}" + ;; + esac +} + +pkg_setup() { + python_pkg_setup +} + +src_prepare() { + ./waf # inflate waf + cd .waf* || die + epatch "${FILESDIR}/${PN}"-0.8DrO_o-waflib-fix-perl.patch + cd "${S}" +} + +src_configure() { + # ./configure alike options. + local waf_params="--prefix=/usr \ + --libdir=/usr/$(get_libdir) \ + --with-target-platform=${CHOST} \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --datadir=/usr/share \ + --sysconfdir=/etc \ + --localstatedir=/var/lib" + + local optionals="" + local plugins="" + if ! use server ; then + waf_params+=" --without-xmms2d" + else + # some fun static mappings: + local option_map=( # USE # sorted xmms2 option flag (same, as USE if empty) + "avahi avahi" + "avahi dns_sd" + "phonehome et" + "ENABLED launcher" + "mlib-update medialib-updater" + "ENABLED nycli" + " perl" + "ENABLED pixmaps" + " python" + " ruby" + "DISABLED tests" + "DISABLED vistest" + "cxx xmmsclient++" + "cxx xmmsclient++-glib" + "DISABLED xmmsclient-cf" + "DISABLED xmmsclient-ecore" # not in tree + + "test tests" + ) + + local plugin_map=( # USE # sorted xmms2 plugin flag (same, as USE if empty) + " alsa" + " airplay" + " ao" + "ffmpeg apefile" + "ffmpeg avcodec" + " asf" + "ENABLED asx" + " cdda" + "DISABLED coreaudio" # MacOS only? + " curl" + "ENABLED cue" + "avahi daap" + "ENABLED diskwrite" + "ENABLED equalizer" + "aac faad" + "ENABLED file" + " flac" + "ffmpeg flv" + "ffmpeg tta" + "DISABLED gme" # not in tree + " gvfs" + "ENABLED html" + " ices" + "ENABLED icymetaint" + "ENABLED id3v2" + " jack" + "ENABLED karaoke" + "ENABLED m3u" + " mac" + " mms" + " mad" + "DISABLED mp4" # uses bundled patched faad2 + "mp3 mpg123" + " modplug" + " musepack" + "DISABLED nms" # not in tree + "ENABLED normalize" + "ENABLED null" + "ENABLED nulstripper" + " ofa" + " oss" + "ENABLED pls" + "pulseaudio pulse" + "ENABLED replaygain" + "xml rss" + " samba" + "DISABLED sc68" #not in tree + " sid" + " sndfile" + " speex" + "DISABLED sun" # {Open,Net}BSD only + "DISABLED tremor" # not in tree + " vorbis" + " vocoder" + "ffmpeg tta" + "ENABLED wave" + "DISABLED waveout" # windows only + " wavpack" + "xml xspf" + "ENABLED xml" + ) + + local option + for option in "${option_map[@]}"; do + optionals+=$(xmms2_flag $option) + done + + local plugin + for plugin in "${plugin_map[@]}"; do + plugins+=$(xmms2_flag $plugin) + done + fi # ! server + + # pass them explicitely even if empty as we try to avoid magic deps + waf_params+=" --with-optionals=${optionals:1}" # skip first ',' if yet + waf_params+=" --with-plugins=${plugins:1}" + + + CC="$(tc-getCC)" \ + CPP="$(tc-getCPP)" \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" \ + CXX="$(tc-getCXX)" \ + ./waf configure ${waf_params} || die "'waf configure' failed" +} + +src_compile() { + # also runs tests if 'use test' in enabled (see tests option) + ./waf build || die "waf build failed" +} + +src_install() { + ./waf --without-ldconfig --destdir="${D}" install || die "'waf install' failed" + dodoc AUTHORS TODO README + + use python && python_need_rebuild +} + +pkg_postinst() { + elog "This version is built on experimental development code" + elog "If you encounter any errors report them at http://bugs.xmms2.xmms.se" + elog "and visit #xmms2 at irc://irc.freenode.net" + if use phonehome ; then + einfo "" + einfo "The phone-home client xmms2-et was activated" + einfo "This client sends anonymous usage-statistics to the xmms2" + einfo "developers which may help finding bugs" + einfo "Disable the phonehome useflag if you don't like that" + fi + + use python && python_mod_optimize xmmsclient +} + +pkg_postrm() { + use python && python_mod_cleanup xmmsclient +} |