summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-sound/xmms2
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-sound/xmms2')
-rw-r--r--media-sound/xmms2/Manifest1
-rw-r--r--media-sound/xmms2/files/xmms2-0.7DrNo-XsParse-3.patch28
-rw-r--r--media-sound/xmms2/files/xmms2-0.7DrNo-missing-protos.patch127
-rw-r--r--media-sound/xmms2/files/xmms2-0.7DrNo-windres-build-fix.patch52
-rw-r--r--media-sound/xmms2/files/xmms2-0.8-cython-0.19.1.patch47
-rw-r--r--media-sound/xmms2/files/xmms2-0.8-ffmpeg-0.11.patch18
-rw-r--r--media-sound/xmms2/files/xmms2-0.8-ffmpeg2.patch15
-rw-r--r--media-sound/xmms2/files/xmms2-0.8-libav-9-p2.patch50
-rw-r--r--media-sound/xmms2/files/xmms2-0.8-libav-9.patch20
-rw-r--r--media-sound/xmms2/files/xmms2-0.8-memset.patch19
-rw-r--r--media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch26
-rw-r--r--media-sound/xmms2/metadata.xml50
-rw-r--r--media-sound/xmms2/xmms2-0.8-r2.ebuild279
13 files changed, 732 insertions, 0 deletions
diff --git a/media-sound/xmms2/Manifest b/media-sound/xmms2/Manifest
new file mode 100644
index 000000000000..be39c6eeee9b
--- /dev/null
+++ b/media-sound/xmms2/Manifest
@@ -0,0 +1 @@
+DIST xmms2-0.8DrO_o.tar.bz2 1670726 SHA256 c77e41e7bd5788889d5a2f78331ca8c748b8721bd2e59f36c36ad4c7cae8694a SHA512 478103d80264c0cb32912e828f74d0f5b2f10fe310f530a87ebecda7ca547a69e238cd572788f90bda29494494160d459fa6d1356b4fb87c7a8f0bf02e3b75f8 WHIRLPOOL 741dd85b8c065eea799675588a8d4c389c47fa3dcf129a9fd799bb5da0ffcb1eeffa45cfaca40af7c505908818b5e7960c1a54e947f53358edeb43841f2eaa5c
diff --git a/media-sound/xmms2/files/xmms2-0.7DrNo-XsParse-3.patch b/media-sound/xmms2/files/xmms2-0.7DrNo-XsParse-3.patch
new file mode 100644
index 000000000000..0e3cbc4fd67a
--- /dev/null
+++ b/media-sound/xmms2/files/xmms2-0.7DrNo-XsParse-3.patch
@@ -0,0 +1,28 @@
+diff --git a/wafadmin/Tools/perl.py b/wafadmin/Tools/perl.py
+index 9e3b12a..9005e6a 100644
+--- a/wafadmin/Tools/perl.py
++++ b/wafadmin/Tools/perl.py
+@@ -99,8 +99,8 @@ def check_perl_ext_devel(conf):
+ conf.env["CPPPATH_PERLEXT"] = read_out(" -MConfig -e'print \"$Config{archlib}/CORE\"'")
+ conf.env["CCFLAGS_PERLEXT"] = read_out(" -MConfig -e'print \"$Config{ccflags} $Config{cccdlflags}\"'")
+
+- conf.env["XSUBPP"] = read_out(" -MConfig -e'print \"$Config{privlib}/ExtUtils/xsubpp$Config{exe_ext}\"'")
+- conf.env["EXTUTILS_TYPEMAP"] = read_out(" -MConfig -e'print \"$Config{privlib}/ExtUtils/typemap\"'")
++ conf.env["XSUBPP"] = read_out(" -MModule::Build -e'print Module::Build::ModuleInfo->find_module_by_name(\"ExtUtils::xsubpp\")'")
++ conf.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):
+ conf.env["ARCHDIR_PERL"] = Utils.cmd_output(perl + " -MConfig -e'print $Config{sitearch}'")
+diff --git a/src/clients/lib/perl/typemap b/src/clients/lib/perl/typemap
+index 6cb033f..54e6c4d 100644
+--- a/src/clients/lib/perl/typemap
++++ b/src/clients/lib/perl/typemap
+@@ -3,6 +3,8 @@ xmmsc_connection_t* XMMSC_CONNECTION_T
+ xmmsv_coll_t* XMMSV_COLL_T
+ xmmsv_coll_type_t XMMSV_COLL_TYPE_T
+ xmmsv_coll_namespace_t T_PV
++const unsigned char* T_PV
++xmmsv_t* T_PV
+ xmmsc_result_t* XMMSC_RESULT_T
+ xmmsc_result_propdict_t* XMMSC_RESULT_PROPDICT_T
+ xmms_plugin_type_t XMMS_PLUGIN_TYPE_T
diff --git a/media-sound/xmms2/files/xmms2-0.7DrNo-missing-protos.patch b/media-sound/xmms2/files/xmms2-0.7DrNo-missing-protos.patch
new file mode 100644
index 000000000000..2c8de0c05b62
--- /dev/null
+++ b/media-sound/xmms2/files/xmms2-0.7DrNo-missing-protos.patch
@@ -0,0 +1,127 @@
+commit 2df15fc79acc7ef5ea9213c87f6700faf138518d
+Author: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Sun Oct 10 21:08:05 2010 +0300
+
+ OTHER: one more me in AUTHORS
+
+ Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+
+diff --git a/AUTHORS b/AUTHORS
+index f2ef9af..e33acb5 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -354,6 +354,7 @@ D: Various fixes
+
+ N: Sergei Trofimovich
+ E: slyich@gmail.com
++E: slyfox@gentoo.org
+ E: slyfox@inbox.ru
+ E: st@anti-virus.by
+ D: Various Cleanups
+
+commit fb4eede29ba11d2ecec039de6899f8cce55dde8d
+Author: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Sun Oct 10 21:01:49 2010 +0300
+
+ OTHER: explicitely declare xmmsc_mainloop_gmain_init() and _xmmsc_medialib_encode_url()
+
+ Added according includefiles
+
+ Was spotted by ZogG on #xmms2
+ And reported as: https://bugs.gentoo.org/show_bug.cgi?id=340361
+
+ gcc's warning:
+ ../src/clients/medialib-updater/main.c: In function 'updater_connect':
+ ../src/clients/medialib-updater/main.c:135: warning: implicit declaration of function 'xmmsc_mainloop_gmain_init'
+ ../src/clients/medialib-updater/main.c: In function 'updater_remove_directory':
+ ../src/clients/medialib-updater/main.c:468: warning: implicit declaration of function '_xmmsc_medialib_encode_url'
+ ../src/clients/medialib-updater/main.c:468: warning: cast to pointer from integer of different size
+
+ Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+
+diff --git a/src/clients/medialib-updater/main.c b/src/clients/medialib-updater/main.c
+index 3b36bc9..2dd7b08 100644
+--- a/src/clients/medialib-updater/main.c
++++ b/src/clients/medialib-updater/main.c
+@@ -18,6 +18,9 @@
+
+ #include <gio/gio.h>
+ #include <xmmsclient/xmmsclient.h>
++#include <xmmsclient/xmmsclient-glib.h>
++
++#include "xmmsclientpriv/xmmsclient.h" // _xmmsc_medialib_encode_url
+
+ #include <xmms_configuration.h>
+
+diff --git a/src/clients/medialib-updater/wscript b/src/clients/medialib-updater/wscript
+index 841ae85..cd38b5e 100644
+--- a/src/clients/medialib-updater/wscript
++++ b/src/clients/medialib-updater/wscript
+@@ -4,7 +4,7 @@ def build(bld):
+ obj = bld.new_task_gen('cc', 'program')
+ obj.target = 'xmms2-mlib-updater'
+ obj.source = "main.c"
+- obj.includes = '. ../../.. ../../include'
++ obj.includes = '. ../../.. ../../include ../../includepriv'
+ obj.uselib = 'glib2 GIO-2.0 GTHREAD-2.0'
+ obj.uselib_local = 'xmmsclient-glib xmmsclient'
+
+
+commit a3dff97f048bae91cdfd8b2bc761cd9ebe184eb9
+Author: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Sun Oct 10 20:52:30 2010 +0300
+
+ OTHER: explicitely declare g_sprintf()
+
+ g_sprintf is not defined by glib.h (glib-2.24.2),
+ but it's defined by <glib/gsprintf.h>
+
+ Was spotted by ZogG on #xmms2
+ And reported as: https://bugs.gentoo.org/show_bug.cgi?id=340361
+
+ gcc's warning:
+ ../src/xmms/magic.c: In function 'xmms_magic_match':
+ ../src/xmms/magic.c:470: warning: implicit declaration of function 'g_sprintf'
+
+ Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+
+diff --git a/src/xmms/magic.c b/src/xmms/magic.c
+index 31b0b00..a0f9658 100644
+--- a/src/xmms/magic.c
++++ b/src/xmms/magic.c
+@@ -15,8 +15,8 @@
+ */
+
+
+-
+ #include <glib.h>
++#include <glib/gprintf.h>
+ #include <string.h>
+ #include <stdlib.h>
+
+
+commit 43648e7b701a9598d9a9769caec152fd23b4e2f5
+Author: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Sun Oct 10 20:47:23 2010 +0300
+
+ OTHER: explicitely declare semtimedop()
+
+ semtimedop(2) is a GNU extension which needs _GNU_SOURCE
+ to be defined. Was spotted by ZogG on #xmms2
+ And reported as: https://bugs.gentoo.org/show_bug.cgi?id=340361
+
+ gcc's warning:
+
+ * ../src/clients/lib/xmmsclient/visualization/unixshm.c:102: warning: implicit declaration of function 'semtimedop'
+
+ Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+
+diff --git a/src/clients/lib/xmmsclient/visualization/unixshm.c b/src/clients/lib/xmmsclient/visualization/unixshm.c
+index 50883a9..3d28ccc 100644
+--- a/src/clients/lib/xmmsclient/visualization/unixshm.c
++++ b/src/clients/lib/xmmsclient/visualization/unixshm.c
+@@ -1,3 +1,4 @@
++#define _GNU_SOURCE // semtimedop is a GNU extension
+ #include "common.h"
+
+ #include <sys/shm.h>
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/files/xmms2-0.8-cython-0.19.1.patch b/media-sound/xmms2/files/xmms2-0.8-cython-0.19.1.patch
new file mode 100644
index 000000000000..1d6e59f6c830
--- /dev/null
+++ b/media-sound/xmms2/files/xmms2-0.8-cython-0.19.1.patch
@@ -0,0 +1,47 @@
+From 6d6d7a7ee38c8e3f57242f2510e06a03f4e7e249 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Mon, 5 Aug 2013 22:29:46 +0300
+Subject: [PATCH] unbreak xmms2 building on cython-0.19.1
+
+Error compiling Cython file:
+------------------------------------------------------------
+...
+ def medialib_path_import(self, path, cb = None, encoded=False):
+ """
+ @deprecated
+ Use medialib_import_path(path, ...) instead
+ """
+ return self.medialib_import_path(self, path, cb=cb, encoded=encoded)
+ ^
+
+Reported-by: ChunFeng
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ src/clients/lib/python/xmmsapi.pyx | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/clients/lib/python/xmmsapi.pyx b/src/clients/lib/python/xmmsapi.pyx
+index 501a068..863db88 100644
+--- a/src/clients/lib/python/xmmsapi.pyx
++++ b/src/clients/lib/python/xmmsapi.pyx
+@@ -1364,7 +1364,7 @@ cdef class XmmsApi(XmmsCore):
+ @deprecated
+ Use medialib_import_path(path, ...) instead
+ """
+- return self.medialib_import_path(self, path, cb=cb, encoded=encoded)
++ return self.medialib_import_path(path, cb=cb, encoded=encoded)
+
+ @deprecated
+ def medialib_path_import_encoded(self, path, cb = None):
+@@ -1372,7 +1372,7 @@ cdef class XmmsApi(XmmsCore):
+ @deprecated
+ Use medialib_import_path(path, ..., encoded=True) instead
+ """
+- return self.medialib_import_path(self, path, cb=cb, encoded=True)
++ return self.medialib_import_path(path, cb=cb, encoded=True)
+
+ cpdef XmmsResult medialib_property_set(self, int id, key, value, source=None, cb=None):
+ """
+--
+1.8.3.2
+
diff --git a/media-sound/xmms2/files/xmms2-0.8-ffmpeg-0.11.patch b/media-sound/xmms2/files/xmms2-0.8-ffmpeg-0.11.patch
new file mode 100644
index 000000000000..bac2fba7e9fd
--- /dev/null
+++ b/media-sound/xmms2/files/xmms2-0.8-ffmpeg-0.11.patch
@@ -0,0 +1,18 @@
+commit 8743e0c3a4f06053d89b74e40a362ba4949ed53c
+Author: Juho Vähä-Herttua <juhovh@iki.fi>
+Date: Fri Jun 8 09:30:47 2012 +0300
+
+ OTHER: Quick fix to make XMMS2 compile on ffmpeg 0.11
+
+diff --git a/src/plugins/avcodec/avcodec_compat.h b/src/plugins/avcodec/avcodec_compat.h
+index df87b27..f1b1af7 100644
+--- a/src/plugins/avcodec/avcodec_compat.h
++++ b/src/plugins/avcodec/avcodec_compat.h
+@@ -65,3 +65,7 @@ typedef struct AVPacket {
+ # define AVMEDIA_TYPE_AUDIO CODEC_TYPE_AUDIO
+ #endif
+
++/* Calling avcodec_init is not necessary after 53.04 (ffmpeg 0.9) */
++#if LIBAVCODEC_VERSION_INT >= 0x350400
++# define avcodec_init()
++#endif
diff --git a/media-sound/xmms2/files/xmms2-0.8-ffmpeg2.patch b/media-sound/xmms2/files/xmms2-0.8-ffmpeg2.patch
new file mode 100644
index 000000000000..2e9fac380ea0
--- /dev/null
+++ b/media-sound/xmms2/files/xmms2-0.8-ffmpeg2.patch
@@ -0,0 +1,15 @@
+Index: xmms2-0.8DrO_o/src/plugins/avcodec/avcodec.c
+===================================================================
+--- xmms2-0.8DrO_o.orig/src/plugins/avcodec/avcodec.c
++++ xmms2-0.8DrO_o/src/plugins/avcodec/avcodec.c
+@@ -29,6 +29,10 @@
+
+ #define AVCODEC_BUFFER_SIZE 16384
+
++#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
++#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio
++#endif
++
+ typedef struct {
+ AVCodecContext *codecctx;
+
diff --git a/media-sound/xmms2/files/xmms2-0.8-libav-9-p2.patch b/media-sound/xmms2/files/xmms2-0.8-libav-9-p2.patch
new file mode 100644
index 000000000000..db55bc8a6933
--- /dev/null
+++ b/media-sound/xmms2/files/xmms2-0.8-libav-9-p2.patch
@@ -0,0 +1,50 @@
+commit 4781c507be338fe151e08af7d13267a24cbd7572
+Author: Juho Vähä-Herttua <juhovh@iki.fi>
+Date: Fri Jun 8 09:47:03 2012 +0300
+
+ OTHER: Fix some deprecated warnings in libavcodec
+
+diff --git a/src/plugins/avcodec/avcodec.c b/src/plugins/avcodec/avcodec.c
+index 242e333..c846d64 100644
+--- a/src/plugins/avcodec/avcodec.c
++++ b/src/plugins/avcodec/avcodec.c
+@@ -208,7 +208,7 @@ xmms_avcodec_init (xmms_xform_t *xform)
+ }
+ }
+
+- data->codecctx = avcodec_alloc_context ();
++ data->codecctx = avcodec_alloc_context3 (codec);
+ data->codecctx->sample_rate = data->samplerate;
+ data->codecctx->channels = data->channels;
+ data->codecctx->bit_rate = data->bitrate;
+@@ -219,7 +219,7 @@ xmms_avcodec_init (xmms_xform_t *xform)
+ data->codecctx->codec_id = codec->id;
+ data->codecctx->codec_type = codec->type;
+
+- if (avcodec_open (data->codecctx, codec) < 0) {
++ if (avcodec_open2 (data->codecctx, codec, NULL) < 0) {
+ XMMS_DBG ("Opening decoder '%s' failed", codec->name);
+ goto err;
+ } else {
+diff --git a/src/plugins/avcodec/avcodec_compat.h b/src/plugins/avcodec/avcodec_compat.h
+index f1b1af7..bc770f2 100644
+--- a/src/plugins/avcodec/avcodec_compat.h
++++ b/src/plugins/avcodec/avcodec_compat.h
+@@ -69,3 +69,17 @@ typedef struct AVPacket {
+ #if LIBAVCODEC_VERSION_INT >= 0x350400
+ # define avcodec_init()
+ #endif
++
++/* Map avcodec_alloc_context3 into the deprecated version
++ * avcodec_alloc_context in versions earlier than 53.04 (ffmpeg 0.9) */
++#if LIBAVCODEC_VERSION_INT < 0x350400
++# define avcodec_alloc_context3(codec) \
++ avcodec_alloc_context()
++#endif
++
++/* Map avcodec_open2 into the deprecated version
++ * avcodec_open in versions earlier than 53.04 (ffmpeg 0.9) */
++#if LIBAVCODEC_VERSION_INT < 0x350400
++# define avcodec_open2(avctx, codec, options) \
++ avcodec_open(avctx, codec)
++#endif
diff --git a/media-sound/xmms2/files/xmms2-0.8-libav-9.patch b/media-sound/xmms2/files/xmms2-0.8-libav-9.patch
new file mode 100644
index 000000000000..9c13ec41e025
--- /dev/null
+++ b/media-sound/xmms2/files/xmms2-0.8-libav-9.patch
@@ -0,0 +1,20 @@
+commit d61dbc522f4024debb1f99de758de9e5cc7c0936
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Sun Nov 25 17:33:02 2012 +0100
+
+ OTHER: Support for newer libavcodec versions
+
+ Add missing #include
+
+diff --git a/src/plugins/avcodec/avcodec.c b/src/plugins/avcodec/avcodec.c
+index c846d64..114d7df 100644
+--- a/src/plugins/avcodec/avcodec.c
++++ b/src/plugins/avcodec/avcodec.c
+@@ -23,6 +23,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <glib.h>
++#include <libavutil/mem.h>
+
+ #include "avcodec_compat.h"
+
diff --git a/media-sound/xmms2/files/xmms2-0.8-memset.patch b/media-sound/xmms2/files/xmms2-0.8-memset.patch
new file mode 100644
index 000000000000..6f8377d9f928
--- /dev/null
+++ b/media-sound/xmms2/files/xmms2-0.8-memset.patch
@@ -0,0 +1,19 @@
+commit 00f4736bbb8ebc88a08e24e98d384b43d5afbbe4
+Author: Raphaël Bois <virtualdust@gmail.com>
+Date: Sun Feb 12 16:39:46 2012 +0100
+
+ OTHER: fix erroneous sizeof usage
+
+diff --git a/src/plugins/daap/daap_md5.c b/src/plugins/daap/daap_md5.c
+index d4d8d74..69c84a5 100644
+--- a/src/plugins/daap/daap_md5.c
++++ b/src/plugins/daap/daap_md5.c
+@@ -191,7 +191,7 @@ OpenDaap_MD5Final (MD5_CTX *ctx,
+ MD5Transform (ctx->buf, (guint32 *) ctx->in, ctx->version);
+ byteReverse ((unsigned char *) ctx->buf, 4);
+ memcpy (digest, ctx->buf, 16);
+- memset (ctx, 0, sizeof (ctx)); /* In case it's sensitive */
++ memset (ctx, 0, sizeof (*ctx)); /* In case it's sensitive */
+
+ return;
+ }
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/metadata.xml b/media-sound/xmms2/metadata.xml
new file mode 100644
index 000000000000..3a5d57ea7273
--- /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>
+ <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="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>
+ <upstream>
+ <remote-id type="sourceforge">xmms2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/media-sound/xmms2/xmms2-0.8-r2.ebuild b/media-sound/xmms2/xmms2-0.8-r2.ebuild
new file mode 100644
index 000000000000..18e8dec49633
--- /dev/null
+++ b/media-sound/xmms2/xmms2-0.8-r2.ebuild
@@ -0,0 +1,279 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 mp4 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-paranoia
+ >=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-libs/libmad )
+ 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 )
+ )
+
+ >=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? ( dev-perl/Module-Build )
+ virtual/pkgconfig
+ test? ( dev-util/cunit )
+ "
+
+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}"
+ epatch "${FILESDIR}/${P}"-ffmpeg-0.11.patch #443256
+ epatch "${FILESDIR}/${P}"-libav-9-p2.patch #443256
+ epatch "${FILESDIR}/${P}"-libav-9.patch #443256
+ epatch "${FILESDIR}/${P}"-cython-0.19.1.patch
+ epatch "${FILESDIR}/${P}"-memset.patch
+ epatch "${FILESDIR}/${P}"-ffmpeg2.patch #536232
+
+ if has_version dev-libs/libcdio-paranoia; then
+ sed -i -e 's:cdio/cdda.h:cdio/paranoia/cdda.h:' src/plugins/cdda/cdda.c || die
+ fi
+}
+
+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)
+ "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"
+ " mp4" # bug #387961 (aac, mp3, ape can sit there)
+ "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() {
+ # waf is very keen to run tests in build phase (bug #424377) but
+ # it does not bother running tests twice, so the hack below works:
+ ./waf --verbose build || ./waf --verbose build || die "waf build failed"
+}
+
+src_test() {
+ # rerun tests
+ ./waf --alltests || die "waf --alltests 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.org"
+ 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
+}