commit 4a810f76cafda9bd93c81df47686fe8eebf7aed6
Author: Jakub Bogusz <[email protected]>
Date:   Sat May 13 15:38:49 2023 +0200

    - up to 0.2DrEvil; added -input-wma and -transport-mms subpackages

 xmms2-ffmpeg.patch     | 165 +++++++++++++++++++++++++++++++++++++++++++++++++
 xmms2-java.patch       |   8 +--
 xmms2-mdns.patch       |   9 ---
 xmms2-modplug.patch    |  10 +--
 xmms2-python3.patch    | 120 +++++++++++++++++++++++++----------
 xmms2-ruby.patch       |  61 ++++++++++++++----
 xmms2-sid-update.patch |  17 -----
 xmms2-tabs.patch       |  18 +++---
 xmms2.spec             |  64 +++++++++++++++----
 9 files changed, 375 insertions(+), 97 deletions(-)
---
diff --git a/xmms2.spec b/xmms2.spec
index be75766..1428ebb 100644
--- a/xmms2.spec
+++ b/xmms2.spec
@@ -10,19 +10,18 @@
 Summary:       Client/server based media player system
 Summary(pl.UTF-8):     System odtwarzania multimediów oparty na architekturze 
klient/serwer
 Name:          xmms2
-Version:       0.2DrDolittle
+Version:       0.2DrEvil
 Release:       0.1
 License:       LGPL v2.1
 Group:         Applications/Sound
 Source0:       
https://downloads.sourceforge.net/xmms2/%{name}-%{version}.tar.bz2
-# Source0-md5: 93daf53d21d198d8e05bf4de37976d7a
+# Source0-md5: 110e1b5d3d5d89e64c2099cec4d0402b
 Patch0:                %{name}-tabs.patch
 Patch1:                %{name}-python3.patch
 Patch2:                %{name}-link.patch
 Patch3:                %{name}-modplug.patch
-Patch4:                %{name}-mdns.patch
+Patch4:                %{name}-ffmpeg.patch
 Patch5:                %{name}-ruby.patch
-Patch6:                %{name}-sid-update.patch
 Patch7:                %{name}-java.patch
 URL:           http://xmms2.xmms.se/
 BuildRequires: SDL-devel
@@ -34,6 +33,7 @@ BuildRequires:        avahi-glib-devel
 BuildRequires: curl-devel >= 7.11.2
 %{?with_efl:BuildRequires:     ecore-devel}
 BuildRequires: faad2-devel >= 2
+BuildRequires: ffmpeg-devel >= 2
 %{?with_flac:BuildRequires:    flac-devel < 1.1.3}
 BuildRequires: gamin-devel
 BuildRequires: glib2-devel >= 2.2.0
@@ -42,6 +42,7 @@ BuildRequires:        jack-audio-connection-kit-devel
 %{?with_java:BuildRequires:    jdk}
 BuildRequires: libmad-devel
 BuildRequires: libmodplug-devel
+BuildRequires: libmms-devel
 BuildRequires: libmpcdec-devel
 BuildRequires: libsidplay2-devel
 BuildRequires: libsmbclient-devel
@@ -59,6 +60,7 @@ BuildRequires:        scons >= 4
 BuildRequires: sed >= 4.0
 #BuildRequires:        speex-devel
 BuildRequires: sqlite3-devel >= 3.2
+BuildRequires: swig >= 1.3.25
 Obsoletes:     xmms2-input-cd < 0.2DrCox
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -291,6 +293,18 @@ This package enables WAV decoding for xmms2.
 %description input-wav -l pl.UTF-8
 Ten pakiet umożliwia dekodowanie WAV przez xmms2.
 
+%package input-wma
+Summary:       WMA decoder
+Summary(pl.UTF-8):     Dekoder WMA
+Group:         X11/Applications/Sound
+Requires:      %{name} = %{version}-%{release}
+
+%description input-wma
+This package enables WMA decoding for xmms2.
+
+%description input-wma -l pl.UTF-8
+Ten pakiet umożliwia dekodowanie WMA przez xmms2.
+
 %package output-alsa
 Summary:       ALSA output
 Summary(pl.UTF-8):     Wyjście ALSA
@@ -351,6 +365,18 @@ This package contains a GnomeVFS transport for xmms2.
 %description transport-gnomevfs -l pl.UTF-8
 Ten pakiet zawiera transport GnomeVFS dla xmms2.
 
+%package transport-mms
+Summary:       MMS transport
+Summary(pl.UTF-8):     Transport MMS
+Group:         X11/Applications/Sound
+Requires:      %{name} = %{version}-%{release}
+
+%description transport-mms
+This package enables MMS transport for xmms2.
+
+%description transport-mms -l pl.UTF-8
+Ten pakiet umożliwia odbiór danych MMS przez xmms2.
+
 %package transport-samba
 Summary:       Samba transport
 Summary(pl.UTF-8):     Transport Samba
@@ -383,9 +409,8 @@ xmms2.
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-%patch4 -p1
+%patch4 -p1 -b .orig
 %patch5 -p1
-%patch6 -p1
 %patch7 -p1
 
 %{__sed} -i xmms2.pc.in \
@@ -423,19 +448,23 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS ChangeLog README TODO
+%doc AUTHORS COPYING README TODO
 %attr(755,root,root) %{_bindir}/xmms2-launcher
 %attr(755,root,root) %{_bindir}/xmms2d
 %attr(755,root,root) %{_libdir}/libxmmsclient.so.0
 %dir %{_libdir}/%{name}
 %attr(755,root,root) %{_libdir}/%{name}/libxmms_diskwrite.so
-%attr(755,root,root) %{_libdir}/%{name}/libxmms_eq.so
+%attr(755,root,root) %{_libdir}/%{name}/libxmms_equalizer.so
 %attr(755,root,root) %{_libdir}/%{name}/libxmms_file.so
-%attr(755,root,root) %{_libdir}/%{name}/libxmms_html.so
-%attr(755,root,root) %{_libdir}/%{name}/libxmms_m3u.so
+%attr(755,root,root) %{_libdir}/%{name}/libxmms_icymetaint.so
+%attr(755,root,root) %{_libdir}/%{name}/libxmms_id3v2.so
 %attr(755,root,root) %{_libdir}/%{name}/libxmms_null.so
-%attr(755,root,root) %{_libdir}/%{name}/libxmms_pls.so
+%attr(755,root,root) %{_libdir}/%{name}/libxmms_nulstripper.so
 %attr(755,root,root) %{_libdir}/%{name}/libxmms_replaygain.so
+# disabled since 0.2DrEvil
+#%attr(755,root,root) %{_libdir}/%{name}/libxmms_html.so
+#%attr(755,root,root) %{_libdir}/%{name}/libxmms_m3u.so
+#%attr(755,root,root) %{_libdir}/%{name}/libxmms_pls.so
 %{_datadir}/%{name}
 %{_mandir}/man8/xmms2d.8*
 
@@ -449,6 +478,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/xmms2-mdns-dnssd
 %attr(755,root,root) %{_bindir}/xmms2-mlib-updater
 %{_mandir}/man1/xmms2.1*
+%{_mandir}/man1/xmms2-et.1*
 
 %files client-sdlvis
 %defattr(644,root,root,755)
@@ -469,6 +499,7 @@ rm -rf $RPM_BUILD_ROOT
 %files client-lib-glib
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libxmmsclient-glib.so.0
+%attr(755,root,root) %{_libdir}/libxmmsclient++-glib.so.0
 
 %if %{with ruby}
 %files client-lib-glib-ruby
@@ -537,6 +568,10 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/%{name}/libxmms_wave.so
 
+%files input-wma
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/libxmms_wma.so
+
 ### output
 %files output-alsa
 %defattr(644,root,root,755)
@@ -558,6 +593,10 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/%{name}/libxmms_gnomevfs.so
 
+%files transport-mms
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/libxmms_mms.so
+
 %files transport-samba
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/%{name}/libxmms_smb.so
@@ -566,11 +605,14 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libxmmsclient.so
 %attr(755,root,root) %{_libdir}/libxmmsclient-glib.so
+%attr(755,root,root) %{_libdir}/libxmmsclient++-glib.so
 %{_includedir}/xmms2
 %{_libdir}/libxmmsclient.a
 %{_libdir}/libxmmsclient-glib.a
+%{_libdir}/libxmmsclient++-glib.a
 %{_pkgconfigdir}/xmms2-client.pc
 %{_pkgconfigdir}/xmms2-client-cpp.pc
+%{_pkgconfigdir}/xmms2-client-cpp-glib.pc
 %{_pkgconfigdir}/xmms2-client-ecore.pc
 %{_pkgconfigdir}/xmms2-client-glib.pc
 %{_pkgconfigdir}/xmms2-plugin.pc
diff --git a/xmms2-ffmpeg.patch b/xmms2-ffmpeg.patch
new file mode 100644
index 0000000..f6d07b9
--- /dev/null
+++ b/xmms2-ffmpeg.patch
@@ -0,0 +1,165 @@
+--- xmms2-0.2DrEvil/src/plugins/wma/wma.c.orig 2006-07-06 22:35:55.000000000 
+0200
++++ xmms2-0.2DrEvil/src/plugins/wma/wma.c      2023-05-13 14:06:54.268936218 
+0200
+@@ -24,7 +24,7 @@
+ #include <string.h>
+ #include <glib.h>
+ 
+-#include "avformat.h"
++#include <libavformat/avformat.h>
+ 
+ #define WMA_BUFFER_SIZE 4096
+ 
+@@ -33,7 +33,7 @@ typedef struct {
+ 
+       AVFormatContext *fmtctx;
+       AVCodecContext *codecctx;
+-      offset_t offset;
++      int64_t offset;
+ 
+       guchar buffer[WMA_BUFFER_SIZE];
+       guint buffer_size;
+@@ -75,7 +75,7 @@ static void xmms_wma_get_mediainfo (xmms
+ 
+ int xmms_wma_read_callback (void *user_data, uint8_t *buffer,
+                             int length);
+-offset_t xmms_wma_seek_callback (void *user_data, offset_t offset, int 
whence);
++int64_t xmms_wma_seek_callback (void *user_data, int64_t offset, int whence);
+ int xmms_wma_get_track (AVFormatContext *fmtctx);
+ 
+ /*
+@@ -121,7 +121,7 @@ xmms_wma_destroy (xmms_xform_t *xform)
+       g_return_if_fail (data);
+ 
+       avcodec_close (data->codecctx);
+-      av_close_input_file (data->fmtctx);
++      avformat_close_input (&data->fmtctx);
+ 
+       g_string_free (data->outbuf, TRUE);
+       g_free (data);
+@@ -134,7 +134,7 @@ xmms_wma_init (xmms_xform_t *xform)
+       gint temp;
+       AVInputFormat *format;
+       AVCodec *codec;
+-      ByteIOContext byteio;
++      AVIOContext *byteio;
+ 
+       g_return_val_if_fail (xform, FALSE);
+ 
+@@ -155,13 +155,18 @@ xmms_wma_init (xmms_xform_t *xform)
+               goto err;
+       }
+       format->flags |= AVFMT_NOFILE;
+-      if ((temp = init_put_byte (&byteio, data->buffer, data->buffer_size, 0,
++      if ((byteio = avio_alloc_context (data->buffer, data->buffer_size, 0,
+                                  xform, xmms_wma_read_callback, NULL,
+-                                 xmms_wma_seek_callback)) < 0) {
+-              XMMS_DBG ("Could not initialize ByteIOContext structure: %d", 
temp);
++                                 xmms_wma_seek_callback)) == NULL) {
++              XMMS_DBG ("Could not initialize AVIOContext structure");
+               goto err;
+       }
+-      if ((temp = av_open_input_stream (&data->fmtctx, &byteio, "", format,
++      if ((data->fmtctx = afformat_alloc_context()) == NULL) {
++              XMMS_DBG ("Could not initialize AVFormatContext structure");
++              goto err;
++      }
++      data->fmtctx->pb = byteio;
++      if ((temp = avformat_open_input (&data->fmtctx, "", format,
+                                         NULL)) < 0) {
+               XMMS_DBG ("Could not open input stream for ASF format: %d", 
temp);
+               goto err;
+@@ -182,7 +187,7 @@ xmms_wma_init (xmms_xform_t *xform)
+       data->samplerate = data->codecctx->sample_rate;
+       data->channels = data->codecctx->channels;
+ 
+-      if ((temp = avcodec_open (data->codecctx, codec)) < 0) {
++      if ((temp = avcodec_open2 (data->codecctx, codec, NULL)) < 0) {
+               XMMS_DBG ("Opening WMA decoder failed");
+               goto err;
+       }
+@@ -209,7 +214,7 @@ err:
+               avcodec_close (data->codecctx);
+       }
+       if (data->fmtctx) {
+-              av_close_input_file (data->fmtctx);
++              avformat_close_input (&data->fmtctx);
+       }
+       g_string_free (data->outbuf, TRUE);
+       g_free (data);
+@@ -223,9 +228,7 @@ xmms_wma_read (xmms_xform_t *xform, xmms
+ {
+       xmms_wma_data_t *data;
+       AVPacket pkt;
+-      unsigned char *inbuf;
+-      char outbuf[AVCODEC_MAX_AUDIO_FRAME_SIZE];
+-      int inbufsize, outbufsize, size;
++      int size;
+ 
+       data = xmms_xform_private_data_get (xform);
+       g_return_val_if_fail (data, -1);
+@@ -237,26 +240,33 @@ xmms_wma_read (xmms_xform_t *xform, xmms
+               if (pkt.size == 0)
+                       return 0;
+ 
+-              inbuf = pkt.data;
+-              inbufsize = pkt.size;
+-
+-              while (inbufsize > 0) {
++              while (pkt.size > 0) {
+                       int inlen;
+-                      
+-                      inlen = avcodec_decode_audio(data->codecctx, (short *) 
outbuf,
+-                                                   &outbufsize, inbuf, 
inbufsize);
++                      int got_frame = 0;
++                      AVFrame *frame = av_frame_alloc();
++                      gsize outbufsize;
++
++                      if (frame == NULL)
++                              return -1;
++                      inlen = avcodec_decode_audio4(data->codecctx, frame, 
&got_frame, &pkt);
+                       data->codecctx->frame_number++;
+ 
+-                      if (inlen < 0)
++                      if (inlen < 0) {
++                              av_frame_free(&frame);
+                               return -1;
++                      }
+                       
+-                      if (outbufsize <= 0)
++                      if (!got_frame) {
++                              av_frame_free(&frame);
+                               continue;
++                      }
++                      outbufsize = av_samples_get_buffer_size(NULL, 
data->codecctx->channels, frame->nb_samples, data->codecctx->sample_fmt, 1);
+ 
+-                      g_string_append_len (data->outbuf, outbuf, outbufsize);
++                      g_string_append_len (data->outbuf, frame->data[0], 
outbufsize);
++                      av_frame_free(&frame);
+ 
+-                      inbuf += inlen;
+-                      inbufsize -= inlen;
++                      pkt.data += inlen;
++                      pkt.size -= inlen;
+               }
+ 
+               if (pkt.data) {
+@@ -505,8 +515,8 @@ xmms_wma_read_callback (void *user_data,
+       return ret;
+ }
+ 
+-offset_t
+-xmms_wma_seek_callback (void *user_data, offset_t offset, int whence)
++int64_t
++xmms_wma_seek_callback (void *user_data, int64_t offset, int whence)
+ {
+       xmms_xform_t *xform;
+       xmms_wma_data_t *data;
+@@ -556,7 +566,7 @@ xmms_wma_get_track (AVFormatContext *fmt
+       for (wma_idx = 0; wma_idx < fmtctx->nb_streams; wma_idx++) {
+               codec = fmtctx->streams[wma_idx]->codec;
+ 
+-              if (codec->codec_type == CODEC_TYPE_AUDIO) {
++              if (codec->codec_type == AVMEDIA_TYPE_AUDIO) {
+                       break;
+               }
+       }
diff --git a/xmms2-java.patch b/xmms2-java.patch
index e4a4231..8ffe5c5 100644
--- a/xmms2-java.patch
+++ b/xmms2-java.patch
@@ -1,10 +1,10 @@
---- xmms2-0.2DrDolittle/src/clients/lib/java/Library.orig      2023-05-11 
12:50:52.113122775 +0200
-+++ xmms2-0.2DrDolittle/src/clients/lib/java/Library   2023-05-11 
20:55:45.265511648 +0200
-@@ -103,7 +103,7 @@ def config(env):
+--- xmms2-0.2DrEvil/src/clients/lib/java/Library.orig  2023-05-11 
22:00:10.991235882 +0200
++++ xmms2-0.2DrEvil/src/clients/lib/java/Library       2023-05-11 
22:01:06.790933589 +0200
+@@ -123,7 +123,7 @@ def config(env):
        
        env.Java(target = mydir, source = [mydir + '/src'])
        env.Jar(target=mydir + '/xmms2java.jar', source=mydir + '/org')
--      env.Install(env['PREFIX'] + 'share/xmms2/java', mydir + 
'/xmms2java.jar')
+-      env.Install(env['PREFIX'] + '/share/xmms2/java', mydir + 
'/xmms2java.jar')
 +      env.Install(env['PREFIX'] + '/share/java', mydir + '/xmms2java.jar')
        def mkdir(target, source, env):
                try:
diff --git a/xmms2-mdns.patch b/xmms2-mdns.patch
deleted file mode 100644
index d61945d..0000000
--- a/xmms2-mdns.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- xmms2-0.2DrDolittle/src/clients/mdns/dns_sd/Program.orig   2006-03-27 
21:34:45.000000000 +0200
-+++ xmms2-0.2DrDolittle/src/clients/mdns/dns_sd/Program        2023-05-11 
17:58:17.242155129 +0200
-@@ -8,5 +8,4 @@ def config(env):
-       env.Append(LIBS=["xmmsclient-glib"])
-       env.pkgconfig("glib-2.0")
-       env.checkheader("dns_sd.h")
--      # on macosx it's in libc? 
--      #env.checklib("dns_sd", "DNSServiceRegister")
-+      env.checklib("dns_sd", "DNSServiceRegister")
diff --git a/xmms2-modplug.patch b/xmms2-modplug.patch
index 2349170..fb86718 100644
--- a/xmms2-modplug.patch
+++ b/xmms2-modplug.patch
@@ -1,8 +1,8 @@
---- xmms2-0.1DR2.1/src/plugins/modplug/modplug.c.orig  2005-08-18 
20:26:23.000000000 +0200
-+++ xmms2-0.1DR2.1/src/plugins/modplug/modplug.c       2023-05-06 
21:55:20.206489362 +0200
-@@ -11,7 +11,7 @@
- #include "xmms/xmms_defs.h"
- #include "xmms/xmms_decoderplugin.h"
+--- xmms2-0.2DrEvil/src/plugins/modplug/modplug.c.orig 2023-05-11 
21:35:35.199230933 +0200
++++ xmms2-0.2DrEvil/src/plugins/modplug/modplug.c      2023-05-11 
21:37:47.238515615 +0200
+@@ -10,7 +10,7 @@
+ #include "xmms/xmms_sample.h"
+ #include "xmms/xmms_medialib.h"
  #include "xmms/xmms_log.h"
 -#include <modplug.h>
 +#include <libmodplug/modplug.h>
diff --git a/xmms2-python3.patch b/xmms2-python3.patch
index 7d4d0b4..ff4d7a9 100644
--- a/xmms2-python3.patch
+++ b/xmms2-python3.patch
@@ -108,17 +108,19 @@
  
  base_env.add_script("startup.d", "src/clients/mdns/xmms2-mdns-launcher.sh")
  base_env.add_shared("mind.in.a.box-lament_snipplet.ogg")
---- xmms2-0.2DrDolittle/xmmsenv.py.orig        2006-03-27 21:34:45.000000000 
+0200
-+++ xmms2-0.2DrDolittle/xmmsenv.py     2023-05-11 06:27:10.904565049 +0200
-@@ -5,7 +5,6 @@ import shutil
+--- xmms2-0.2DrEvil/xmmsenv.py.orig    2023-05-11 21:28:34.728175487 +0200
++++ xmms2-0.2DrEvil/xmmsenv.py 2023-05-11 21:32:50.826788082 +0200
+@@ -5,8 +5,7 @@ import shutil
  import gzip
  from marshal import load
  from stat import *
 -import operator
+-from popen2 import popen3
++from subprocess import PIPE, Popen
  
  global_libpaths = ["/lib", "/usr/lib"]
  
-@@ -14,8 +13,6 @@ default_output = (-1, "unknown")
+@@ -15,8 +14,6 @@ default_output = (-1, "unknown")
  class ConfigError(Exception):
        pass
  
@@ -127,16 +129,19 @@
  def installFunc(dest, source, env):
        """Copy file, setting sane permissions"""
        
-@@ -40,7 +37,7 @@ class Target:
+@@ -41,9 +38,9 @@ class Target:
                self.globs['platform'] = env.platform
                self.globs['ConfigError'] = ConfigError
  
--              c = compile(file(target).read(), target, "exec")
-+              c = compile(open(target).read(), target, "exec")
-               eval(c, self.globs)
+-              x = file(target).read()
++              x = open(target).read()
+               if x[-1] != '\n':
+-                      print "Missing linebreak in %s" % target
++                      print("Missing linebreak in %s" % target)
+                       x += '\n'
  
-               if not isinstance(self.globs.get("target"), str):
-@@ -87,14 +84,14 @@ class XMMSEnvironment(Environment):
+               c = compile(x, target, "exec")
+@@ -93,14 +90,14 @@ class XMMSEnvironment(Environment):
        def __init__(self, parent=None, options=None, **kw):
                reconfigure = self.options_changed(options, ['INSTALLPATH'])
                Environment.__init__(self, options=options, ENV=os.environ)
@@ -153,7 +158,7 @@
                                self.config_cache={}
                else:
                        self.config_cache={}
-@@ -104,7 +101,7 @@ class XMMSEnvironment(Environment):
+@@ -110,7 +107,7 @@ class XMMSEnvironment(Environment):
                self.programs=[]
                self.install_targets=[]
  
@@ -162,7 +167,7 @@
                        self.installdir = os.path.normpath(self["INSTALLDIR"] + 
'/')
                else:
                        self.installdir = ""
-@@ -136,7 +133,7 @@ class XMMSEnvironment(Environment):
+@@ -142,7 +139,7 @@ class XMMSEnvironment(Environment):
                        self.platform = sys.platform
  
                def gzipper(target, source, env):
@@ -171,7 +176,7 @@
                self['BUILDERS']['GZipper'] = 
SCons.Builder.Builder(action=SCons.Action.Action(gzipper))
                
                if self.platform == 'darwin':
-@@ -152,7 +149,7 @@ class XMMSEnvironment(Environment):
+@@ -158,7 +155,7 @@ class XMMSEnvironment(Environment):
                self.install_targets.append(target)
                        
        def tryaction(self, cmd):
@@ -180,7 +185,7 @@
                        return self.config_cache[cmd]
  
                r = False
-@@ -173,7 +170,7 @@ class XMMSEnvironment(Environment):
+@@ -179,7 +176,7 @@ class XMMSEnvironment(Environment):
                return r
  
        def run(self, cmd):
@@ -189,7 +194,7 @@
                        return self.config_cache[cmd]
  
                try:
-@@ -191,26 +188,26 @@ class XMMSEnvironment(Environment):
+@@ -197,28 +194,29 @@ class XMMSEnvironment(Environment):
                if libs:
                        cmd += " --libs" 
                cmd += " \"%s\"" % module
@@ -205,7 +210,11 @@
 +              if cmd in self.config_cache:
                        ret = self.config_cache[cmd]
                else:
-                       ret = os.popen(cmd).read()
+-                      r, w, e = popen3(cmd)
++                      p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, 
stderr=PIPE, text=True)
++                      r, w, e = (p.stdout, p.stdin, p.stderr)
+                       ret = r.read()
+ 
                        if cmd.startswith("pkg-config"):
                                if ret == '':
 -                                      print " ... no"
@@ -222,7 +231,7 @@
                                sys.exit(-1)
                        raise ConfigError("Command '%s' failed" % cmd)
                ret = ret.strip()
-@@ -224,18 +221,18 @@ class XMMSEnvironment(Environment):
+@@ -232,11 +230,11 @@ class XMMSEnvironment(Environment):
                else:
                        key = ("HEADER", header)
  
@@ -236,7 +245,22 @@
                                sys.exit(1)
                        raise ConfigError("Headerfile '%s' not found" % header)
  
-       def checklib(self, lib, func, fail=False):
+@@ -247,11 +245,11 @@ class XMMSEnvironment(Environment):
+               else:
+                       key = ("HEADER", header)
+ 
+-              if not self.config_cache.has_key(key):
++              if key not in self.config_cache:
+                       self.config_cache[key] = 
self.conf.CheckCXXHeader(header)
+               if not self.config_cache[key]:
+                       if fail:
+-                              print "Aborting!"
++                              print("Aborting!")
+                               sys.exit(1)
+                       raise ConfigError("Headerfile '%s' not found" % header)
+ 
+@@ -259,7 +257,7 @@ class XMMSEnvironment(Environment):
+       def checklib(self, lib, func, header=0, lang="c", fail=False):
                key = (lib, func)
  
 -              if not self.config_cache.has_key(key):
@@ -244,7 +268,7 @@
                        #libtool_flags = None
  
                        self.config_cache[key] = ""
-@@ -258,7 +255,7 @@ class XMMSEnvironment(Environment):
+@@ -282,7 +280,7 @@ class XMMSEnvironment(Environment):
  
                if not self.config_cache[key]:
                        if fail:
@@ -253,7 +277,7 @@
                                sys.exit(1)
                        raise ConfigError("Symbol '%s' in library '%s' not 
found" % (func, lib))
  
-@@ -394,7 +394,7 @@ class XMMSEnvironment(Environment):
+@@ -425,14 +423,14 @@ class XMMSEnvironment(Environment):
                if options.files:
                        for filename in options.files:
                                if os.path.exists(filename):
@@ -262,8 +286,6 @@
                else:
                        return False
        
-@@ -403,8 +400,8 @@ class XMMSEnvironment(Environment):
-       
                for option in options.options:
                        if option.key in exclude: continue
 -                      if options.args.has_key(option.key):
@@ -273,7 +295,7 @@
                                        if options.args[option.key] != 
cached[option.key]:
                                                # differnt value
                                                return True
-@@ -434,7 +431,7 @@ class XMMSEnvironment(Environment):
+@@ -462,7 +460,7 @@ class XMMSEnvironment(Environment):
                This will open the libtool file and read the lines
                that we need.
                """
@@ -282,7 +304,7 @@
                line = f.readline()
                ret = {}
                while line:
-@@ -451,13 +448,13 @@ class XMMSEnvironment(Environment):
+@@ -479,13 +477,13 @@ class XMMSEnvironment(Environment):
                targets = [cls(a[1], self) for a in self.potential_targets if 
a[0].startswith(targettype)]
  
                for t in targets:
@@ -385,10 +407,10 @@
                        env.librarypath = env["RUBYARCHDIR"]
                else:
                        cmd = "ruby -rrbconfig -e 'print 
Config::CONFIG[\"sitearchdir\"]'"
---- xmms2-0.1DR2.1/src/xmms/Program.orig       2005-08-18 20:26:23.000000000 
+0200
-+++ xmms2-0.1DR2.1/src/xmms/Program    2023-05-06 21:27:24.565567088 +0200
+--- xmms2-0.2DrEvil/src/xmms/Program.orig      2023-05-11 21:33:20.679959687 
+0200
++++ xmms2-0.2DrEvil/src/xmms/Program   2023-05-11 21:35:06.382720379 +0200
 @@ -23,7 +23,7 @@ source = ["main.c",
-       ]
+                 "statfs.c"]
  
  def config(env):
 -      pluginenv = env.Copy()
@@ -426,9 +448,9 @@
  
      commithash = info[0]
  
---- xmms2-0.2DrDolittle/src/clients/lib/java/Library.orig      2006-03-27 
21:34:45.000000000 +0200
-+++ xmms2-0.2DrDolittle/src/clients/lib/java/Library   2023-05-11 
06:29:58.761021248 +0200
-@@ -8,14 +8,10 @@ import sys
+--- xmms2-0.2DrEvil/src/clients/lib/java/Library.orig  2006-07-06 
22:35:55.000000000 +0200
++++ xmms2-0.2DrEvil/src/clients/lib/java/Library       2023-05-12 
06:17:51.984695466 +0200
+@@ -8,42 +8,38 @@ import sys
  
  def walkDirs(path):
        """helper function to get a list of all subdirectories"""
@@ -446,7 +468,43 @@
        return pathlist
        
  def config(env):
-@@ -47,15 +43,15 @@ def config(env):
+-      print "Checking for swig >= 1.3.25 ... ",
++      print("Checking for swig >= 1.3.25 ... ", end="")
+       
+       if not env.get('SWIG'):
+-              print "no"
++              print("no")
+               raise ConfigError("Couldn't find swig")
+ 
+       try:
+               version = env.run(env.get('SWIG') + " 
-version").strip().split("\n")[0].split(' ')[2]
+       
+               if not version or ([int(a) for a in version.split(".")] < 
[1,3,25]) :
+-                      print "no"
++                      print("no")
+                       raise ConfigError("Need Swig 1.3.25")
+       
+-              print version
++              print(version)
+       except ValueError:
+-              print "no"
++              print("no")
+               raise ConfigError("Couldn't check version of swig")
+ 
+-      print "Checking for presence of java ... ",
++      print("Checking for presence of java ... ", end="")
+       
+       if not env.get('JAVAC'):
+-              print "no"
++              print("no")
+               raise ConfigError("Couldn't find javac")
+       
+-      print "yes"
++      print("yes")
+       
+       # link with xmmsclient is nice.
+       if env.platform == 'win32':
+@@ -67,15 +63,15 @@ def config(env):
                else:
                        raise ConfigError("You need to define JAVA_HOME to 
install the Java bindings.")
                        # Search for the java compiler
diff --git a/xmms2-ruby.patch b/xmms2-ruby.patch
index b7d4e6c..d2eab0e 100644
--- a/xmms2-ruby.patch
+++ b/xmms2-ruby.patch
@@ -64,23 +64,60 @@
                        env.librarypath = os.popen(cmd).read().strip()
  
                env.pkgconfig("glib-2.0")
---- xmms2-0.2DrDolittle/src/clients/lib/ruby/rb_xmmsclient.c.orig      
2023-05-10 22:10:51.432501932 +0200
-+++ xmms2-0.2DrDolittle/src/clients/lib/ruby/rb_xmmsclient.c   2023-05-10 
22:36:02.564315428 +0200
-@@ -721,7 +721,7 @@ static VALUE c_playlist_add (VALUE self,
+--- xmms2-0.2DrEvil/src/clients/lib/ruby/rb_xmmsclient.c.orig  2023-05-11 
21:39:17.024695868 +0200
++++ xmms2-0.2DrEvil/src/clients/lib/ruby/rb_xmmsclient.c       2023-05-11 
21:40:47.684204724 +0200
+@@ -728,7 +728,7 @@ static VALUE c_playlist_add (VALUE self,
  
        if (!NIL_P (rb_check_string_type (arg)))
                is_str = true;
--      else if (rb_obj_is_kind_of (arg, rb_cFixnum))
-+      else if (rb_obj_is_kind_of (arg, rb_cInteger))
-               is_str = false;
-       else {
+-      else if (!rb_obj_is_kind_of (arg, rb_cFixnum)) {
++      else if (!rb_obj_is_kind_of (arg, rb_cInteger)) {
                rb_raise (eClientError, "unsupported argument");
-@@ -755,7 +755,7 @@ static VALUE c_playlist_insert (VALUE se
+               return Qnil;
+       }
+@@ -760,7 +760,7 @@ static VALUE c_playlist_insert (VALUE se
  
        if (!NIL_P (rb_check_string_type (arg)))
                is_str = true;
--      else if (rb_obj_is_kind_of (arg, rb_cFixnum))
-+      else if (rb_obj_is_kind_of (arg, rb_cInteger))
-               is_str = false;
-       else {
+-      else if (!rb_obj_is_kind_of (arg, rb_cFixnum)) {
++      else if (!rb_obj_is_kind_of (arg, rb_cInteger)) {
                rb_raise (eClientError, "unsupported argument");
+               return Qnil;
+       }
+@@ -932,7 +932,7 @@ static VALUE c_medialib_entry_property_s
+ 
+       if (!NIL_P (rb_check_string_type (value)))
+               is_str = true;
+-      else if (!rb_obj_is_kind_of (value, rb_cFixnum)) {
++      else if (!rb_obj_is_kind_of (value, rb_cInteger)) {
+               rb_raise (eClientError, "unsupported argument");
+               return Qnil;
+       }
+--- xmms2-0.2DrEvil/src/clients/lib/ruby/rb_result.c.orig      2006-07-06 
22:35:55.000000000 +0200
++++ xmms2-0.2DrEvil/src/clients/lib/ruby/rb_result.c   2023-05-12 
23:07:41.934554417 +0200
+@@ -382,6 +382,7 @@ static VALUE c_propdict_init (VALUE self
+       return self;
+ }
+ 
++#ifdef HAVE_RB_PROTECT_INSPECT
+ static VALUE propdict_inspect_cb (VALUE args, VALUE s)
+ {
+       VALUE src, key, value;
+@@ -421,6 +422,7 @@ static VALUE c_propdict_inspect (VALUE s
+ {
+       return rb_protect_inspect (propdict_inspect, self, 0);
+ }
++#endif
+ 
+ static VALUE c_propdict_aref (VALUE self, VALUE key)
+ {
+@@ -586,7 +588,9 @@ void Init_Result (VALUE mXmms)
+       cPropDict = rb_define_class_under (mXmms, "PropDict", rb_cObject);
+ 
+       rb_define_method (cPropDict, "initialize", c_propdict_init, 1);
++#ifdef HAVE_RB_PROTECT_INSPECT
+       rb_define_method (cPropDict, "inspect", c_propdict_inspect, 0);
++#endif
+ 
+       rb_define_method (cPropDict, "[]", c_propdict_aref, 1);
+       rb_define_method (cPropDict, "has_key?", c_propdict_has_key, 1);
diff --git a/xmms2-sid-update.patch b/xmms2-sid-update.patch
deleted file mode 100644
index 9fa3157..0000000
--- a/xmms2-sid-update.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- xmms2-0.2DrAlban/src/plugins/sid/sid.c.orig        2005-12-18 
17:35:27.000000000 +0100
-+++ xmms2-0.2DrAlban/src/plugins/sid/sid.c     2023-05-10 17:17:13.484532781 
+0200
-@@ -192,10 +192,12 @@ xmms_sid_get_media_info (xmms_decoder_t
- 
-       err = sidplay_wrapper_songinfo (data->wrapper, artist, title);
-       if (err > 0) {
--              xmms_medialib_entry_property_set_str (entry, 
-+              xmms_medialib_session_t *session = xmms_medialib_begin ();
-+              xmms_medialib_entry_property_set_str (session, entry, 
-                        XMMS_MEDIALIB_ENTRY_PROPERTY_TITLE, title);
--              xmms_medialib_entry_property_set_str (entry, 
-+              xmms_medialib_entry_property_set_str (session, entry, 
-                        XMMS_MEDIALIB_ENTRY_PROPERTY_ARTIST, artist);
-+              xmms_medialib_end (session);
-               xmms_medialib_entry_send_update (entry);
-       } 
- }
diff --git a/xmms2-tabs.patch b/xmms2-tabs.patch
index 2fa7950..e8f3b71 100644
--- a/xmms2-tabs.patch
+++ b/xmms2-tabs.patch
@@ -1,6 +1,6 @@
---- xmms2-0.2DrDolittle/SConstruct.orig        2006-03-27 21:34:45.000000000 
+0200
-+++ xmms2-0.2DrDolittle/SConstruct     2023-05-10 22:01:19.352267823 +0200
-@@ -72,8 +72,8 @@ base_env.Append(CPPPATH=["#src/include"]
+--- xmms2-0.2DrEvil/SConstruct.orig    2006-07-06 22:35:55.000000000 +0200
++++ xmms2-0.2DrEvil/SConstruct 2023-05-11 21:28:12.098298084 +0200
+@@ -71,8 +71,8 @@ base_env.Append(CPPPATH=["#src/include"]
  Help(opts.GenerateHelpText(base_env))
  
  def do_subst_in_file(targetfile, sourcefile, dict):
@@ -11,7 +11,7 @@
          then all instances of %VERSION% in the file will be replaced with 
1.2345 etc.
          """
          try:
-@@ -145,11 +145,11 @@ base_env.handle_targets("Library")
+@@ -138,11 +138,11 @@ base_env.handle_targets("Library")
  base_env.handle_targets("Program")
  
  subst_dict = {"%VERSION%":XMMS_VERSION, "%PLATFORM%":"XMMS_OS_" + 
base_env.platform.upper().replace("-", ""), 
@@ -28,7 +28,7 @@
  }
  
  config = base_env.SubstInFile("src/include/xmms/xmms_defs.h", 
"src/include/xmms/xmms_defs.h.in", SUBST_DICT=subst_dict)
-@@ -169,7 +169,7 @@ def scan_headers(name):
+@@ -162,7 +162,7 @@ def scan_headers(name):
                newf = dir+"/"+d
                if os.path.isfile(newf) and newf.endswith('.h'):
                        base_env.add_header(name, newf)
@@ -37,18 +37,20 @@
  scan_headers("xmmsc")
  scan_headers("xmms")
  scan_headers("xmmsclient")
-@@ -182,10 +182,10 @@ base_env.add_manpage(8, 'doc/xmms2d.8')
+@@ -177,11 +177,11 @@ base_env.add_manpage(1, 'doc/xmms2-et.1'
  #### Generate pc files.
  
  pc_files = [{"name": "xmms2-plugin", "lib":""}, 
 -          {"name":"xmms2-client", "lib":"-lxmmsclient"},
 -          {"name":"xmms2-client-glib", "lib":"-lxmmsclient-glib"},
 -          {"name":"xmms2-client-ecore", "lib":"-lxmmsclient-ecore"},
--          {"name":"xmms2-client-cpp", "lib":"-lxmmsclient++"}]
+-          {"name":"xmms2-client-cpp", "lib":"-lxmmsclient -lxmmsclient++"},
+-          {"name":"xmms2-client-cpp-glib", "lib":"-lxmmsclient-glib 
-lxmmsclient++-glib"}]
 +            {"name":"xmms2-client", "lib":"-lxmmsclient"},
 +            {"name":"xmms2-client-glib", "lib":"-lxmmsclient-glib"},
 +            {"name":"xmms2-client-ecore", "lib":"-lxmmsclient-ecore"},
-+            {"name":"xmms2-client-cpp", "lib":"-lxmmsclient++"}]
++            {"name":"xmms2-client-cpp", "lib":"-lxmmsclient -lxmmsclient++"},
++            {"name":"xmms2-client-cpp-glib", "lib":"-lxmmsclient-glib 
-lxmmsclient++-glib"}]
  
  for p in pc_files:
        d = subst_dict.copy()
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xmms2.git/commitdiff/4a810f76cafda9bd93c81df47686fe8eebf7aed6

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to