Version bump. Added FEATURES=test support.
authorSergei Trofimovich <slyfox@gentoo.org>
Fri, 21 Oct 2011 18:01:10 +0000 (18:01 +0000)
committerSergei Trofimovich <slyfox@gentoo.org>
Fri, 21 Oct 2011 18:01:10 +0000 (18:01 +0000)
Package-Manager: portage-2.1.10.11/cvs/Linux x86_64

media-sound/xmms2/ChangeLog
media-sound/xmms2/Manifest
media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch [new file with mode: 0644]
media-sound/xmms2/xmms2-0.8.ebuild [new file with mode: 0644]

index 2cff0e07f8e874acb12138f8d9ad04deb6d07c47..2ada16b1b914f0206af1cbd98e7e9a268142d9c0 100644 (file)
@@ -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:
index a68c37dfe1181db480387339083396678354bba2..850d5d30b58a7487d29d564384edf44899d6afc9 100644 (file)
@@ -1,20 +1,21 @@
 -----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
+Hash: SHA1
 
 AUX xmms2-0.7DrNo-XsParse-3.patch 1544 RMD160 6903d87e738a1f30b665a68bdcdb932b9fcc0e8b SHA1 3ab9f160bbfcec3aff50e5b94a25e3ecaf668920 SHA256 9b690bec7c5e82eb905c95f01bdc321785caf72f88308d08b78f90e231304160
 AUX xmms2-0.7DrNo-missing-protos.patch 4252 RMD160 0d3d15c8b326690bab11850450f02462c76ec2a8 SHA1 bee9cfb77011e1537c1526005343d288f4bf9946 SHA256 76c5953772fa9a2108384539235cbd5127948f8f7a0a5d354faf99b7f916dcd3
 AUX xmms2-0.7DrNo-windres-build-fix.patch 1929 RMD160 61f8840d4e4349b5459f6760b94f0a439b6cfa87 SHA1 41ccd4db5c48d70a860d59ebb323796f243774bf SHA256 f71546af163b017678282a9ded8ec8e70ea486b95f96c68a62ad5a3edf0db39f
+AUX xmms2-0.8DrO_o-waflib-fix-perl.patch 1649 RMD160 e17cc600a9a83d31fcbbdf755508e9cafdfdc022 SHA1 63b4be1fd069d311aaa26980a1589b56e748fecb SHA256 bea1cb2c5fe499e385851a2cc7900658266187e821f505a65d4d27393967f44b
 DIST xmms2-0.7DrNo.tar.bz2 1519973 RMD160 3a526df9fa1ed5103b6a252c34c0394bf0e4f156 SHA1 4999568654a0d2aba84bda4b22145058bbd3fcb2 SHA256 59c58d9380e6b002920a8dc75f0fd4629ab175b82f29b6637f7816fdc9832b2c
+DIST xmms2-0.8DrO_o.tar.bz2 1670726 RMD160 35513d7eddd5f79146cb8aa5c6c0bb35369619ec SHA1 9f7585571d95acd98df48c37948e8638fae7cc3a SHA256 c77e41e7bd5788889d5a2f78331ca8c748b8721bd2e59f36c36ad4c7cae8694a
 EBUILD xmms2-0.7-r2.ebuild 6240 RMD160 882dd49e27680bd924afa47daeee356291b4018e SHA1 35e54a2f176516ea7fd5f1a9e71640e7f0af3608 SHA256 91b40b2652de69cc3430114f57b16aa4fb3f3958fdd8b9d8c37c97afea6a5d94
 EBUILD xmms2-0.7-r3.ebuild 6482 RMD160 78fd75bfb9107f5a76cf87d57f95d81a068014cc SHA1 8f3098148f510f05a1c86cd9adadff44cdcdae47 SHA256 150381aaa1cf362c8ffabd664df6e0b8f6711b9cd7304cd0a5cc502b388adb80
-MISC ChangeLog 3131 RMD160 367f799dfb6a9599b73ce77a3b24d48d478a7ae0 SHA1 882a8ade89067f3802c789e90235b96a7d765a14 SHA256 df9800f1d789e395bda9eb639368eb3fa27e476f9495d7f6615b2246d3484efe
+EBUILD xmms2-0.8.ebuild 6567 RMD160 6aa9c233f5bbcf9384ccc7add714e0a26d78d884 SHA1 9dca98529eb6ee74dfe00dc3e57925a3b153bfe0 SHA256 879086b13d13cb4589c0d9aa9d90738a95f023e8bfdeee3bf56286680174d37d
+MISC ChangeLog 3323 RMD160 8bf5e90585e8203fdf92eb8fe05fe25900dbcadd SHA1 3323505bdd0457dde21457d7616a55ad4d852329 SHA256 1fb13ca940ec264006434f377bde89a816ff7d769cd29645612ef3ad509c3cc4
 MISC metadata.xml 2435 RMD160 d3b18498cda492b5a64c4bc05cce867babd2707d SHA1 5130db5388108bb558a3d270dfd4a7c2454ca7d8 SHA256 f7fb6c7694bf849149c7f3f3f2aec711543d994f782b95dd75ca1759bcc1e22a
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.18 (GNU/Linux)
+Version: GnuPG v2.0.17 (GNU/Linux)
 
-iJwEAQEIAAYFAk59o8gACgkQfXuS5UK5QB0vAAP/TIrM0qd+ODVTX8pP9vV8Uehk
-Urkw68suBq6i6hiP6BMR2557VnBbsTuiRi/boUP2pLZBDVO9CGopRW+LFM7fAsGP
-NmaaAkWD7iP4FYEXHGwY8q0lMgtfxQejbQ62Slch4R06mlhU3vtS3spR0wwA0itt
-3FYTgrV3Y9mNR78QuXQ=
-=w0oV
+iEYEARECAAYFAk6htEwACgkQcaHudmEf86oOnACfe95h1P75lWAVpFFM0niwWYi0
+r98An0m9F59Igg54K+VfprxS+oe9W2r6
+=pz9T
 -----END PGP SIGNATURE-----
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 (file)
index 0000000..d4c10b9
--- /dev/null
@@ -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 (file)
index 0000000..001e4b8
--- /dev/null
@@ -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
+}