diff --git a/.gitignore b/.gitignore index 8ab4456..b1ee736 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,3 @@ xmms2-0.7DrNo-clean.tar.bz2 /xmms2-0.8DrO_o-clean.tar.bz2 /unreal_dm-free.music.and.free.beer.ogg -/xmms2-0.9.3-clean.tar.xz -/xmms2-0.9.4-clean.tar.xz -/xmms2-0.9.5-clean.tar.xz diff --git a/sources b/sources index 3f8e255..e2df1ea 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ +SHA512 (xmms2-0.8DrO_o-clean.tar.bz2) = ab14d08baa7625e69f316e53ca9673ec8fec0a7f3cecd5656f74c317351ef033ce865acc7f3884caac22e2296bfa8f2eda866ef89a28d91ab5b4a62614879198 SHA512 (unreal_dm-free.music.and.free.beer.ogg) = 436389158cad78a95f62a1e4de2e9add243d9fb027dec57022d9b1791ccb203539a9562bb5ffaba5918533fec79a5e2b32415eac0bc467fc8441f4906bff1225 -SHA512 (xmms2-0.9.5-clean.tar.xz) = 325dd15182a5f5fd436e74fe624c9f30c1335394650208cfc6c9e4ac2efb657618ea0b1b88592922ae840cadfefae7cb4d0f75e3cb7121a4b068468fbc6f76cc diff --git a/xmms2-0.8DrO_o-libmodplug-pkgconfig-change.patch b/xmms2-0.8DrO_o-libmodplug-pkgconfig-change.patch new file mode 100644 index 0000000..66964e7 --- /dev/null +++ b/xmms2-0.8DrO_o-libmodplug-pkgconfig-change.patch @@ -0,0 +1,11 @@ +--- xmms2-0.8DrO_o/src/plugins/modplug/modplug.c.header 2011-10-21 04:26:08.000000000 +0900 ++++ xmms2-0.8DrO_o/src/plugins/modplug/modplug.c 2014-05-07 14:31:14.830068685 +0900 +@@ -9,7 +9,7 @@ + #include "xmms/xmms_sample.h" + #include "xmms/xmms_medialib.h" + #include "xmms/xmms_log.h" +-#include ++#include + + #include + #include diff --git a/xmms2-0.8DrO_o-moresaneversioning.patch b/xmms2-0.8DrO_o-moresaneversioning.patch new file mode 100644 index 0000000..3ded289 --- /dev/null +++ b/xmms2-0.8DrO_o-moresaneversioning.patch @@ -0,0 +1,32 @@ +diff -up xmms2-0.8DrO_o/wscript.versionsanity xmms2-0.8DrO_o/wscript +--- xmms2-0.8DrO_o/wscript.versionsanity 2011-12-05 15:19:56.000000000 -0500 ++++ xmms2-0.8DrO_o/wscript 2011-12-05 15:22:01.885508715 -0500 +@@ -19,7 +19,7 @@ from waflib import Configure, Options, U + from waftools.compiler_flags import compiler_flags + from waftools import gittools + +-BASEVERSION="0.8 DrO_o" ++BASEVERSION="0.8" + APPNAME='xmms2' + + top = '.' +@@ -288,12 +288,13 @@ def configure(conf): + + nam,changed = gittools.get_info() + conf.msg("git commit id", nam) +- if conf.options.customversion: +- conf.env.VERSION = "%s (%s + %s)" % (BASEVERSION, nam, conf.options.customversion) +- else: +- dirty = changed and "-dirty" or "" +- conf.msg("uncommited changed", changed and "yes" or "no") +- conf.env.VERSION = "%s (git commit: %s%s)" % (BASEVERSION, nam, dirty) ++ ## if conf.options.customversion: ++ ## conf.env.VERSION = "%s (%s + %s)" % (BASEVERSION, nam, conf.options.customversion) ++ ## else: ++ ## dirty = changed and "-dirty" or "" ++ ## conf.msg("uncommited changed", changed and "yes" or "no") ++ ## conf.env.VERSION = "%s (git commit: %s%s)" % (BASEVERSION, nam, dirty) ++ conf.env.VERSION = "%s" % (BASEVERSION) + + ## conf.env.append_unique('CFLAGS', ['-g', '-O0']) + ## conf.env.append_unique('CXXFLAGS', ['-g', '-O0']) diff --git a/xmms2-0.8DrO_o-no-O0.patch b/xmms2-0.8DrO_o-no-O0.patch new file mode 100644 index 0000000..79c41e9 --- /dev/null +++ b/xmms2-0.8DrO_o-no-O0.patch @@ -0,0 +1,14 @@ +diff -up xmms2-0.8DrO_o/wscript.noO0 xmms2-0.8DrO_o/wscript +--- xmms2-0.8DrO_o/wscript.noO0 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/wscript 2011-12-05 15:19:15.962065486 -0500 +@@ -295,8 +295,8 @@ def configure(conf): + conf.msg("uncommited changed", changed and "yes" or "no") + conf.env.VERSION = "%s (git commit: %s%s)" % (BASEVERSION, nam, dirty) + +- conf.env.append_unique('CFLAGS', ['-g', '-O0']) +- conf.env.append_unique('CXXFLAGS', ['-g', '-O0']) ++ ## conf.env.append_unique('CFLAGS', ['-g', '-O0']) ++ ## conf.env.append_unique('CXXFLAGS', ['-g', '-O0']) + + if conf.options.with_profiling: + conf.env.with_profiling = True diff --git a/xmms2-0.8DrO_o-openssl-1.1.patch b/xmms2-0.8DrO_o-openssl-1.1.patch new file mode 100644 index 0000000..e2157b2 --- /dev/null +++ b/xmms2-0.8DrO_o-openssl-1.1.patch @@ -0,0 +1,41 @@ +diff -up xmms2-0.8DrO_o/src/plugins/airplay/raop_client.c.openssl11 xmms2-0.8DrO_o/src/plugins/airplay/raop_client.c +--- xmms2-0.8DrO_o/src/plugins/airplay/raop_client.c.openssl11 2016-10-18 12:11:20.170416850 -0400 ++++ xmms2-0.8DrO_o/src/plugins/airplay/raop_client.c 2016-10-18 12:18:19.315015550 -0400 +@@ -31,6 +31,15 @@ + #define RAOP_RTSP_CONNECTED 0x40 + #define RAOP_RTSP_DONE 0x80 + ++/* Openssl 1.1.0 broke compatibility. We could depend on openssl 1.1.0, but ++ * it may take some time before distributions are able to upgrade to the new ++ * openssl version. To insulate ourselves from such transition problems, let's ++ * add a compatibility macro. ++ */ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#define RSA_set0_key(r, n_, e_, d) (r->n = n_, r->e = e_, 1) ++#endif ++ + typedef enum audio_jack_status { + AUDIO_JACK_CONNECTED, + AUDIO_JACK_DISCONNECTED +@@ -110,6 +119,8 @@ static gint + raop_rsa_encrypt (guchar *text, gint len, guchar *res) + { + RSA *rsa; ++ BIGNUM *n_bn; ++ BIGNUM *e_bn; + size_t size; + static const guchar mod[] = { + 0xe7,0xd7,0x44,0xf2,0xa2,0xe2,0x78,0x8b,0x6c,0x1f,0x55,0xa0, +@@ -137,8 +148,10 @@ raop_rsa_encrypt (guchar *text, gint len + static const guchar exp[] = {0x01, 0x00, 0x01}; + + rsa = RSA_new (); +- rsa->n = BN_bin2bn (mod, 256, NULL); +- rsa->e = BN_bin2bn (exp, 3, NULL); ++ n_bn = BN_bin2bn (mod, 256, NULL); ++ e_bn = BN_bin2bn (exp, 3, NULL); ++ /* TODO: Catch error here? */ ++ RSA_set0_key(rsa, n_bn, e_bn, NULL); + + size = RSA_public_encrypt (len, text, res, rsa, RSA_PKCS1_OAEP_PADDING); + diff --git a/xmms2-0.8DrO_o-pulse-output-default.patch b/xmms2-0.8DrO_o-pulse-output-default.patch new file mode 100644 index 0000000..70c35a4 --- /dev/null +++ b/xmms2-0.8DrO_o-pulse-output-default.patch @@ -0,0 +1,10 @@ +diff -up xmms2-0.8DrO_o/src/plugins/pulse/wscript.default-output-pulse xmms2-0.8DrO_o/src/plugins/pulse/wscript +--- xmms2-0.8DrO_o/src/plugins/pulse/wscript.default-output-pulse 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/plugins/pulse/wscript 2011-12-05 14:59:38.466393458 -0500 +@@ -3,5 +3,5 @@ from waftools.plugin import plugin + def plugin_configure(conf): + conf.check_cfg(package="libpulse", args="--cflags --libs", uselib_store="pulse") + +-configure, build = plugin("pulse", configure=plugin_configure, output_prio=25, ++configure, build = plugin("pulse", configure=plugin_configure, output_prio=45, + libs=["pulse"]) diff --git a/xmms2-0.8DrO_o-python3.patch b/xmms2-0.8DrO_o-python3.patch new file mode 100644 index 0000000..219340b --- /dev/null +++ b/xmms2-0.8DrO_o-python3.patch @@ -0,0 +1,44 @@ +diff -up xmms2-0.8DrO_o/src/clients/lib/python/cython_include/xmmsapi.pxd.py3 xmms2-0.8DrO_o/src/clients/lib/python/cython_include/xmmsapi.pxd +--- xmms2-0.8DrO_o/src/clients/lib/python/cython_include/xmmsapi.pxd.py3 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/clients/lib/python/cython_include/xmmsapi.pxd 2020-02-28 09:57:34.639494568 -0500 +@@ -1,3 +1,5 @@ ++# cython: language_level=3 ++ + from xmmsvalue cimport Collection, XmmsValue + from cxmmsvalue cimport * + from cxmmsclient cimport * +diff -up xmms2-0.8DrO_o/src/clients/lib/python/cython_include/xmmsvalue.pxd.py3 xmms2-0.8DrO_o/src/clients/lib/python/cython_include/xmmsvalue.pxd +--- xmms2-0.8DrO_o/src/clients/lib/python/cython_include/xmmsvalue.pxd.py3 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/clients/lib/python/cython_include/xmmsvalue.pxd 2020-02-28 09:57:34.639494568 -0500 +@@ -1,4 +1,5 @@ + #needs to reimport required symbols from .h files. ++# cython: language_level=3 + + cdef extern from "xmmsc/xmmsv.h": + ctypedef struct xmmsv_t +diff -up xmms2-0.8DrO_o/src/clients/lib/python/xmmsapi.pyx.py3 xmms2-0.8DrO_o/src/clients/lib/python/xmmsapi.pyx +--- xmms2-0.8DrO_o/src/clients/lib/python/xmmsapi.pyx.py3 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/clients/lib/python/xmmsapi.pyx 2020-02-28 09:59:05.686592346 -0500 +@@ -1358,22 +1358,6 @@ cdef class XmmsApi(XmmsCore): + res = xmmsc_medialib_import_path(self.conn, p) + return self.create_result(cb, res) + +- @deprecated +- 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) +- +- @deprecated +- def medialib_path_import_encoded(self, path, cb = None): +- """ +- @deprecated +- Use medialib_import_path(path, ..., encoded=True) instead +- """ +- return self.medialib_import_path(self, path, cb=cb, encoded=True) +- + cpdef XmmsResult medialib_property_set(self, int id, key, value, source=None, cb=None): + """ + medialib_property_set(id, key, value, source=None, cb=None) -> XmmsResult diff --git a/xmms2-0.8DrO_o-ruby22-remove-deprecated-usage.patch b/xmms2-0.8DrO_o-ruby22-remove-deprecated-usage.patch new file mode 100644 index 0000000..611a22e --- /dev/null +++ b/xmms2-0.8DrO_o-ruby22-remove-deprecated-usage.patch @@ -0,0 +1,11 @@ +--- xmms2-0.8DrO_o/.waf-1.6.7-b271784c448ab906d5606267fb7f92c0/waflib/Tools/ruby.py.rbconfig 2015-01-16 17:04:41.900715116 +0900 ++++ xmms2-0.8DrO_o/.waf-1.6.7-b271784c448ab906d5606267fb7f92c0/waflib/Tools/ruby.py 2015-01-16 17:18:02.144349327 +0900 +@@ -45,7 +45,7 @@ + def read_out(cmd): + return Utils.to_list(self.cmd_and_log([self.env.RUBY,'-rrbconfig','-e',cmd])) + def read_config(key): +- return read_out('puts Config::CONFIG[%r]'%key) ++ return read_out('puts RbConfig::CONFIG[%r]'%key) + ruby=self.env['RUBY'] + archdir=read_config('archdir') + cpppath=archdir diff --git a/xmms2-0.8DrO_o-use-libdir.patch b/xmms2-0.8DrO_o-use-libdir.patch new file mode 100644 index 0000000..a4e6623 --- /dev/null +++ b/xmms2-0.8DrO_o-use-libdir.patch @@ -0,0 +1,10 @@ +diff -up xmms2-0.8DrO_o/waftools/tool.py.plugins-use-libdir xmms2-0.8DrO_o/waftools/tool.py +--- xmms2-0.8DrO_o/waftools/tool.py.plugins-use-libdir 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/waftools/tool.py 2011-12-05 14:56:47.867995794 -0500 +@@ -6,5 +6,5 @@ def add_install_flag(bld, obj): + + if env['explicit_install_name']: + libname = obj.env["cshlib_PATTERN"] % obj.target +- insname = os.path.join(obj.env["PREFIX"], 'lib', libname) ++ insname = os.path.join(obj.env["LIBDIR"], libname) + obj.env.append_unique("LINKFLAGS", ["-install_name", insname]) diff --git a/xmms2-0.8DrO_o-use-system-waf.patch b/xmms2-0.8DrO_o-use-system-waf.patch new file mode 100644 index 0000000..002ab4b --- /dev/null +++ b/xmms2-0.8DrO_o-use-system-waf.patch @@ -0,0 +1,677 @@ +diff -up xmms2-0.8DrO_o/src/clients/et/wscript.fixme xmms2-0.8DrO_o/src/clients/et/wscript +--- xmms2-0.8DrO_o/src/clients/et/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/clients/et/wscript 2020-02-28 09:49:55.142637980 -0500 +@@ -23,9 +23,9 @@ def build(bld): + + + def configure(conf): +- if Options.platform == "win32": ++ if Utils.unversioned_sys_platform == "win32": + conf.fatal("Not supported on Windows") +- elif Options.platform == "sunos": ++ elif Utils.unversioned_sys_platform == "sunos": + conf.check_cc(lib="resolv", uselib_store="resolv", mandatory=True) + return True + +diff -up xmms2-0.8DrO_o/src/clients/launcher/wscript.fixme xmms2-0.8DrO_o/src/clients/launcher/wscript +--- xmms2-0.8DrO_o/src/clients/launcher/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/clients/launcher/wscript 2020-02-28 09:49:55.142637980 -0500 +@@ -1,4 +1,4 @@ +-import Options ++from waflib import Utils + + def build(bld): + bld(features = 'c cprogram', +@@ -14,7 +14,7 @@ def build(bld): + ) + + def configure(conf): +- if Options.platform == 'win32': ++ if Utils.unversioned_sys_platform == 'win32': + conf.fatal("Not supported on Windows") + + def options(opt): +diff -up xmms2-0.8DrO_o/src/clients/lib/perl/wscript.fixme xmms2-0.8DrO_o/src/clients/lib/perl/wscript +--- xmms2-0.8DrO_o/src/clients/lib/perl/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/clients/lib/perl/wscript 2020-02-28 09:49:55.143637956 -0500 +@@ -37,11 +37,11 @@ def build(bld): + + + def configure(conf): +- conf.check_tool('perl') ++ conf.load('perl') + conf.check_perl_version((5,7,3)) + conf.check_perl_ext_devel() + conf.load('podselect', tooldir='waftools') +- conf.check_tool('podselect') ++ conf.load('podselect') + + if not os.path.commonprefix([conf.env.ARCHDIR_PERL, conf.env.PREFIX]).startswith(conf.env.PREFIX): + Logs.warn("Default perl libdir is not under PREFIX. specify the path " +@@ -54,4 +54,4 @@ def configure(conf): + + + def options(opt): +- opt.tool_options('perl') ++ opt.load('perl') +diff -up xmms2-0.8DrO_o/src/clients/lib/python/wscript.fixme xmms2-0.8DrO_o/src/clients/lib/python/wscript +--- xmms2-0.8DrO_o/src/clients/lib/python/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/clients/lib/python/wscript 2020-02-28 09:49:55.143637956 -0500 +@@ -79,7 +79,7 @@ def build(bld): + # TODO: Distribute .pxd files + + def configure(conf): +- conf.check_tool('python') ++ conf.load('python') + if not conf.env.PYTHON: + conf.fatal("python not found") + +@@ -112,7 +112,7 @@ def configure(conf): + "files, you should consider reconfiguring with --no-cython") + + def options(opt): +- opt.tool_options('cython', tooldir = os.path.abspath('waftools')) ++ opt.load('cython', tooldir = os.path.abspath('waftools')) + opt.add_option('--no-cython', action="store_true", + dest="no_cython", default=False, + help="Use precompiled cython files even if cython is installed on " +diff -up xmms2-0.8DrO_o/src/clients/lib/ruby/wscript.fixme xmms2-0.8DrO_o/src/clients/lib/ruby/wscript +--- xmms2-0.8DrO_o/src/clients/lib/ruby/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/clients/lib/ruby/wscript 2020-02-28 09:49:55.143637956 -0500 +@@ -48,11 +48,11 @@ def build(bld): + ) + + def configure(conf): +- conf.check_tool("ruby") ++ conf.load("ruby") + conf.check_ruby_version((1,8,0)) + conf.check_ruby_ext_devel() + +- conf.check_cc(function_name="rb_protect_inspect", header_name="ruby.h", ++ conf.check_cc(header_name="ruby.h", + uselib="RUBYEXT", mandatory=False) + + prefix = os.path.commonprefix([conf.env.ARCHDIR_RUBY, conf.env.PREFIX]) +@@ -70,4 +70,4 @@ def configure(conf): + return True + + def options(opt): +- opt.tool_options('ruby', tdir=os.path.abspath('waftools')) ++ opt.load('ruby', tdir=os.path.abspath('waftools')) +diff -up xmms2-0.8DrO_o/src/clients/lib/xmmsclient++/wscript.fixme xmms2-0.8DrO_o/src/clients/lib/xmmsclient++/wscript +--- xmms2-0.8DrO_o/src/clients/lib/xmmsclient++/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/clients/lib/xmmsclient++/wscript 2020-02-28 09:49:55.143637956 -0500 +@@ -40,4 +40,4 @@ def configure(conf): + return True + + def options(opt): +- opt.tool_options('boost') ++ opt.load('boost') +diff -up xmms2-0.8DrO_o/src/clients/lib/xmmsclient/wscript.fixme xmms2-0.8DrO_o/src/clients/lib/xmmsclient/wscript +--- xmms2-0.8DrO_o/src/clients/lib/xmmsclient/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/clients/lib/xmmsclient/wscript 2020-02-28 09:49:55.143637956 -0500 +@@ -39,8 +39,7 @@ def build(bld): + def configure(conf): + conf.env.XMMS_PKGCONF_FILES.append(("xmms2-client", "-lxmmsclient")) + +- conf.check_cc(function_name="semtimedop", +- header_name=["sys/types.h", "sys/ipc.h", "sys/sem.h"], ++ conf.check_cc(header_name=["sys/types.h", "sys/ipc.h", "sys/sem.h"], + defines=["_GNU_SOURCE=1"], mandatory=False) + if not conf.env.HAVE_SEMTIMEDOP: + Logs.warn("Compiling visualization without shm support!") +diff -up xmms2-0.8DrO_o/src/clients/medialib-updater/wscript.fixme xmms2-0.8DrO_o/src/clients/medialib-updater/wscript +--- xmms2-0.8DrO_o/src/clients/medialib-updater/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/clients/medialib-updater/wscript 2020-02-28 09:49:55.143637956 -0500 +@@ -24,8 +24,7 @@ def configure(conf): + conf.check_cfg(package="gthread-2.0", uselib_store='gthread2', + args="--cflags --libs") + +- conf.check_cc(function_name="g_file_query_file_type", +- header_name="gio/gio.h", uselib="gio2", mandatory=False) ++ conf.check_cc(header_name="gio/gio.h", uselib="gio2", mandatory=False) + + + def options(opt): +diff -up xmms2-0.8DrO_o/src/clients/nycli/wscript.fixme xmms2-0.8DrO_o/src/clients/nycli/wscript +--- xmms2-0.8DrO_o/src/clients/nycli/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/clients/nycli/wscript 2020-02-28 09:49:55.143637956 -0500 +@@ -1,4 +1,4 @@ +-from waflib import Options, Errors ++from waflib import Utils, Errors + + source = """ + main.c +@@ -37,7 +37,7 @@ def build(bld): + + + def configure(conf): +- if Options.platform == 'win32': ++ if Utils.unversioned_sys_platform == 'win32': + conf.env.CLI_COMPAT_IMPL = 'win32' + else: + conf.env.CLI_COMPAT_IMPL = 'unix' +@@ -49,8 +49,7 @@ def configure(conf): + # first try just linking against libreadline + try: + conf.check_cc(lib="readline", header_name=rl_headers, +- function_name='rl_filename_dequoting_function', +- uselib_store="readline", uselib="glib2") ++ uselib_store="readline", uselib="glib2") + except Errors.ConfigurationError: + pass + else: +diff -up xmms2-0.8DrO_o/src/clients/vistest/wscript.fixme xmms2-0.8DrO_o/src/clients/vistest/wscript +--- xmms2-0.8DrO_o/src/clients/vistest/wscript.fixme 2020-02-28 09:49:55.137638098 -0500 ++++ xmms2-0.8DrO_o/src/clients/vistest/wscript 2020-02-28 09:49:55.144637932 -0500 +@@ -1,4 +1,4 @@ +-import Options ++from waflib import Utils + + def build(bld): + t = bld(features = 'c cprogram', +@@ -46,7 +46,7 @@ def build(bld): + t.install_path = None + + def configure(conf): +- if Options.platform == "win32": ++ if Utils.unversioned_sys_platform == "win32": + conf.fatal("visualisation clients not supported on windows") + + conf.env.INSTALL_VIS_REFERENCE_CLIENTS = conf.options.with_vis_clients +diff -up xmms2-0.8DrO_o/src/includepriv/wscript.fixme xmms2-0.8DrO_o/src/includepriv/wscript +--- xmms2-0.8DrO_o/src/includepriv/wscript.fixme 2020-02-28 09:50:50.912314901 -0500 ++++ xmms2-0.8DrO_o/src/includepriv/wscript 2020-02-28 09:51:04.246998545 -0500 +@@ -3,5 +3,5 @@ def configure(conf): + def options(conf): + pass + def build(bld): +- bld.add_subdirs("xmmspriv") +- bld.add_subdirs("xmmsclientpriv") ++ bld.recurse("xmmspriv") ++ bld.recurse("xmmsclientpriv") +diff -up xmms2-0.8DrO_o/src/include/wscript.fixme xmms2-0.8DrO_o/src/include/wscript +--- xmms2-0.8DrO_o/src/include/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/include/wscript 2020-02-28 09:49:55.144637932 -0500 +@@ -17,7 +17,7 @@ def build(bld): + #bld.install_files(os.path.join(bld.env.INCLUDEDIR, 'xmms2', p), " ".join(f)) + + def configure(conf): +- conf.sub_config("xmms") ++ conf.recurse("xmms") + + return True + +diff -up xmms2-0.8DrO_o/src/include/xmms/wscript.fixme xmms2-0.8DrO_o/src/include/xmms/wscript +--- xmms2-0.8DrO_o/src/include/xmms/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/include/xmms/wscript 2020-02-28 09:49:55.144637932 -0500 +@@ -1,5 +1,5 @@ + import os, sys +-from waflib import Options, Logs ++from waflib import Options, Logs, Utils + + def build(bld): + pass +@@ -20,7 +20,7 @@ def configure(conf): + else: + conf.fatal('The "%s" output plugin could not be found.' % (preferred)) + +- if Options.platform == 'darwin': ++ if Utils.unversioned_sys_platform == 'darwin': + uconf = 'Library/xmms2' + ucache = 'Library/xmms2/logs' + else: +@@ -28,7 +28,7 @@ def configure(conf): + ucache = '.cache/xmms2' + + sharedir = os.path.join(conf.env.DATADIR, 'xmms2') +- if Options.platform == 'win32': ++ if Utils.unversioned_sys_platform == 'win32': + # The plugin path in Windows should be relative, not absolute + conf.env.PLUGINDIR = 'Plugins/' + else: +diff -up xmms2-0.8DrO_o/src/lib/xmmsutils/wscript.fixme xmms2-0.8DrO_o/src/lib/xmmsutils/wscript +--- xmms2-0.8DrO_o/src/lib/xmmsutils/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/lib/xmmsutils/wscript 2020-02-28 09:49:55.144637932 -0500 +@@ -4,7 +4,7 @@ + # Copyright (C) 2006-2011 XMMS2 Team + # + +-from waflib import Options, Logs, Errors ++from waflib import Options, Logs, Errors, Utils + + def build(bld): + source = """ +@@ -26,14 +26,14 @@ def build(bld): + + + def configure(conf): +- if Options.platform == 'win32': ++ if Utils.unversioned_sys_platform == 'win32': + conf.env.util_impl = 'win32' + else: + conf.env.util_impl = 'unix' + try: +- conf.check_cc(function_name="nanosleep", header_name="time.h") ++ conf.check_cc(header_name="time.h") + except Errors.ConfigurationError: +- conf.check_cc(function_name="nanosleep", header_name="time.h", ++ conf.check_cc(header_name="time.h", + lib="rt", uselib_store="rt") + return True + +diff -up xmms2-0.8DrO_o/src/lib/xmmsvisualization/wscript.fixme xmms2-0.8DrO_o/src/lib/xmmsvisualization/wscript +--- xmms2-0.8DrO_o/src/lib/xmmsvisualization/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/lib/xmmsvisualization/wscript 2020-02-28 09:49:55.144637932 -0500 +@@ -21,7 +21,7 @@ def build(bld): + + def configure(conf): + # Check for the modf function in the math lib +- conf.check_cc(function_name="modf", header_name="math.h", ++ conf.check_cc(header_name="math.h", + lib="m", uselib_store="math") + return True + +diff -up xmms2-0.8DrO_o/src/plugins/cdda/wscript.fixme xmms2-0.8DrO_o/src/plugins/cdda/wscript +--- xmms2-0.8DrO_o/src/plugins/cdda/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/plugins/cdda/wscript 2020-02-28 09:49:55.145637908 -0500 +@@ -1,11 +1,11 @@ + from waftools.plugin import plugin + +-import Options ++from waflib import Utils + + def plugin_configure(conf): + conf.check_cfg(package="libcdio_cdda", args="--cflags --libs", uselib_store="cdda") + conf.check_cfg(package="libdiscid", args="--cflags --libs", uselib_store="discid") +- if Options.platform == "win32": ++ if Utils.unversioned_sys_platform == "win32": + conf.check_cc(lib="winmm", uselib_store="winmm", args="--cflags --libs") + + configure, build = plugin("cdda", configure=plugin_configure, +diff -up xmms2-0.8DrO_o/src/plugins/curl/wscript.fixme xmms2-0.8DrO_o/src/plugins/curl/wscript +--- xmms2-0.8DrO_o/src/plugins/curl/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/plugins/curl/wscript 2020-02-28 09:49:55.145637908 -0500 +@@ -16,8 +16,7 @@ def plugin_configure(conf): + # This is a function this plugin uses and that was added to curl in + # version 7.12.0. We cannot check for the curl version as curl-config + # did not support version tests before version 7.15.0 +- conf.check_cc(function_name="curl_multi_strerror", +- header_name="curl/curl.h", uselib="curl") ++ conf.check_cc(header_name="curl/curl.h", uselib="curl") + + configure, build = plugin('curl', configure=plugin_configure, + source=source, libs=["socket", "curl"]) +diff -up xmms2-0.8DrO_o/src/plugins/daap/wscript.fixme xmms2-0.8DrO_o/src/plugins/daap/wscript +--- xmms2-0.8DrO_o/src/plugins/daap/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/plugins/daap/wscript 2020-02-28 09:49:55.146637885 -0500 +@@ -1,4 +1,4 @@ +-import Options ++from waflib import Options + from waftools.plugin import plugin + + source = """ +diff -up xmms2-0.8DrO_o/src/plugins/file/wscript.fixme xmms2-0.8DrO_o/src/plugins/file/wscript +--- xmms2-0.8DrO_o/src/plugins/file/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/plugins/file/wscript 2020-02-28 09:49:55.146637885 -0500 +@@ -7,9 +7,9 @@ def plugin_build(bld, obj): + obj.source.append('browse/gdir.c') + + def plugin_configure(conf): +- conf.check_cc(function_name='fstatat', header_name=['fcntl.h','sys/stat.h'], ++ conf.check_cc(header_name=['fcntl.h','sys/stat.h'], + defines=['_ATFILE_SOURCE=1']) +- conf.check_cc(function_name='dirfd', header_name=['dirent.h','sys/types.h']) ++ conf.check_cc(header_name=['dirent.h','sys/types.h']) + + configure, build = plugin("file", + configure=plugin_configure, build=plugin_build, +diff -up xmms2-0.8DrO_o/src/xmms/wscript.fixme xmms2-0.8DrO_o/src/xmms/wscript +--- xmms2-0.8DrO_o/src/xmms/wscript.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/src/xmms/wscript 2020-02-28 09:49:55.147637861 -0500 +@@ -5,7 +5,7 @@ + # + + import os +-from waflib import Options, Logs, Errors ++from waflib import Options, Logs, Errors, Utils + + source = """ + config.c +@@ -127,7 +127,7 @@ int main() { + + def get_statfs_impl(conf): + # Detect the type of stat call used +- if Options.platform == 'win32': ++ if Utils.unversioned_sys_platform == 'win32': + return 'dummy' + else: + try: +@@ -147,7 +147,7 @@ def get_statfs_impl(conf): + else: + return 'bsd' + else: +- if Options.platform == 'sunos': ++ if Utils.unversioned_sys_platform == 'sunos': + return 'solaris' + else: + return 'linux' +@@ -155,7 +155,7 @@ def get_statfs_impl(conf): + # Get the implementation variant for the localtime_r function. + def get_localtime_impl(conf): + try: +- conf.check_cc(function_name='localtime_r', header_name='time.h') ++ conf.check_cc(header_name='time.h') + except Errors.ConfigurationError: + return 'dummy' + else: +@@ -174,7 +174,7 @@ def get_thread_name_impl(conf): + + # Get the implementation variant for signals, symlinks and uid check. + def get_compat_impl(conf): +- if Options.platform == 'win32': ++ if Utils.unversioned_sys_platform == 'win32': + return 'dummy' + else: + return 'unix' +@@ -183,8 +183,7 @@ def get_visualization_impl(conf): + if conf.options.without_unixshmserver: + return 'dummy' + +- conf.check_cc(function_name='semctl', +- header_name=['sys/types.h','sys/ipc.h','sys/sem.h'], ++ conf.check_cc(header_name=['sys/types.h','sys/ipc.h','sys/sem.h'], + mandatory=False) + try: + conf.check_cc(fragment=semun_fragment, uselib_store="semun", +@@ -198,7 +197,7 @@ def get_visualization_impl(conf): + return 'dummy' + + def configure(conf): +- conf.check_tool('python-generator', tooldir=os.path.abspath('waftools')) ++ conf.load('python-generator', tooldir=os.path.abspath('waftools')) + + conf.check_cfg(package='gmodule-2.0', atleast_version='2.6.0', + uselib_store='gmodule2', args='--cflags --libs') +@@ -208,7 +207,7 @@ def configure(conf): + uselib_store='sqlite3', args='--cflags --libs') + + # Check for the sin function in the math lib +- conf.check_cc(lib='m', function_name='sin', header_name='math.h', ++ conf.check_cc(lib='m', header_name='math.h', + uselib_store="math") + + conf.env.compat_impl = get_compat_impl(conf) +@@ -221,11 +220,11 @@ def configure(conf): + Logs.warn("Compiling visualization without shm support") + + # Add Darwin stuff +- if Options.platform == 'darwin': ++ if Utils.unversioned_sys_platform == 'darwin': + conf.env.append_value('LINKFLAGS', ['-framework', 'CoreFoundation']) + conf.env.append_value('DEFINES', 'USE_BUNDLES') + +- conf.env.xmms_shared_library = (Options.platform == 'win32') ++ conf.env.xmms_shared_library = (Utils.unversioned_sys_platform == 'win32') + + conf.env.XMMS_PKGCONF_FILES.append(('xmms2-plugin', '')) + +diff -up xmms2-0.8DrO_o/waftools/cython_extra.py.fixme xmms2-0.8DrO_o/waftools/cython_extra.py +--- xmms2-0.8DrO_o/waftools/cython_extra.py.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/waftools/cython_extra.py 2020-02-28 09:49:55.147637861 -0500 +@@ -3,37 +3,9 @@ + + import re + from waflib import Configure +-from subprocess import Popen, STDOUT, PIPE ++import subprocess + +-# Borrowed from Python 2.7, subprocess.py +-class CalledProcessError(Exception): +- """This exception is raised when a process run by check_call() or +- check_output() returns a non-zero exit status. +- The exit status will be stored in the returncode attribute; +- check_output() will also store the output in the output attribute. +- """ +- def __init__(self, returncode, cmd, output=None): +- self.returncode = returncode +- self.cmd = cmd +- self.output = output +- def __str__(self): +- return "Command '%s' returned non-zero exit status %d" % (self.cmd, self.returncode) +- +-# Borrowed from Python 2.7, subprocess.py +-def check_output(*popenargs, **kwargs): +- if 'stdout' in kwargs: +- raise ValueError('stdout argument not allowed, it will be overridden.') +- process = Popen(stdout=PIPE, *popenargs, **kwargs) +- output, unused_err = process.communicate() +- retcode = process.poll() +- if retcode: +- cmd = kwargs.get("args") +- if cmd is None: +- cmd = popenargs[0] +- raise CalledProcessError(retcode, cmd, output=output) +- return output +- +-cython_ver_re = re.compile('Cython version ([0-9.]+)') ++cython_ver_re = re.compile(b'Cython version ([0-9.]+)') + def check_cython_version(self, version=None, minver=None, maxver=None): + log_s = [] + if version: +@@ -53,15 +25,15 @@ def check_cython_version(self, version=N + minver = tuple(map(int, minver)) + if maxver: + maxver = tuple(map(int, maxver)) +- +- # Trick to be compatible python 2.x and 3.x +- try: +- u = unicode +- except NameError: +- u = str + +- cmd = [self.env.CYTHON, '-V'] +- o = u(check_output(cmd, stderr=STDOUT), 'UTF-8').strip() ++ if isinstance(self.env.CYTHON, list): ++ cmdbin = " " ++ cmdbin = cmdbin.join(self.env.CYTHON) ++ else: ++ cmdbin = self.env.CYTHON ++ ++ cmd = [cmdbin, '-V'] ++ o = subprocess.check_output(cmd, stderr=subprocess.STDOUT).strip() + m = cython_ver_re.match(o) + self.start_msg('Checking for cython version') + if not m: +@@ -69,11 +41,11 @@ def check_cython_version(self, version=N + self.fatal("No version found") + else: + v = m.group(1) +- ver = tuple(map(int, v.split('.'))) ++ ver = tuple(map(int, v.split(b'.'))) + check = (not minver or minver <= ver) and (not maxver or maxver >= ver) + self.to_log(' cython %s\n -> %r\n' % (" ".join(log_s), v)) + if check: +- self.end_msg(v) ++ self.end_msg(v.decode("utf-8")) + self.env.CYTHON_VERSION = ver + else: + self.end_msg('wrong version %s' % v, 'YELLOW') +diff -up xmms2-0.8DrO_o/waftools/man.py.fixme xmms2-0.8DrO_o/waftools/man.py +--- xmms2-0.8DrO_o/waftools/man.py.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/waftools/man.py 2020-02-28 09:49:55.147637861 -0500 +@@ -2,7 +2,7 @@ from waflib import Task, Errors, Utils + import os + import gzip + +-from TaskGen import feature,before_method ++from waflib.TaskGen import feature,before_method + + def gzip_func(task): + infile = task.inputs[0].abspath() +diff -up xmms2-0.8DrO_o/waftools/python-generator.py.fixme xmms2-0.8DrO_o/waftools/python-generator.py +--- xmms2-0.8DrO_o/waftools/python-generator.py.fixme 2011-10-20 15:26:08.000000000 -0400 ++++ xmms2-0.8DrO_o/waftools/python-generator.py 2020-02-28 09:49:55.147637861 -0500 +@@ -1,6 +1,5 @@ +-import Task +-import TaskGen +-from TaskGen import extension ++from waflib import TaskGen ++from waflib.TaskGen import extension + import sys + + TaskGen.declare_chain( +diff -up xmms2-0.8DrO_o/waftools/tool.py.fixme xmms2-0.8DrO_o/waftools/tool.py +--- xmms2-0.8DrO_o/waftools/tool.py.fixme 2020-02-28 09:49:55.130638264 -0500 ++++ xmms2-0.8DrO_o/waftools/tool.py 2020-02-28 09:49:55.147637861 -0500 +@@ -1,4 +1,4 @@ +-import Utils ++from waflib import Utils + import os + + def add_install_flag(bld, obj): +diff -up xmms2-0.8DrO_o/wscript.fixme xmms2-0.8DrO_o/wscript +--- xmms2-0.8DrO_o/wscript.fixme 2020-02-28 09:49:55.141638004 -0500 ++++ xmms2-0.8DrO_o/wscript 2020-02-28 09:50:32.736746099 -0500 +@@ -113,9 +113,9 @@ def build(bld): + bld.fatal("You need to run waf configure") + raise SystemExit() + +- bld.add_subdirs(subdirs) +- bld.add_subdirs(plugindirs) +- bld.add_subdirs(optionaldirs) ++ bld.recurse(subdirs) ++ bld.recurse(plugindirs) ++ bld.recurse(optionaldirs) + + for name, lib in bld.env.XMMS_PKGCONF_FILES: + bld(features = 'subst', +@@ -170,7 +170,7 @@ def _configure_optionals(conf): + for o in selected_optionals: + x = [x for x in optional_subdirs if os.path.basename(x) == o][0] + try: +- conf.sub_config(x) ++ conf.recurse(x) + conf.env.append_value('XMMS_OPTIONAL_BUILD', x) + succeeded_optionals.add(o) + except Errors.ConfigurationError: +@@ -220,7 +220,7 @@ def _configure_plugins(conf): + + for plugin in selected_plugins: + try: +- conf.sub_config("src/plugins/%s" % plugin) ++ conf.recurse("src/plugins/%s" % plugin) + if (not conf.env.XMMS_PLUGINS_ENABLED or + (len(conf.env.XMMS_PLUGINS_ENABLED) > 0 and + conf.env.XMMS_PLUGINS_ENABLED[-1] != plugin)): +@@ -277,14 +277,14 @@ def configure(conf): + conf.env.BUILD_XMMS2D = True + subdirs.insert(0, "src/xmms") + +- conf.check_tool('gnu_dirs') +- conf.check_tool('man', tooldir=os.path.abspath('waftools')) +- conf.check_tool('misc') +- conf.check_tool('gcc') +- conf.check_tool('g++') ++ conf.load('gnu_dirs') ++ conf.load('man', tooldir=os.path.abspath('waftools')) ++ ## conf.load('misc') ++ conf.load('gcc') ++ conf.load('g++') + +- if conf.options.target_platform: +- Options.platform = conf.options.target_platform ++ ## if conf.options.target_platform: ++ ## Options.platform = conf.options.target_platform + + nam,changed = gittools.get_info() + conf.msg("git commit id", nam) +@@ -340,7 +340,7 @@ def configure(conf): + conf.env.prepend_value('LIBPATH', os.path.join(d, 'lib')) + conf.env.prepend_value('CPPPATH', os.path.join(d, 'include')) + +- if Options.platform != 'win32': ++ if Utils.unversioned_sys_platform != 'win32': + conf.env.append_unique('CFLAGS_cstlib', ['-fPIC', '-DPIC']) + conf.env.append_unique('CPPFLAGS_cxxshlib', ['-fPIC', '-DPIC']) + else: +@@ -356,14 +356,14 @@ def configure(conf): + conf.env.cshlib_PATTERN = 'lib%s.dll' + conf.env.cprogram_PATTERN = '%s.exe' + +- if Options.platform == 'darwin': ++ if Utils.unversioned_sys_platform == 'darwin': + conf.env.append_value('LINKFLAGS', '-multiply_defined_suppress') + conf.env.explicit_install_name = True + else: + conf.env.explicit_install_name = False + +- if Options.platform == 'sunos': +- conf.check_cc(function_name='socket', lib='socket', header_name='sys/socket.h', uselib_store='socket') ++ if Utils.unversioned_sys_platform == 'sunos': ++ conf.check_cc(lib='socket', header_name='sys/socket.h', uselib_store='socket') + if not conf.env.HAVE_SOCKET: + conf.fatal("xmms2 requires libsocket on Solaris.") + raise SystemExit(1) +@@ -371,7 +371,7 @@ def configure(conf): + conf.env.append_unique('CFLAGS', '-D_REENTRANT') + conf.env.append_unique('CFLAGS', '-std=gnu99') + conf.env.socket_impl = 'socket' +- elif Options.platform == 'win32': ++ elif Utils.unversioned_sys_platform == 'win32': + if conf.options.winver: + major, minor = [int(x) for x in Options.options.winver.split('.')] + else: +@@ -413,9 +413,9 @@ int main() { return 0; } + conf.env.socket_impl = 'posix' + + conf.env.xmms_icon = False +- if Options.platform == 'win32': ++ if Utils.unversioned_sys_platform == 'win32': + try: +- conf.check_tool('winres') ++ conf.load('winres') + except Errors.ConfigurationError: + pass + else: +@@ -425,7 +425,7 @@ int main() { return 0; } + # TaskGen.mac_bundle option seems to be no longer silently ignored + # if gcc -bundle option is not available. + # TODO: Add --no-mac-bundle in options ? +- conf.env.mac_bundle_enabled = Options.platform == 'darwin' ++ conf.env.mac_bundle_enabled = Utils.unversioned_sys_platform == 'darwin' + + conf.check_cfg(package='glib-2.0', atleat_version='2.8.0', + uselib_store='glib2', args='--cflags --libs') +@@ -439,7 +439,7 @@ int main() { return 0; } + newest = get_newest(subdirs, plugindirs, optionaldirs) + conf.env.NEWEST_WSCRIPT_SUBDIR = newest + +- [conf.sub_config(s) for s in subdirs] ++ [conf.recurse(s) for s in subdirs] + conf.write_config_header('xmms_configuration.h') + + output_plugins = [name for x, name in conf.env.XMMS_OUTPUT_PLUGINS if x > 0] +@@ -464,8 +464,8 @@ def _list_cb(option, opt, value, parser) + setattr(parser.values, option.dest, vals) + + def options(opt): +- opt.tool_options('gnu_dirs') +- opt.tool_options('gcc') ++ opt.load('gnu_dirs') ++ opt.load('gcc') + + opt.add_option('--with-custom-version', type='string', + dest='customversion', help="Override git commit hash version") +@@ -503,9 +503,9 @@ def options(opt): + opt.add_option('--without-ldconfig', action='store_false', + dest='ldconfig', help="Don't run ldconfig after install") + +- opt.sub_options("src/xmms") ++ opt.recurse("src/xmms") + for o in optional_subdirs + subdirs: +- opt.sub_options(o) ++ opt.recurse(o) + + def shutdown(ctx): + if ctx.cmd != 'install': diff --git a/xmms2-0.8DrO_o-vorbis-pkgconfig-libs.patch b/xmms2-0.8DrO_o-vorbis-pkgconfig-libs.patch new file mode 100644 index 0000000..c8243ba --- /dev/null +++ b/xmms2-0.8DrO_o-vorbis-pkgconfig-libs.patch @@ -0,0 +1,30 @@ +--- xmms2-0.8DrO_o/src/clients/vistest/wscript.vorbis 2011-10-21 04:26:08.000000000 +0900 ++++ xmms2-0.8DrO_o/src/clients/vistest/wscript 2014-05-07 15:33:45.670355972 +0900 +@@ -23,12 +23,12 @@ + t.install_path = None + + +- if bld.env.LIB_vorbisenc: ++ if bld.env.LIB_vorbisenc and bld.env.LIB_vorbis: + t = bld(features = 'c cprogram', + target = 'xmms2-ripper', + source = 'ripper.c', + includes = '. ../../.. ../../include', +- uselib = 'vorbisenc', ++ uselib = 'vorbisenc vorbis ogg', + use = 'xmmsclient' + ) + if not bld.env.INSTALL_VIS_REFERENCE_CLIENTS: +@@ -56,6 +56,12 @@ + conf.check_cfg(package='vorbisenc', uselib_store='vorbisenc', + args='--cflags --libs', mandatory=False) + ++ conf.check_cfg(package='vorbis', uselib_store='vorbis', ++ args='--cflags --libs', mandatory=False) ++ ++ conf.check_cfg(package='ogg', uselib_store='ogg', ++ args='--cflags --libs', mandatory=False) ++ + if conf.check_cfg(package='libvisual-0.4', uselib_store='visual', + args='--cflags --libs', mandatory=False): + conf.check_cfg(package='sdl', uselib_store='sdl', diff --git a/xmms2-0.8DrO_o-xmmsc_collection_changed_actions_t-fix.patch b/xmms2-0.8DrO_o-xmmsc_collection_changed_actions_t-fix.patch new file mode 100644 index 0000000..43ba29b --- /dev/null +++ b/xmms2-0.8DrO_o-xmmsc_collection_changed_actions_t-fix.patch @@ -0,0 +1,36 @@ +diff -up xmms2-0.8DrO_o/src/includepriv/xmmspriv/xmms_collection.h.spot xmms2-0.8DrO_o/src/includepriv/xmmspriv/xmms_collection.h +--- xmms2-0.8DrO_o/src/includepriv/xmmspriv/xmms_collection.h.spot 2020-02-28 10:15:31.578897880 -0500 ++++ xmms2-0.8DrO_o/src/includepriv/xmmspriv/xmms_collection.h 2020-02-28 10:15:46.242585829 -0500 +@@ -75,7 +75,7 @@ const gchar *xmms_collection_get_namespa + gboolean xmms_collection_get_int_attr (xmmsv_coll_t *coll, const gchar *attrname, gint *val); + gboolean xmms_collection_set_int_attr (xmmsv_coll_t *coll, const gchar *attrname, gint newval); + +-GTree *xmms_collection_changed_msg_new (xmms_collection_changed_actions_t type, const gchar *plname, const gchar *namespace); ++GTree *xmms_collection_changed_msg_new (xmmsc_collection_changed_actions_t type, const gchar *plname, const gchar *namespace); + void xmms_collection_changed_msg_send (xmms_coll_dag_t *colldag, GTree *dict); + + void bind_all_references (xmms_coll_dag_t *dag, xmmsv_coll_t *coll, xmmsv_coll_t *parent, void *udata); +diff -up xmms2-0.8DrO_o/src/include/xmmsc/xmmsc_idnumbers.h.spot xmms2-0.8DrO_o/src/include/xmmsc/xmmsc_idnumbers.h +--- xmms2-0.8DrO_o/src/include/xmmsc/xmmsc_idnumbers.h.spot 2020-02-28 10:15:18.475176735 -0500 ++++ xmms2-0.8DrO_o/src/include/xmmsc/xmmsc_idnumbers.h 2020-02-28 10:15:22.698086869 -0500 +@@ -193,7 +193,7 @@ typedef enum { + XMMS_COLLECTION_CHANGED_UPDATE, + XMMS_COLLECTION_CHANGED_RENAME, + XMMS_COLLECTION_CHANGED_REMOVE +-} xmms_collection_changed_actions_t; ++} xmmsc_collection_changed_actions_t; + + typedef enum { + XMMS_PLAYBACK_STATUS_STOP, +diff -up xmms2-0.8DrO_o/src/xmms/collection.c.spot xmms2-0.8DrO_o/src/xmms/collection.c +--- xmms2-0.8DrO_o/src/xmms/collection.c.spot 2020-02-28 10:15:56.804361068 -0500 ++++ xmms2-0.8DrO_o/src/xmms/collection.c 2020-02-28 10:16:03.248223939 -0500 +@@ -144,7 +144,7 @@ static void xmms_collection_client_sync + #include "collection_ipc.c" + + GTree * +-xmms_collection_changed_msg_new (xmms_collection_changed_actions_t type, ++xmms_collection_changed_msg_new (xmmsc_collection_changed_actions_t type, + const gchar *plname, const gchar *namespace) + { + GTree *dict; diff --git a/xmms2-0.8DrO_o-xsubpp-fix.patch b/xmms2-0.8DrO_o-xsubpp-fix.patch new file mode 100644 index 0000000..2a05f15 --- /dev/null +++ b/xmms2-0.8DrO_o-xsubpp-fix.patch @@ -0,0 +1,12 @@ +diff -up .waf-1.6.7-b271784c448ab906d5606267fb7f92c0/waflib/Tools/perl.py.fixme .waf-1.6.7-b271784c448ab906d5606267fb7f92c0/waflib/Tools/perl.py +--- .waf-1.6.7-b271784c448ab906d5606267fb7f92c0/waflib/Tools/perl.py.fixme 2013-08-11 16:41:03.730842318 -0400 ++++ .waf-1.6.7-b271784c448ab906d5606267fb7f92c0/waflib/Tools/perl.py 2013-08-11 16:41:18.575842955 -0400 +@@ -60,7 +60,7 @@ 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['XSUBPP']="/usr/bin/xsubpp" + env['EXTUTILS_TYPEMAP']=read_out(" -MConfig -e'print \"$Config{privlib}/ExtUtils/typemap\"'") + if not getattr(Options.options,'perlarchdir',None): + env['ARCHDIR_PERL']=self.cmd_and_log(perl+" -MConfig -e'print $Config{sitearch}'") diff --git a/xmms2-0.9.3-curl-buffer-overrun-fix.patch b/xmms2-0.9.3-curl-buffer-overrun-fix.patch deleted file mode 100644 index b069306..0000000 --- a/xmms2-0.9.3-curl-buffer-overrun-fix.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -up xmms2-0.9.3/src/plugins/curl/curl_http.c.underrunfix xmms2-0.9.3/src/plugins/curl/curl_http.c ---- xmms2-0.9.3/src/plugins/curl/curl_http.c.underrunfix 2023-09-15 10:00:07.480047876 -0400 -+++ xmms2-0.9.3/src/plugins/curl/curl_http.c 2023-09-15 10:00:49.812658794 -0400 -@@ -31,6 +31,7 @@ - /* - * Type definitions - */ -+#define XMMS2_CURL_BUFFER_SIZE 0x200000 - - typedef struct { - CURL *curl_easy; -@@ -212,7 +213,7 @@ xmms_curl_init (xmms_xform_t *xform) - g_snprintf (proxyuserpass, sizeof (proxyuserpass), "%s:%s", proxyuser, - proxypass); - -- data->buffer = g_malloc (CURL_MAX_WRITE_SIZE); -+ data->buffer = g_malloc (XMMS2_CURL_BUFFER_SIZE); - data->url = g_strdup (url); - - /* check for broken version of curl here */ -@@ -463,7 +464,7 @@ xmms_curl_callback_write (void *ptr, siz - - len = size * nmemb; - -- g_return_val_if_fail ((data->bufferlen + len) <= CURL_MAX_WRITE_SIZE, 0); -+ g_return_val_if_fail ((data->bufferlen + len) <= XMMS2_CURL_BUFFER_SIZE, 0); - - memcpy (data->buffer + data->bufferlen, ptr, len); - data->bufferlen = data->bufferlen + len; diff --git a/xmms2-0.9.3-gentoo-cpp-client.patch b/xmms2-0.9.3-gentoo-cpp-client.patch deleted file mode 100644 index 1416a2a..0000000 --- a/xmms2-0.9.3-gentoo-cpp-client.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up xmms2-0.9.3/src/include/xmmsclient/xmmsclient++/mainloop.h.gentoo xmms2-0.9.3/src/include/xmmsclient/xmmsclient++/mainloop.h ---- xmms2-0.9.3/src/include/xmmsclient/xmmsclient++/mainloop.h.gentoo 2023-09-15 09:51:09.760321870 -0400 -+++ xmms2-0.9.3/src/include/xmmsclient/xmmsclient++/mainloop.h 2023-09-15 09:53:49.565612336 -0400 -@@ -41,7 +41,7 @@ namespace Xmms - * @note The constructor should only initialize the - * mainloop, not start it! - */ -- MainloopInterface( xmmsc_connection_t* conn ) : -+ MainloopInterface( xmmsc_connection_t*& conn ) : - running_( false ), conn_( conn ) { } - - /** Destructor. Should also stop the loop. diff --git a/xmms2-0.9.3-gentoo-faad.patch b/xmms2-0.9.3-gentoo-faad.patch deleted file mode 100644 index 5c18a29..0000000 --- a/xmms2-0.9.3-gentoo-faad.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up xmms2-0.9.3/src/plugins/faad/faad.c.gentoo xmms2-0.9.3/src/plugins/faad/faad.c ---- xmms2-0.9.3/src/plugins/faad/faad.c.gentoo 2023-09-15 09:56:23.452817978 -0400 -+++ xmms2-0.9.3/src/plugins/faad/faad.c 2023-09-15 09:56:55.255273805 -0400 -@@ -242,7 +242,9 @@ xmms_faad_init (xmms_xform_t *xform) - * and durations calculations... So we cheat and tell libfaad2 we're feeding - * it frame 1. - */ -- NeAACDecPostSeekReset (data->decoder, 1); -+ // This line has stopped working since security fixes in the faad 2.9.0 -+ // release. -+ // NeAACDecPostSeekReset (data->decoder, 1); - - /* FIXME: Because for HE AAC files some versions of libfaad return the wrong - * samplerate in init, we have to do one read and let it decide the real diff --git a/xmms2-0.9.3-no-mind-in-a-box.patch b/xmms2-0.9.3-no-mind-in-a-box.patch deleted file mode 100644 index 43f5986..0000000 --- a/xmms2-0.9.3-no-mind-in-a-box.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -up xmms2-0.9.3/AUTHORS.nomind xmms2-0.9.3/AUTHORS ---- xmms2-0.9.3/AUTHORS.nomind 2023-05-12 04:19:00.000000000 -0400 -+++ xmms2-0.9.3/AUTHORS 2023-09-12 10:08:14.652340349 -0400 -@@ -272,12 +272,6 @@ N: Ɓukasz Michalik - E: lmi@ift.uni.wroc.pl - D: Bugfixes. - --N: Mind.In.A.Box / Stefan Poiss and Markus Hadwiger --W: http://www.mindinabox.com/ --D: Supplied us with a great "intro" clip. --D: Lament for Lost Dreams clip by mind.in.a.box --D: Copyright (c) by Stefan Poiss and Markus Hadwiger -- - N: Dave Moore - E: wrex006@gmail.com - D: missing method in C++ bindings. -diff -up xmms2-0.9.3/checksums.nomind xmms2-0.9.3/checksums ---- xmms2-0.9.3/checksums.nomind 2023-05-12 04:19:00.000000000 -0400 -+++ xmms2-0.9.3/checksums 2023-09-12 10:08:14.652340349 -0400 -@@ -66,7 +66,6 @@ - 100644 blob 1c9606c6d58527d72f4354646f9c135da24da970 doc/tutorial/vala/xmms2-client-glib.deps - 100644 blob 5beabceeda7ae335cf8633a03d0febe2f51198f0 doc/tutorial/vala/xmms2-client-glib.vapi - 100644 blob e3677f8c3b4ccbb044a3f6f4f7e4bf6c5ddf6385 doc/tutorial/vala/xmms2-client.vapi --100644 blob 7dea2b304cdacc745218cd4187d9ab644842c798 mind.in.a.box-lament_snipplet.ogg - 100644 blob 503aea3af178fd7ba02665706151f303703c3c95 pixmaps/wscript - 100644 blob 66e6d6c205e0824d18692b40169d95a4593c9bf8 pixmaps/xmms2-128.png - 100644 blob 0e2b17d6267581a9a49d7930af3c8a4f792ec0b3 pixmaps/xmms2-16.png -diff -up xmms2-0.9.3/src/xmms/medialib.c.nomind xmms2-0.9.3/src/xmms/medialib.c -diff -up xmms2-0.9.3/wscript.nomind xmms2-0.9.3/wscript ---- xmms2-0.9.3/wscript.nomind 2023-05-12 04:19:00.000000000 -0400 -+++ xmms2-0.9.3/wscript 2023-09-12 10:08:14.653340363 -0400 -@@ -139,7 +139,7 @@ def build(bld): - VERSION = bld.env.VERSION - ) - -- bld.install_files('${SHAREDDIR}', "mind.in.a.box-lament_snipplet.ogg") -+ bld.install_files('${SHAREDDIR}', "unreal_dm-free.music.and.free.beer.ogg") - - bld.add_post_fun(shutdown) - diff --git a/xmms2.spec b/xmms2.spec index b3157ab..41ef525 100644 --- a/xmms2.spec +++ b/xmms2.spec @@ -1,30 +1,49 @@ + +%global codename DrO_o + Name: xmms2 Summary: A modular audio framework and plugin architecture -Version: 0.9.5 -Release: 8%{?dist} -License: LGPL-2.1-or-later AND GPL-2.0-or-later AND BSD-3-Clause +Version: 0.8 +Release: 72%{?dist} +License: LGPLv2+ and GPLv2+ and BSD # We can't use the upstream source tarball as-is, because it includes an mp4 decoder. # Also, the ogg sample included is not under a FOSS license. -# https://github.com/xmms2/xmms2-devel/releases/download/%%{version}/xmms2-%%{version}.tar.xz +# http://downloads.sourceforge.net/xmms2/%%{name}-%%{version}%%{codename}.tar.bz2 # Cleaning it is simple, just rm -rf src/plugins/mp4 mind.in.a.box-lament_snipplet.ogg -Source0: %{name}-%{version}-clean.tar.xz +Source0: %{name}-%{version}%{codename}-clean.tar.bz2 Source1: xmms2-client-launcher.sh # CC-BY # taken from http://ccmixter.org/files/unreal_dm/38156 Source2: unreal_dm-free.music.and.free.beer.ogg -# Apply c++ client fix from gentoo -Patch2: xmms2-0.9.3-gentoo-cpp-client.patch -# Apply fix to faad plugin from gentoo -Patch3: xmms2-0.9.3-gentoo-faad.patch -# Apply fix for curl buffer overrun -Patch4: xmms2-0.9.3-curl-buffer-overrun-fix.patch +# Use libdir properly for Fedora multilib +Patch1: xmms2-0.8DrO_o-use-libdir.patch +# Set default output to pulse +Patch2: xmms2-0.8DrO_o-pulse-output-default.patch +# Don't add extra CFLAGS, we're smart enough, thanks. +Patch4: xmms2-0.8DrO_o-no-O0.patch +# More sane versioning +Patch5: xmms2-0.8DrO_o-moresaneversioning.patch +# Fix xsubpp location +Patch6: xmms2-0.8DrO_o-xsubpp-fix.patch +# libmodplug 0.8.8.5 changed pkgconfig includedir output +Patch7: xmms2-0.8DrO_o-libmodplug-pkgconfig-change.patch +# libvorbis 1.3.4 changed pkgconfig libs output +Patch8: xmms2-0.8DrO_o-vorbis-pkgconfig-libs.patch +# Remove deprecated usage on ruby 22 +Patch9: xmms2-0.8DrO_o-ruby22-remove-deprecated-usage.patch +# Add support for OpenSSL 1.1 +Patch10: xmms2-0.8DrO_o-openssl-1.1.patch # Swap mind.in.a.box for free.music.and.free.beer -Patch11: xmms2-0.9.3-no-mind-in-a-box.patch +Patch11: xmms2-0.8DrO_o-no-mind.in.a.box.patch +# Use system waf +# This is ugly and not kosher for upstream... then again, I think upstream is dead. +Patch12: xmms2-0.8DrO_o-use-system-waf.patch +# Python3 +Patch13: xmms2-0.8DrO_o-python3.patch +# Fix naming issue with xmms_collection_changed_actions_t +Patch14: xmms2-0.8DrO_o-xmmsc_collection_changed_actions_t-fix.patch URL: http://wiki.xmms2.xmms.se/ -BuildRequires: git -BuildRequires: python3-devel -BuildRequires: python3-cython -BuildRequires: python-unversioned-command +BuildRequires: python3 BuildRequires: sqlite-devel BuildRequires: flac-devel BuildRequires: libofa-devel @@ -33,7 +52,7 @@ BuildRequires: libdiscid-devel BuildRequires: libsmbclient-devel BuildRequires: libmpcdec-devel BuildRequires: gnome-vfs2-devel -BuildRequires: pkgconfig(jack) +BuildRequires: jack-audio-connection-kit-devel BuildRequires: fftw-devel BuildRequires: libsamplerate-devel BuildRequires: libxml2-devel @@ -49,6 +68,7 @@ BuildRequires: boost-devel BuildRequires: pulseaudio-libs-devel BuildRequires: libmodplug-devel BuildRequires: ecore-devel +BuildRequires: gamin-devel BuildRequires: mpg123-devel BuildRequires: libmad-devel BuildRequires: doxygen @@ -62,31 +82,15 @@ BuildRequires: SDL-devel BuildRequires: glib2-devel BuildRequires: readline-devel BuildRequires: ncurses-devel -BuildRequires: mac-devel -BuildRequires: fluidsynth-devel -BuildRequires: opusfile-devel -BuildRequires: libmms-devel -BuildRequires: libcurl-devel -BuildRequires: flex -BuildRequires: bison # For /usr/share/perl5/ExtUtils/xsubpp BuildRequires: perl-ExtUtils-ParseXS BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: waf -BuildRequires: openssl-devel-engine, openssl-devel Obsoletes: xmms2-mad < 0.8-26 Provides: xmms2-mad = %{version}-%{release} -Obsoletes: xmms2-mac < 0.8-24 -Provides: xmms2-mac = %{version}-%{release} - -Obsoletes: xmms2-mms < 0.8-39 -Provides: xmms2-mms = %{version}-%{release} - -Obsoletes: xmms2-nyxmms2 < 0.8-89 -Provides: xmms2-nyxmms2 = %{version}-%{release} %description XMMS2 is an audio framework, but it is not a general multimedia player - it @@ -118,19 +122,13 @@ API documentation for the XMMS2 modular audio framework architecture. %package perl Summary: Perl support for XMMS2 -License: GPL-1.0-or-later OR Artistic-1.0-Perl +License: GPL+ or Artistic Requires: %{name} = %{version}-%{release} +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) %description perl Perl bindings for XMMS2. -%package python3 -Summary: Python3 support for XMMS2 -Requires: %{name} = %{version}-%{release} - -%description python3 -Python3 bindings for XMMS2. - %package ruby Summary: Ruby support for XMMS2 Requires: %{name} = %{version}-%{release} @@ -139,33 +137,61 @@ Requires: ruby(release) %description ruby Ruby bindings for XMMS2. +%package -n nyxmms2 +Summary: Commandline client for XMMS2 +Requires: %{name} = %{version}-%{release} + +%description -n nyxmms2 +nyxmms2 is the new official commandline client for XMMS2. It can be run in +either shell-mode (if started without arguments), or in inline-mode where +it executes the command passed as argument directly. + %prep -%setup -q -n %{name}-%{version} -%patch -P2 -p1 -b .cpp-client -%patch -P3 -p1 -b .faad -%patch -P4 -p1 -b .overrun -%patch -P11 -p1 -b .nomind +%setup -q -n %{name}-%{version}%{codename} +%patch1 -p1 -b .plugins-use-libdir +%patch2 -p1 -b .default-output-pulse +%patch4 -p1 -b .noO0 +%patch5 -p1 -b .versionsanity +%patch7 -p1 -b .modplug_header +%patch8 -p1 -b .vorbis_libs +%patch10 -p1 -b .openssl11 +%patch11 -p1 -b .nomind +%patch12 -p1 -b .fixme +%patch13 -p1 -b .py3 +%patch14 -p1 -b .namefix cp %{SOURCE2} . # This header doesn't need to be executable chmod -x src/include/xmmsclient/xmmsclient++/dict.h +# Clean up paths in wafadmin +# WAFADMIN_FILES=`find wafadmin/ -type f` +# for i in $WAFADMIN_FILES; do +# sed -i 's|/usr/lib|%{_libdir}|g' $i +# done +# sed -i 's|"lib"|"%{_lib}"|g' wscript +%if 0 +for i in doc/tutorial/python/tut1.py doc/tutorial/python/tut2.py doc/tutorial/python/tut3.py doc/tutorial/python/tut4.py doc/tutorial/python/tut5.py doc/tutorial/python/tut6.py utils/gen-tree-hashes.py utils/gen-wiki-release-bugs.py utils/gen-tarball.py utils/gen-wiki-release-authors.py waf waftools/podselect.py waftools/genipc.py waftools/genipc_server.py waftools/cython.py; do + sed -i 's|#!/usr/bin/env python|#!/usr/bin/python2|g' $i +done +%endif + %build export CFLAGS="%{optflags} -DHAVE_G_FILE_QUERY_FILE_TYPE" export CPPFLAGS="%{optflags}" export LIBDIR="%{_libdir}" export XSUBPP="%{_bindir}/xsubpp" -./waf configure --prefix=%{_prefix} --libdir=%{_libdir} --with-ruby-libdir=%{ruby_vendorlibdir} --with-ruby-archdir=%{ruby_vendorarchdir} \ +waf configure --prefix=%{_prefix} --libdir=%{_libdir} --with-ruby-libdir=%{ruby_vendorlibdir} --with-ruby-archdir=%{ruby_vendorarchdir} \ --with-perl-archdir=%{perl_archlib} --with-pkgconfigdir=%{_libdir}/pkgconfig -j1 -./waf build -v %{?_smp_mflags} +waf build -v %{?_smp_mflags} # make the docs doxygen %install export LIBDIR="%{_libdir}" -./waf install --destdir=%{buildroot} --prefix=%{_prefix} --libdir=%{_libdir} --with-ruby-libdir=%{ruby_vendorlibdir} --with-ruby-archdir=%{ruby_vendorarchdir} \ +waf install --destdir=%{buildroot} --prefix=%{_prefix} --libdir=%{_libdir} --with-ruby-libdir=%{ruby_vendorlibdir} --with-ruby-archdir=%{ruby_vendorarchdir} \ --with-perl-archdir=%{perl_archlib} --with-pkgconfigdir=%{_libdir}/pkgconfig # exec flags for debuginfo @@ -176,22 +202,24 @@ chmod +x %{buildroot}%{_libdir}/%{name}/* %{buildroot}%{_libdir}/libxmmsclient*. for i in %{buildroot}%{_mandir}/man1/*.gz; do gunzip $i; done -for i in %{buildroot}%{_mandir}/man1/*.1 xmms2-%{version}.ChangeLog; do +for i in %{buildroot}%{_mandir}/man1/*.1 xmms2-0.8DrO_o.ChangeLog; do iconv -o $i.iso88591 -f iso88591 -t utf8 $i mv $i.iso88591 $i done install -m0755 %{SOURCE1} %{buildroot}%{_bindir} +# For F-32: +# Explicitly remove python2 related files. F32 "python27" package +# contains header files, which makes xmms2 build python2 bindings +rm -rf %{buildroot}%{python3_sitelib}/xmmsclient/ + %ldconfig_scriptlets %files %license COPYING COPYING.GPL COPYING.LGPL -%doc AUTHORS xmms2-%{version}.ChangeLog README.mdown +%doc AUTHORS xmms2-0.8DrO_o.ChangeLog README TODO %{_bindir}/%{name}* -%{_bindir}/_xmms2-migrate-collections-v0 -%{_bindir}/s4 -%{_bindir}/sqlite2s4 %{_libdir}/libxmmsclient*.so.* %{_libdir}/%{name} %{_mandir}/man1/%{name}* @@ -210,9 +238,6 @@ install -m0755 %{SOURCE1} %{buildroot}%{_bindir} %{perl_archlib}/Audio/ %{perl_archlib}/auto/Audio/ -%files python3 -%{python3_sitearch}/xmmsclient/ - %files ruby %{ruby_vendorlibdir}/xmmsclient.rb %{ruby_vendorlibdir}/xmmsclient/ @@ -220,112 +245,10 @@ install -m0755 %{SOURCE1} %{buildroot}%{_bindir} %{ruby_vendorarchdir}/xmmsclient_ext.so %{ruby_vendorarchdir}/xmmsclient_glib.so +%files -n nyxmms2 +%{_bindir}/nyxmms2 + %changelog -* Thu Jan 08 2026 Mamoru TASAKA - 0.9.5-8 -- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_4.0 - -* Fri Sep 19 2025 Python Maint - 0.9.5-7 -- Rebuilt for Python 3.14.0rc3 bytecode - -* Fri Aug 15 2025 Python Maint - 0.9.5-6 -- Rebuilt for Python 3.14.0rc2 bytecode - -* Fri Jul 25 2025 Fedora Release Engineering - 0.9.5-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Tue Jul 08 2025 Jitka Plesnikova - 0.9.5-4 -- Perl 5.42 rebuild - -* Tue Jun 03 2025 Python Maint - 0.9.5-3 -- Rebuilt for Python 3.14 - -* Tue May 27 2025 Jitka Plesnikova - 0.9.5-2 -- Rebuilt for flac 1.5.0 - -* Mon Mar 10 2025 Tom Callaway - 0.9.5-1 -- update to 0.9.5 - -* Sun Jan 19 2025 Fedora Release Engineering - 0.9.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Jan 08 2025 Mamoru TASAKA - 0.9.4-2 -- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.4 - -* Tue Oct 22 2024 Tom Callaway - 0.9.4-1 -- update to 0.9.4 - -* Sat Jul 20 2024 Fedora Release Engineering - 0.9.3-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Jun 12 2024 Jitka Plesnikova - 0.9.3-6 -- Perl 5.40 rebuild - -* Sat Jun 08 2024 Python Maint - 0.9.3-5 -- Rebuilt for Python 3.13 - -* Sat Jan 27 2024 Fedora Release Engineering - 0.9.3-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Jan 03 2024 Mamoru TASAKA - 0.9.3-3 -- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.3 - -* Sun Nov 19 2023 Leigh Scott - 0.9.3-2 -- provides/obsoletes xmms2-mms (from rpmfusion) - -* Tue Sep 12 2023 Tom Callaway - 0.9.3-1 -- update to 0.9.3 -- add BR: mac-devel -- provides/obsoletes xmms2-mac (from rpmfusion) -- provides/obsoletes xmms2-nyxmms2 (upstream dropped that naming) - -* Sat Jul 22 2023 Fedora Release Engineering - 0.8-88 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jul 11 2023 Jitka Plesnikova - 0.8-87 -- Perl 5.38 rebuild - -* Fri Mar 17 2023 Yaakov Selkowitz - 0.8-86 -- Rebuilt for libmpcdec 1.3.0 - -* Sat Jan 21 2023 Fedora Release Engineering - 0.8-85 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Jan 04 2023 Mamoru TASAKA - 0.8-84 -- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.2 - -* Thu Sep 15 2022 Mamoru TASAKA - 0.8-83 -- Rebuild for new flac - -* Sat Jul 23 2022 Fedora Release Engineering - 0.8-82 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon May 30 2022 Jitka Plesnikova - 0.8-81 -- Perl 5.36 rebuild - -* Wed Jan 26 2022 Mamoru TASAKA - 0.8-80 -- F-36: rebuild against ruby31 - -* Sat Jan 22 2022 Fedora Release Engineering - 0.8-79 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Sep 14 2021 Sahana Prasad - 0.8-78 -- Rebuilt with OpenSSL 3.0.0 - -* Fri Jul 23 2021 Fedora Release Engineering - 0.8-77 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri May 21 2021 Jitka Plesnikova - 0.8-76 -- Perl 5.34 rebuild - -* Wed Feb 03 2021 Kalev Lember - 0.8-75 -- Drop unused gamin-devel build dep - -* Thu Jan 28 2021 Fedora Release Engineering - 0.8-74 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jan 06 2021 Mamoru TASAKA - 0.8-73 -- F-34: rebuild against ruby 3.0 - * Sat Aug 01 2020 Fedora Release Engineering - 0.8-72 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild