[packages/xmms2] - up to 0.2DrEvil; added -input-wma and -transport-mms subpackages

qboosh qboosh at pld-linux.org
Sat May 13 15:36:20 CEST 2023


commit 4a810f76cafda9bd93c81df47686fe8eebf7aed6
Author: Jakub Bogusz <qboosh at pld-linux.org>
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



More information about the pld-cvs-commit mailing list