summaryrefslogtreecommitdiff
path: root/media-sound/xmms2
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/xmms2')
-rw-r--r--media-sound/xmms2/Manifest15
-rw-r--r--media-sound/xmms2/files/xmms2-0.8-rtvg.patch5
-rw-r--r--media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch27
-rw-r--r--media-sound/xmms2/files/xmms2-0.8_p20161122-cpp-client.patch52
-rw-r--r--media-sound/xmms2/files/xmms2-0.8_p20161122-faad.patch2
-rw-r--r--media-sound/xmms2/files/xmms2-0.8_p20161122-mac-4.patch18
-rw-r--r--media-sound/xmms2/metadata.xml40
-rw-r--r--media-sound/xmms2/xmms2-0.8_p20201016.ebuild236
8 files changed, 257 insertions, 138 deletions
diff --git a/media-sound/xmms2/Manifest b/media-sound/xmms2/Manifest
index 1943903da0e3..91f45ac3e2e4 100644
--- a/media-sound/xmms2/Manifest
+++ b/media-sound/xmms2/Manifest
@@ -1,13 +1,16 @@
AUX xmms2-0.8-ffmpeg2.patch 455 BLAKE2B 4009dd67794554c3dd98199944410f435f978d1ea86c3c280678d24cd8b85846e34d73c6a960e5188827d1523300e7869a3c0c1094fd355fc9c77f917a257508 SHA512 6aa567c3d823780c7fc8951735f59bcbe3345989e077d3ea6d8100acedd3ebf30523f05152fb80827c236ff83674bb47ca0917b5d2331c4d79c4502e41b365a3
-AUX xmms2-0.8-rtvg.patch 1539 BLAKE2B b359db6f477f0ca6a8e528645f731ccb33ec13067ff4c9fa1ca2ce1f13108c8c42b242562d08bd9997c06845873bb8efaba0f04e23bb2a79cb863c76223a86af SHA512 b8c6b908f48ab239c2c734452eebd2b9a4a2f4f2b98278bb0951d9a97e0d3df03b5443bc3a6bb92ff3133894d7b6239373b3323251f34c6852eee988aae5205f
-AUX xmms2-0.8DrO_o-waflib-fix-perl.patch 1693 BLAKE2B 6057da2c8493ea7887ea03322d16d45ca0726174e7deb1a64f76b289fdeaba02c7659944803a23d7a32a0a74de7a39de1404d5566b43dd3306004a29876af038 SHA512 0f7f86cebd0ff75ed53366776f8c93abb54adf5942f53d7424183a4bd6913b73493882d4d3caadba6a959ddf22da0a22fa53d0fc18ce5b8508eb5670482e8c92
+AUX xmms2-0.8-rtvg.patch 1358 BLAKE2B 1544ae0719b02ad94c19239d7ad3b16d3df3a29e1a5580b7541f2c8966f88c9fefafe2e151524e8e0397ac147c65898a841629acaf7f6d96fb76f0f57e4e2e33 SHA512 cc4d0d6cb459040fa55478b55780f34556f78627a2313b598eb276509248f3b6df4c252722ca2f996847e2f3a01392e9435fefd1ad5342c3a87a54bf0673cb0f
AUX xmms2-0.8_p20161122-be-hash.patch 1075 BLAKE2B 7c9678016751b207a5ef48c0f7963bc0a2e3e99fb461e52b5745bc5e2dde6c329bb358e58802c127aef96d5912e22a7df7a64f719286e9cf7787703765c4b18f SHA512 051e22907315bb6bda201497e1c2ef84d919fc7d39aefac187b3616c5f6c41e768cdd79cfe197fbadfdda3863f9e9c96b5f72fa07d5e1655451328cde8ba5781
-AUX xmms2-0.8_p20161122-cpp-client.patch 2326 BLAKE2B a59da287dafafe8a3a177c11673eb7de5918fc6efef2e32c707832d7ea202091493e41f907f3e2dc370cd34d990571eed1d274fddf05f715dff7462973fb802f SHA512 095f2878afe9616bc7982037c0a9b0cc610164e04d116d40fe138df0280160680c19f6bf5c2f9aed6e9d31d42ee2f310570aefae28872ee15496f886d20ee2e9
-AUX xmms2-0.8_p20161122-faad.patch 724 BLAKE2B d7e11332341c2e1d4b19e31b19db9f577a41aee9172e886d885ae6a9518383c861537f6cc2eba2314839a000a2216828a176de9095ec45050b8621da9db9aa88 SHA512 2bed6ce756c0bbf21413485b336e4e33d8dc261c214c51bc6a0c7d310ae6e885526b8f243763f6c3ec665024e94acc55a46b26dcadf9a9cc0b5bf77b9306c1ed
+AUX xmms2-0.8_p20161122-cpp-client.patch 624 BLAKE2B fd08746e4ce3c83a1cfed7a6794e169f435da2a1fdf639ae2d948109a22526a5a68f03f1dfabeaabc022dda8b403d08b2cf3c6944429b1b748ee75ac69840caf SHA512 19af5f465c1e48a9ca780b6cad1348eb6fc315b05923f0d4ded7c6972e2cbb3213ad8adf994e13c80c1d69c47bee97660fccad85c9b98ab9752a0ff9f930ea7c
+AUX xmms2-0.8_p20161122-faad.patch 629 BLAKE2B e2dc8964d1002ff55be736e6b0370f946e9d8dbdeaab8f9f50bebce210b431894174e80fbba8bc77c79f048c69d8ece85585395840a09fce6b58fdaaf404494f SHA512 7a40d77cefcc483e6ee24a672b30ddd9f763e642bbac6baf88c315ea4a1aea9c87212627fd641f6107f76ab3185a762129ed02c2f090b2264f89016fe4ff2d5f
AUX xmms2-0.8_p20161122-gcc-10.patch 222 BLAKE2B a198b2e69081253f299ff1c7f94f0a2d3572a31caf4b7ec7de20e8d9a9bc404c58a98b31f0da6560034fe09599ae2e9f03b97728f45ad2fc30061b384c9fb13d SHA512 44685777b04e46e236104a74e654162a85b5c76c9838572921cc78b4775a7c2d5127566202415bfab10bb17261e242b034dde8aaf44024b66daa55a150ed1352
-AUX xmms2-0.8_p20161122-mac-4.patch 1632 BLAKE2B 5bc5c7d499df5faee2fc6b4307af18269b784360bbbcaef33b1db4b880704f88e8dad06168e3737a43fcdb71ba722da1ffb5ba77f3f61ecf07674e1ad0988f5a SHA512 d2fe5f9a0c59205c787386e7b219c3fa9a334c30787b9a343214cc1c4dbf9f5d47f5dad9b2efd7deac1e96a227c827cc66198215a89b0e788c9d856cff51b16b
+AUX xmms2-0.8_p20161122-mac-4.patch 1215 BLAKE2B 746bcf75ce5b1f73ecb4023e776080674da5781d122f988ddb719ccdfb1da95fb632242004096a79861c0a9f0a3a49734a86bd8ac4c0541d3b3742cd722c8d44 SHA512 14b46640163f1d651e310d1bf08ec190a7449615c574952c19fa2c7f86215d83d3ee6d6cbe0f665a5fdd44ec44e44bc339a480ce753f16f2b49a4206dde1c12b
AUX xmms2-0.8_p20161122-tarball.patch 2764 BLAKE2B 1d6ea9bc40db3145460a8ef06c732114475087ea05eef65fd837d6c3bf346478579d7c6ab0bf33387d2228a319245e0e4d2562935be75a58abd04e88205d4373 SHA512 5b03d129a55ac14462a68e47ecba29c2817eb83d122a3614c624c743ecc29a7bac066644aa61d5ac74f9cb59808d1a9bac077dc360c507da722c206b948301ac
DIST waf-2.0.19.tar.bz2 682213 BLAKE2B 0bd2e31827ac65e0565abc09df37a42193ff37b50b6d0244f8b10ba7f308b4ba31ba864742d8c8d4005b86e611223dc4315cf70c0dbbf6b7db8f02e4f551fbb2 SHA512 ae7f3973c79e44313b4894c75763ad43ccd2be88e0d351d7f606ce495c5a464a379c85c076ebd8ba577fc88918af2bbb39bbec1049f25f02c14d98388e012c59
+DIST waf-2.0.22.tar.bz2 687244 BLAKE2B feea82e7e6aaba1187f368aa00025f206a7217196de9be7a97ca6aa8882823decd79db38dda4f1f25e81541eaa44edf029eea8d57e28f7d31b94d9ee93201ea9 SHA512 a3a275fd4c81c7b7385c2da001f3924d272105b8f33839265ebbb38708051b7cb13b9b9019e84325707d04513de0c13b032b1ad21458aec6586d10df4ed8d5f5
DIST xmms2-0.8DrO_o-949-gca15e830.tar.bz2 1928653 BLAKE2B f34abf0c68f4574593eb706744cc4354bc9b679d005bcaf4a9f03ef90fcb14935428c73d3d74565c41a70efcfa6541af15a455d091b6d17e7ca613229c1c1390 SHA512 affd7fdd259cdb952e972b62f24ab8eb6afd2c87786254a7ae81adffdcfe1454dcf2fb95811a8b90db74dba84918526fd8c920e11582b36aa48725f293c73edb
+DIST xmms2-0.8_p20201016.tar.gz 1720185 BLAKE2B e1cad8ed2ece9d8ce905ffe86de53bb4010639d83fd15700eefccf190034577ff8666f3557bfb23741ed8400eba1e6246ef28ff21c4dbbe499239da945befc74 SHA512 0e73771f56c341e5dea15451457426958217de3ac19cad1924c11740f96feb69e385242a27a9cf9258841ed4e6538c12e135492f715bfae6976b31fb358508bf
+DIST xmms2-s4-0.8_p20201016.tar.gz 184231 BLAKE2B 0676f89b743e265af01593c215c609ae48ea368d861fd28b022b4124a00852182686a46ebf90ac44a10343f86ba5c398c47fd85e2688971b2b4445f3c3843af5 SHA512 f510141ca792893feba2c00d9bc437f492fdce7c29b12c9a8432792ca5a1703cc7068e1a9f4641abd50b320fefb5867fb5bc58a58b0b0272cf75828c764f94ed
EBUILD xmms2-0.8_p20161122-r8.ebuild 8076 BLAKE2B 0f140d493ba41bd33bcaf1e70c8e8483fc72bf88dd42ccc3d181bcbc2509044e5dfd2853194db73796be0eb53bd8c543df22c8f2b401a770489c2172ddd35797 SHA512 db01b170edd8ebc1ed4f8de8302485fed54123884b0527ecc21604d298c6157cf96e5583d8720089dd06fd0ee76130a4fa8015c7f1f251fa9b3c0c4e1a30c7f3
-MISC metadata.xml 2488 BLAKE2B 81687b26bb6a3143b97f19d90b4486f62e64cc51f993bd124665ac5346cfe9739db9d565b216fb935e740d17454efd970312d348e342ed995abb96c51efbc52b SHA512 5deda32f1c0a44cbf3efa275ca01bcd90db42240b35122b9c7baac88efa4ebffc1ed75a6e730c11154f37a22378da8388ec88bdfcb239effa1bd35c6bb3f7d14
+EBUILD xmms2-0.8_p20201016.ebuild 5866 BLAKE2B 9fb7649ed611191a0b6a036d23518c9a65e52cdcd945840fc2a83d9340da888de99d69c1f84664572776c64f478b2d084beea3627c67678fb9f86eb610e53f77 SHA512 0477e3d22b9499e698cfc14196cb4443d5e8cb9ba2ff7410d6fb93259acef9815689268e2d427794a2c7d1598d9903675dd03b662703305c1275e39964cd3991
+MISC metadata.xml 1618 BLAKE2B 90e2600ab43343dec7f7cc31ef796001419b73da74574ec34d47fcde6808f2cd8288303ab52ff313390e08cfe5316ac6818b1f40ca483aafb661ce6488446d1d SHA512 60c21e22c9c5d7782c27144035449f146a4f97caa90870e86cd523e28c1289ee72514abb0899eae39e4b4e97f081f62a6e654b8310db172f3ca0968834334317
diff --git a/media-sound/xmms2/files/xmms2-0.8-rtvg.patch b/media-sound/xmms2/files/xmms2-0.8-rtvg.patch
index 20be34273883..e0a970c91869 100644
--- a/media-sound/xmms2/files/xmms2-0.8-rtvg.patch
+++ b/media-sound/xmms2/files/xmms2-0.8-rtvg.patch
@@ -3,10 +3,7 @@ Add knob to disable valgrind at test runtime.
When valgrind is installed in system but is not
working we should still be able to run tests.
-Reported-by: Diego Elio Pettenò
Bug: https://bugs.gentoo.org/424377
-diff --git a/waftools/unittest.py b/waftools/unittest.py
-index 4317287..6179dfd 100644
--- a/waftools/unittest.py
+++ b/waftools/unittest.py
@@ -64,7 +64,8 @@ def generate_coverage(bld):
@@ -19,8 +16,6 @@ index 4317287..6179dfd 100644
conf.find_program("lcov", var="LCOV", mandatory=False)
conf.find_program("genhtml", var="GENHTML", mandatory=False)
-diff --git a/wscript b/wscript
-index 99c1fa3..a98d5e3 100644
--- a/wscript
+++ b/wscript
@@ -501,6 +501,10 @@ def options(opt):
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
deleted file mode 100644
index 220e91e68136..000000000000
--- a/media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-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
-Updated for perl-5.20.2: https://bugs.gentoo.org/578778
-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::Metadata -e'print Module::Metadata->find_module_by_name(\"ExtUtils::xsubpp\")'")
-+ env["EXTUTILS_TYPEMAP"] = read_out(" -MModule::Metadata -e'print Module::Metadata->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/files/xmms2-0.8_p20161122-cpp-client.patch b/media-sound/xmms2/files/xmms2-0.8_p20161122-cpp-client.patch
index cedc87fcc469..df1d1c616576 100644
--- a/media-sound/xmms2/files/xmms2-0.8_p20161122-cpp-client.patch
+++ b/media-sound/xmms2/files/xmms2-0.8_p20161122-cpp-client.patch
@@ -1,57 +1,8 @@
https://github.com/xmms2/xmms2-devel/pull/5
-From 82741bf3094c8e0bca8eb1b7f3bc147eeb51ea06 Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyfox@gentoo.org>
Date: Thu, 6 Dec 2018 07:19:08 +0000
Subject: [PATCH] OTHER: fix c++ client dangling reference
-
-On #xmm2 Chewi reported c++/tut7 to be broken at start:
-
-```
-GLib-WARNING **: glib-2.56.2/glib/giounix.c:410
-Error while getting flags for FD: Bad file descriptor (9)
-```
-
-valgrind shows the problem as read of uninitialized data:
-
-```
-$ valgrind ./tut7
-
-==32268== Conditional jump or move depends on uninitialised value(s)
-==32268== at 0x49DC36B: xmmsc_mainloop_gmain_init (xmmsclient-glib.c:80)
-==32268== by 0x49E11BE: Xmms::GMainloop::GMainloop(xmmsc_connection_St*) (xmmsclient++-glib.cpp:11)
-==32268== by 0x10C64D: main (in /home/slyfox/dev/git/xmms2-devel/doc/tutorial/c++/tut7)
-==32268== Uninitialised value was created by a stack allocation
-==32268== at 0x49E119A: Xmms::GMainloop::GMainloop(xmmsc_connection_St*) (xmmsclient++-glib.cpp:8)
-```
-
-This happens due to use of dangling C++ reference to stack variable:
-
-```
-// somewhere in src/include/xmmsclient/xmmsclient++/mainloop.h
-class MainloopInterface {
- MainloopInterface( xmmsc_connection_t* conn ) :
- running_( false ), conn_( conn ) { }
- protected:
- bool running_;
- xmmsc_connection_t*& conn_;
-}
-```
-
-Note: `conn_` refers to dangling local variable of
-`MainloopInterface::MainloopInterface` constructor.
-
-The fix is to pass through pointer reference.
-`MainLoop::MainLoop()` already does it.
-
-Reported-by: James Le Cuirot
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
----
- src/include/xmmsclient/xmmsclient++/mainloop.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/include/xmmsclient/xmmsclient++/mainloop.h b/src/include/xmmsclient/xmmsclient++/mainloop.h
-index de97e20d..268ca6f7 100644
--- a/src/include/xmmsclient/xmmsclient++/mainloop.h
+++ b/src/include/xmmsclient/xmmsclient++/mainloop.h
@@ -41,7 +41,7 @@ namespace Xmms
@@ -63,6 +14,3 @@ index de97e20d..268ca6f7 100644
running_( false ), conn_( conn ) { }
/** Destructor. Should also stop the loop.
---
-2.19.2
-
diff --git a/media-sound/xmms2/files/xmms2-0.8_p20161122-faad.patch b/media-sound/xmms2/files/xmms2-0.8_p20161122-faad.patch
index 00aa5d770823..2a206b913fe4 100644
--- a/media-sound/xmms2/files/xmms2-0.8_p20161122-faad.patch
+++ b/media-sound/xmms2/files/xmms2-0.8_p20161122-faad.patch
@@ -4,8 +4,6 @@ it. I've run XMMS2 with this patch for months without issue.
-- Chewi
-diff --git a/src/plugins/faad/faad.c b/src/plugins/faad/faad.c
-index 50835d27..7074e1b5 100644
--- a/src/plugins/faad/faad.c
+++ b/src/plugins/faad/faad.c
@@ -242,7 +242,6 @@ xmms_faad_init (xmms_xform_t *xform)
diff --git a/media-sound/xmms2/files/xmms2-0.8_p20161122-mac-4.patch b/media-sound/xmms2/files/xmms2-0.8_p20161122-mac-4.patch
index df3e4d2af852..9785b4198d51 100644
--- a/media-sound/xmms2/files/xmms2-0.8_p20161122-mac-4.patch
+++ b/media-sound/xmms2/files/xmms2-0.8_p20161122-mac-4.patch
@@ -1,15 +1,8 @@
-From e87745721deaf46d7054ac40cc55838561c9f552 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Carretero?= <cJ@zougloub.eu>
+https://github.com/xmms2/xmms2-devel/pull/2
+
+From: Jérôme Carretero <cJ@zougloub.eu>
Date: Tue, 24 Oct 2017 18:43:26 -0400
Subject: [PATCH] plugins: mac: support newer mac API version
-
----
- src/plugins/mac/mac.cpp | 6 +++++-
- src/plugins/mac/source_adapter.h | 8 +++++++-
- 2 files changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/src/plugins/mac/mac.cpp b/src/plugins/mac/mac.cpp
-index cec43e52..d8d3d1b9 100644
--- a/src/plugins/mac/mac.cpp
+++ b/src/plugins/mac/mac.cpp
@@ -210,8 +210,12 @@ xmms_mac_get_media_info (xmms_xform_t *xform)
@@ -26,8 +19,6 @@ index cec43e52..d8d3d1b9 100644
memset (field_value, 0, 255);
int size = 255;
p_ape_tag->GetFieldString (field_name, (char *)field_value, &size, TRUE);
-diff --git a/src/plugins/mac/source_adapter.h b/src/plugins/mac/source_adapter.h
-index 94f75359..70617514 100644
--- a/src/plugins/mac/source_adapter.h
+++ b/src/plugins/mac/source_adapter.h
@@ -38,7 +38,13 @@ public:
@@ -45,6 +36,3 @@ index 94f75359..70617514 100644
int Close () { return ERROR_SUCCESS; }
// read / write
---
-2.15.0
-
diff --git a/media-sound/xmms2/metadata.xml b/media-sound/xmms2/metadata.xml
index fa38219f0f16..dd988711fb40 100644
--- a/media-sound/xmms2/metadata.xml
+++ b/media-sound/xmms2/metadata.xml
@@ -5,47 +5,25 @@
<email>ionen@gentoo.org</email>
<name>Ionen Wolkens</name>
</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="asf">Support for Advanced Systems Format (ASF) by using bundled libasf</flag>
<flag name="fluidsynth">Enable fluidsynth support (MIDI)</flag>
+ <flag name="gme">Support for various game audio formats using <pkg>media-libs/game-music-emu</pkg></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="mac">Support for Monkey's Audio (APE) format using <pkg>media-sound/mac</pkg></flag>
+ <flag name="mlib-update">Enable building of xmms2-mlib-updater client</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="valgrind">Run unit tests under valgrind.</flag>
+ <flag name="sid">Support for C64 SID using <pkg>media-libs/libsidplay</pkg></flag>
+ <flag name="tremor">Support Vorbis using an alternate fixed-point decoder with <pkg>media-libs/tremor</pkg></flag>
+ <flag name="valgrind">Run unit tests under valgrind</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>
+ <remote-id type="github">xmms2/xmms2-devel</remote-id>
+ <remote-id type="github">xmms2/s4</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-sound/xmms2/xmms2-0.8_p20201016.ebuild b/media-sound/xmms2/xmms2-0.8_p20201016.ebuild
new file mode 100644
index 000000000000..6966575236d9
--- /dev/null
+++ b/media-sound/xmms2/xmms2-0.8_p20201016.ebuild
@@ -0,0 +1,236 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit multiprocessing optfeature perl-functions python-single-r1 toolchain-funcs
+
+XMMS2_COMMIT="46da10f0e20c53fd2b40843617ed182c0cba4ebb"
+S4_COMMIT="652ac581df7a0bca04334da397f8bb4f86eb7b59"
+WAF_VER="2.0.22"
+
+DESCRIPTION="X(cross)platform Music Multiplexing System, next generation of the XMMS player"
+HOMEPAGE="https://github.com/XMMS2"
+SRC_URI="
+ https://github.com/xmms2/xmms2-devel/archive/${XMMS2_COMMIT}.tar.gz -> ${P}.tar.gz
+ https://github.com/xmms2/s4/archive/${S4_COMMIT}.tar.gz -> ${PN}-s4-${PV}.tar.gz
+ https://waf.io/waf-${WAF_VER}.tar.bz2"
+S="${WORKDIR}/${PN}-devel-${XMMS2_COMMIT}"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~x86"
+
+# IUSE static map to be passed to --with-{optionals,plugins}=opt1,opt2,...
+# flag:opt = `usev flag opt`, opt = `usev opt`, :opt = `echo opt`
+XMMS2_OPTIONALS=(
+ cxx:xmmsclient++,xmmsclient++-glib :launcher mlib-update:medialib-updater
+ :nycli perl :pixmaps python server:s4 test:tests
+ # disabled: et,mdns,migrate-collections,ruby,sqlite2s4,vistest,xmmsclient-cf,xmmsclient-ecore
+)
+XMMS2_PLUGINS=(
+ aac:faad airplay alsa ao asf :asx cdda :cue curl :diskwrite :equalizer
+ ffmpeg:apefile,avcodec,flv,tta :file flac fluidsynth:fluidsynth,mid1,midsquash
+ gme :html ices :icymetaint :id3v2 jack :karaoke :m3u mac +mad mms modplug
+ mp3:mpg123 :mp4 musepack :normalize :null :nulstripper ofa opus oss :pls
+ pulseaudio:pulse :replaygain samba sid sndfile speex tremor vocoder +vorbis
+ :wave wavpack :xml xml:rss,xspf zeroconf:daap
+ # disabled: coreaudio,gvfs,nms,sc68,sun,waveout
+)
+
+IUSE="
+ ${XMMS2_OPTIONALS[@]%:*}
+ ${XMMS2_PLUGINS[@]%:*}
+ +server valgrind"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test ) !server? ( test )"
+
+COMMON_DEPEND="
+ dev-libs/glib:2
+ sys-libs/readline:=
+ server? (
+ aac? ( media-libs/faad2 )
+ airplay? ( dev-libs/openssl:= )
+ alsa? ( media-libs/alsa-lib )
+ ao? ( media-libs/libao )
+ cdda? (
+ dev-libs/libcdio-paranoia:=
+ dev-libs/libcdio:=
+ media-libs/libdiscid
+ )
+ curl? ( net-misc/curl )
+ ffmpeg? ( media-video/ffmpeg:= )
+ flac? ( media-libs/flac )
+ fluidsynth? ( media-sound/fluidsynth:= )
+ gme? ( media-libs/game-music-emu )
+ ices? (
+ media-libs/libogg
+ media-libs/libshout
+ media-libs/libvorbis
+ )
+ jack? ( virtual/jack )
+ mac? ( media-sound/mac )
+ mad? ( media-libs/libmad )
+ mms? (
+ media-libs/libmms
+ media-video/ffmpeg:=
+ )
+ modplug? ( media-libs/libmodplug )
+ mp3? ( media-sound/mpg123 )
+ musepack? ( media-sound/musepack-tools )
+ ofa? (
+ dev-libs/expat
+ media-libs/libofa
+ sci-libs/fftw:3.0=
+ )
+ opus? (
+ media-libs/libogg
+ media-libs/opus
+ media-libs/opusfile
+ )
+ pulseaudio? ( media-sound/pulseaudio )
+ samba? ( net-fs/samba )
+ sid? ( media-libs/libsidplay:2 )
+ sndfile? ( media-libs/libsndfile )
+ speex? (
+ media-libs/libogg
+ media-libs/speex
+ )
+ tremor? ( media-libs/tremor )
+ vocoder? (
+ media-libs/libsamplerate
+ sci-libs/fftw:3.0=
+ )
+ vorbis? ( media-libs/libvorbis )
+ wavpack? ( media-sound/wavpack )
+ xml? ( dev-libs/libxml2 )
+ zeroconf? (
+ net-dns/avahi[mdnsresponder-compat]
+ net-misc/curl
+ )
+ )
+ python? ( virtual/libcrypt:= )"
+RDEPEND="
+ ${COMMON_DEPEND}
+ perl? (
+ dev-lang/perl
+ dev-perl/glib-perl
+ virtual/perl-Carp
+ virtual/perl-IO
+ virtual/perl-Scalar-List-Utils
+ )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep 'dev-python/pygobject[${PYTHON_USEDEP}]')
+ )"
+DEPEND="
+ ${COMMON_DEPEND}
+ cxx? ( dev-libs/boost )
+ test? ( dev-util/cunit )"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ perl? ( virtual/perl-Pod-Parser )
+ python? ( $(python_gen_cond_dep 'dev-python/cython[${PYTHON_USEDEP}]') )
+ test? ( valgrind? ( dev-util/valgrind ) )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.8-rtvg.patch
+ "${FILESDIR}"/${PN}-0.8_p20161122-mac-4.patch
+ "${FILESDIR}"/${PN}-0.8_p20161122-cpp-client.patch
+ "${FILESDIR}"/${PN}-0.8_p20161122-faad.patch
+)
+
+src_prepare() {
+ rmdir src/lib/s4 && mv ../s4-${S4_COMMIT} src/lib/s4 || die
+ mv ../waf-${WAF_VER}/waf{,lib} . || die
+
+ default
+
+ sed -e "s|/path/to/.*sf2|${EPREFIX}/usr/share/sounds/sf2/FluidR3_GM.sf2|" \
+ -i src/plugins/fluidsynth/fluidsynth.c || die
+}
+
+src_configure() {
+ local waf=(
+ ./waf configure
+ --prefix="${EPREFIX}"/usr
+ --libdir="${EPREFIX}"/usr/$(get_libdir)
+ --boost-includes="${ESYSROOT}"/usr/include # needed for prefix
+ --with-custom-version="%(version)s (git commit: ${XMMS2_COMMIT:0:8})"
+ --with-target-platform="${CHOST}"
+ )
+
+ xmms2_flag() {
+ local IFS=:
+ set -- ${1#+}
+
+ if [[ ${1} ]]; then
+ usev ${1} ,${2:-${1}}
+ else
+ echo ,${2}
+ fi
+ }
+
+ local flag optionals plugins
+
+ if use server; then
+ for flag in "${XMMS2_PLUGINS[@]}"; do
+ plugins+=$(xmms2_flag ${flag})
+ done
+ else
+ waf+=( --without-xmms2d )
+ fi
+
+ for flag in "${XMMS2_OPTIONALS[@]}"; do
+ optionals+=$(xmms2_flag ${flag})
+ done
+
+ waf+=(
+ # pass even if empty to avoid automagic
+ --with-optionals=${optionals:1}
+ --with-plugins=${plugins:1}
+ )
+
+ if use perl; then
+ perl_set_version
+ waf+=( --with-perl-archdir="${ARCH_LIB}" )
+ fi
+
+ if use valgrind; then
+ if valgrind true &>/dev/null; then
+ waf+=( --with-valgrind )
+ else
+ ewarn "valgrind was disabled due to failing a basic sanity check" #807271
+ fi
+ fi
+
+ tc-export AR CC CXX
+
+ echo "${waf[*]}"
+ "${waf[@]}" || die
+}
+
+src_compile() {
+ ./waf build -j$(makeopts_jobs) --verbose --notests || die
+}
+
+src_test() {
+ ./waf --alltests || die
+}
+
+src_install() {
+ ./waf install --destdir="${D}" --without-ldconfig || die
+
+ einstalldocs
+
+ use python && python_optimize
+
+ # to avoid editing waftools/man.py (use find given not always installed)
+ find "${ED}" -name '*.gz' -exec gzip -d {} + || die
+}
+
+pkg_postinst() {
+ use fluidsynth && optfeature "the default MIDI soundfont" media-sound/fluid-soundfont
+}