summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2010-06-30 05:30:53 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2010-06-30 05:30:53 +0000
commit7c5762d0ad94de66323da2700d8edcd33c75db1a (patch)
tree44de97765e9d4a65ec1bc740aeb5330095bf07ed /media-sound/xmms2
parenteconf dies on its own. (diff)
downloadgentoo-2-7c5762d0ad94de66323da2700d8edcd33c75db1a.tar.gz
gentoo-2-7c5762d0ad94de66323da2700d8edcd33c75db1a.tar.bz2
gentoo-2-7c5762d0ad94de66323da2700d8edcd33c75db1a.zip
New package: media-sound/xmms2. Bug #93583
(Portage version: 2.1.8.3/cvs/Linux x86_64)
Diffstat (limited to 'media-sound/xmms2')
-rw-r--r--media-sound/xmms2/ChangeLog12
-rw-r--r--media-sound/xmms2/files/xmms2-0.7DrNo-windres-build-fix.patch52
-rw-r--r--media-sound/xmms2/metadata.xml50
-rw-r--r--media-sound/xmms2/xmms2-0.7.ebuild242
4 files changed, 356 insertions, 0 deletions
diff --git a/media-sound/xmms2/ChangeLog b/media-sound/xmms2/ChangeLog
new file mode 100644
index 000000000000..3240e6c39f04
--- /dev/null
+++ b/media-sound/xmms2/ChangeLog
@@ -0,0 +1,12 @@
+# ChangeLog for media-sound/xmms2
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/xmms2/ChangeLog,v 1.1 2010/06/30 05:30:53 slyfox Exp $
+
+*xmms2-0.7 (30 Jun 2010)
+
+ 30 Jun 2010; Sergei Trofimovich <slyfox@gentoo.org> +xmms2-0.7.ebuild,
+ +files/xmms2-0.7DrNo-windres-build-fix.patch, +metadata.xml:
+ Initial commit. Thanks everyone, who conributed to resolve bug #93583.
+ Special thanks to Mike Frysinger <vapier@gentoo.org> for help to cleanup
+ an ebuild.
+
diff --git a/media-sound/xmms2/files/xmms2-0.7DrNo-windres-build-fix.patch b/media-sound/xmms2/files/xmms2-0.7DrNo-windres-build-fix.patch
new file mode 100644
index 000000000000..26cdcf914706
--- /dev/null
+++ b/media-sound/xmms2/files/xmms2-0.7DrNo-windres-build-fix.patch
@@ -0,0 +1,52 @@
+commit 3bc7fbff50bfcb065fb89d020c1b3fb8de049b19
+Author: Sergei Trofimovich <st@anti-virus.by>
+Date: Mon Apr 19 13:16:56 2010 +0300
+
+ OTHER: fix build failure on windres aware binutils (linux host, native build)
+
+ Trying to use windres under linux (native build) is worthless:
+
+ [ 26/269] winrc: pixmaps/xmms2.rc -> _build_/default/pixmaps/xmms2.rc.o
+ /usr/bin/windres: can't get BFD_RELOC_RVA relocation type: No error
+ Waf: Leaving directory `/var/tmp/paludis/media-sound-xmms2-9999-r3/work/xmms2-devel/_build_'
+ Build failed
+ -> task failed (err #1):
+ {task: winrc xmms2.rc -> xmms2.rc.o}
+
+ Signed-off-by: Sergei Trofimovich <st@anti-virus.by>
+
+diff --git a/wscript b/wscript
+index 2a29016..1d73813 100644
+--- a/wscript
++++ b/wscript
+@@ -265,12 +265,6 @@ def configure(conf):
+ conf.check_tool('gcc')
+ conf.check_tool('g++')
+
+- try:
+- conf.check_tool('winres')
+- conf.env['WINRCFLAGS'] = '-I' + os.path.abspath('pixmaps')
+- conf.env['xmms_icon'] = True
+- except Configure.ConfigurationError:
+- conf.env['xmms_icon'] = False
+
+ if Options.options.target_platform:
+ Options.platform = Options.options.target_platform
+@@ -412,6 +406,17 @@ def configure(conf):
+ else:
+ conf.env['socket_impl'] = 'posix'
+
++ # platform does not support icons ...
++ conf.env['xmms_icon'] = False
++ # ... unless we target on windows
++ if Options.platform == 'win32':
++ try:
++ conf.check_tool('winres')
++ conf.env['WINRCFLAGS'] = '-I' + os.path.abspath('pixmaps')
++ conf.env['xmms_icon'] = True
++ except Configure.ConfigurationError:
++ pass
++
+ # Glib is required by everyone, so check for it here and let them
+ # assume its presence.
+ conf.check_cfg(package='glib-2.0', atleast_version='2.8.0', uselib_store='glib2', args='--cflags --libs', mandatory=1)
diff --git a/media-sound/xmms2/metadata.xml b/media-sound/xmms2/metadata.xml
new file mode 100644
index 000000000000..849e014d5233
--- /dev/null
+++ b/media-sound/xmms2/metadata.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>no-herd</herd>
+ <maintainer>
+ <email>slyfox@gentoo.org</email>
+ <name>Sergei Trofimovich</name>
+ <description>Primary Maintainer</description>
+ </maintainer>
+ <longdescription>
+ It features a client-server model, allowing multiple (even simultaneous!) user
+ interfaces, both textual and graphical. All common audio formats are supported
+ using plugins. On top of this, there is a flexible media library to organize
+ your music.
+
+ List of features currently offered by XMMS2:
+ Client-server model:
+ * Allows XMMS2 to have various multiple interfaces (as clients).
+ o Command line interfaces
+ o GTK clients (matching GNOME &amp; XFCE4 look and feel)
+ o KDE clients (matching KDE look and feel)
+ * Network transparency means you can run and control XMMS2 remotely, (e.g. run
+ XMMS2 on your 'media box' and control it over network using a bluetooth-enabled
+ PDA (TCP))
+ Wide format support:
+ * Can play FLAC, mp3, MOD, SID, speex, ogg vorbis, wave files.
+ * Clean separation of transport and decoder subsystems
+ Allows for more flexible access to media. (e.g. play mp3 files from a Samba
+ share without having to mount it on the local filesystem)
+ Medialib:
+ Database-driven media library stores metadata about songs as they're played,
+ so songs can be quickly recalled and new playlists easily made.
+ </longdescription>
+ <use>
+ <flag name="airplay">Support for airplay format</flag>
+ <flag name="asf">Support for Monkey's Audio (APE) format with help of bundled libasf</flag>
+ <flag name="gvfs">Transport for glibs virtual filesystem</flag>
+ <flag name="ices">Icecast source output plugin</flag>
+ <flag name="mac">Support for Monkey's Audio (APE) format with help of <pkg>media-sound/mac</pkg></flag>
+ <flag name="mms">Support for Microsoft Media Server (MMS) streams via libmms</flag>
+ <flag name="mpg123">Support for libmpg123 decoder for MPEG 1.0/2.0/2.5 layer 1/2/3</flag>
+ <flag name="ofa">Support for Open Fingerprint Architecture (OFA)</flag>
+ <flag name="phonehome">This client sends anonymous usage-statistics to the xmms2</flag>
+ <flag name="server">Build xmms2 player daemon (otherwise only clients are built)</flag>
+ <flag name="sid">Support for C64 SID</flag>
+ <flag name="vocoder">Phase vocoder effect plugin</flag>
+ <flag name="mlib-update">Enable building of xmms2-mlib-updater client</flag>
+ <flag name="xml">Enable support for various XML based playlists and sources: RSS, XSPF</flag>
+ </use>
+</pkgmetadata>
diff --git a/media-sound/xmms2/xmms2-0.7.ebuild b/media-sound/xmms2/xmms2-0.7.ebuild
new file mode 100644
index 000000000000..ff42ec3e5eea
--- /dev/null
+++ b/media-sound/xmms2/xmms2-0.7.ebuild
@@ -0,0 +1,242 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/xmms2/xmms2-0.7.ebuild,v 1.1 2010/06/30 05:30:53 slyfox Exp $
+
+EAPI=2
+inherit base eutils python
+
+MY_P="${P}DrNo"
+
+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="~amd64 ~x86"
+
+IUSE="aac airplay +alsa ao asf avahi cdda curl cxx ffmpeg flac gvfs ices
+jack mac mlib-update mms +mp3 mp4 modplug mpg123 musepack ofa oss
+perl phonehome pulseaudio python ruby
+samba +server sid speex +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 )
+ cdda? ( >=media-libs/libdiscid-0.1.1
+ >=media-sound/cdparanoia-3.9.8 )
+ curl? ( >=net-misc/curl-7.15.1 )
+ ffmpeg? ( media-video/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? ( media-video/ffmpeg
+ >=media-libs/libmms-0.3 )
+ modplug? ( media-libs/libmodplug )
+ mp3? ( media-sound/madplay )
+ mp4? ( >=media-libs/faad2-2.0 )
+ mpg123? ( >=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 )
+ 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 )
+ )
+
+ >=dev-libs/glib-2.12.9
+ cxx? ( >=dev-libs/boost-1.32 )
+ mlib-update? ( app-admin/gamin )
+ perl? ( >=dev-lang/perl-5.8.8 )
+ python? ( >=dev-python/pyrex-0.9.5.1 )
+ ruby? ( >=dev-lang/ruby-1.8.5 ) "
+
+DEPEND="${RDEPEND}
+ >=dev-lang/python-2.4.3"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=("${FILESDIR}/xmms2-0.7DrNo-windres-build-fix.patch")
+
+# 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
+}
+
+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"
+ "ENABLED cli"
+ "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
+ )
+
+ 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"
+ "mp3 mad"
+ " mp4"
+ " 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"
+ " 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}"
+
+ ./waf ${waf_params} configure || die "'waf configure' failed"
+}
+
+src_compile() {
+ ./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 "$(python_get_sitedir)/xmmsclient"
+}
+
+pkg_postrm() {
+ use python && python_mod_cleanup "$(python_get_sitedir)/xmmsclient"
+}