diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2010-06-30 05:30:53 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2010-06-30 05:30:53 +0000 |
commit | 7c5762d0ad94de66323da2700d8edcd33c75db1a (patch) | |
tree | 44de97765e9d4a65ec1bc740aeb5330095bf07ed /media-sound | |
parent | econf dies on its own. (diff) | |
download | gentoo-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')
-rw-r--r-- | media-sound/xmms2/ChangeLog | 12 | ||||
-rw-r--r-- | media-sound/xmms2/files/xmms2-0.7DrNo-windres-build-fix.patch | 52 | ||||
-rw-r--r-- | media-sound/xmms2/metadata.xml | 50 | ||||
-rw-r--r-- | media-sound/xmms2/xmms2-0.7.ebuild | 242 |
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 & 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" +} |