[packages/xmms2] - up to 0.6DrMattDestruction; added -input-mp3 and -input-wavpack subpackages
qboosh
qboosh at pld-linux.org
Thu Jun 22 22:31:25 CEST 2023
commit 0ebba67d7bf12999715e94b23a5e492110b6dd1d
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Thu Jun 22 22:26:47 2023 +0200
- up to 0.6DrMattDestruction; added -input-mp3 and -input-wavpack subpackages
xmms2-boost.patch | 85 +++++++++++++++++++++
xmms2-ffmpeg.patch | 84 +++++++++++++--------
xmms2-format.patch | 72 ++++++++++++++++++
xmms2-mdns-launcher-conflict.patch | 10 ---
xmms2-perl.patch | 15 ++++
xmms2-ruby.patch | 146 +++++++++++++++++--------------------
xmms2-waf.patch | 38 ++--------
xmms2.spec | 78 ++++++++++++++++----
8 files changed, 362 insertions(+), 166 deletions(-)
---
diff --git a/xmms2.spec b/xmms2.spec
index 8f39d54..e679022 100644
--- a/xmms2.spec
+++ b/xmms2.spec
@@ -2,7 +2,7 @@
#
# Conditional build:
%bcond_with efl # ecore client library
-%bcond_with sdl # sdlvis client (no build system since 0.2DrJekyll)
+%bcond_without sdl # SDL clients
%bcond_with java # Java/JNI module (removed in 0.2DrJekyll)
%bcond_without perl # Perl module
%bcond_with python # Python module (doesn't build with python 2.7)
@@ -12,26 +12,24 @@
Summary: Client/server based media player system
Summary(pl.UTF-8): System odtwarzania multimediów oparty na architekturze klient/serwer
Name: xmms2
-Version: 0.5DrLecter
+Version: 0.6DrMattDestruction
Release: 0.1
License: LGPL v2.1
Group: Applications/Sound
Source0: https://downloads.sourceforge.net/xmms2/%{name}-%{version}.tar.bz2
-# Source0-md5: 9033ef15be9069ef43aeb4b6360a4d36
+# Source0-md5: 954fb9c76b5db5e324a105e81b273200
Patch0: %{name}-tabs.patch
Patch1: %{name}-openssl.patch
Patch2: %{name}-format.patch
Patch3: %{name}-modplug.patch
Patch4: %{name}-ffmpeg.patch
Patch5: %{name}-ruby.patch
-Patch6: %{name}-mdns-launcher-conflict.patch
+Patch6: %{name}-perl.patch
Patch7: %{name}-waf.patch
Patch8: %{name}-version.patch
+Patch9: %{name}-boost.patch
+Patch10: %{name}-link.patch
URL: http://xmms2.xmms.se/
-%if %{with sdl}
-BuildRequires: SDL-devel
-BuildRequires: SDL_ttf-devel
-%endif
BuildRequires: alsa-lib-devel
BuildRequires: avahi-devel
BuildRequires: avahi-compat-libdns_sd-devel
@@ -53,6 +51,7 @@ BuildRequires: libmad-devel
BuildRequires: libmodplug-devel
BuildRequires: libmms-devel
BuildRequires: libmpcdec-devel
+BuildRequires: libmpg123-devel >= 1.5.1
BuildRequires: libofa-devel
BuildRequires: libogg-devel
BuildRequires: libsamplerate-devel
@@ -77,6 +76,11 @@ BuildRequires: sed >= 4.0
BuildRequires: speex-devel
BuildRequires: sqlite3-devel >= 3.2
BuildRequires: swig >= 1.3.25
+BuildRequires: wavpack-devel
+%if %{with sdl}
+BuildRequires: SDL-devel
+BuildRequires: libvisual-devel
+%endif
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
@@ -297,6 +301,19 @@ This package enables MOD decoding through modplug decoding for xmms2.
%description input-modplug -l pl.UTF-8
Ten pakiet umożliwia dekodowanie MOD przez xmms2 poprzez modplug.
+%package input-mpg123
+Summary: mpg123-based MP3 decoder
+Summary(pl.UTF-8): Oparty na mpg123 dekoder MP3
+Group: X11/Applications/Sound
+Requires: %{name} = %{version}-%{release}
+Requires: libmpg123 >= 1.5.1
+
+%description input-mpg123
+This package enables MP3 decoding for xmms2.
+
+%description input-mpg123 -l pl.UTF-8
+Ten pakiet umożliwia dekodowanie MP3 przez xmms2.
+
%package input-musepack
Summary: MPC decoder
Summary(pl.UTF-8): Dekoder MPC
@@ -357,6 +374,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-wavpack
+Summary: Wavpack decoder
+Summary(pl.UTF-8): Dekoder Wavpack
+Group: X11/Applications/Sound
+Requires: %{name} = %{version}-%{release}
+
+%description input-wavpack
+This package enables wavpack decoding for xmms2.
+
+%description input-wavpack -l pl.UTF-8
+Ten pakiet umożliwia dekodowanie wavpack przez xmms2.
+
%package output-alsa
Summary: ALSA output
Summary(pl.UTF-8): Wyjście ALSA
@@ -515,6 +544,8 @@ xmms2.
%patch6 -p1
%patch7 -p1
%patch8 -p1
+%patch9 -p1
+%patch10 -p1
# sanitize version to avoid invalid format in .pc files
%{__sed} -i -e '/^BASEVERSION=/ s/ \(Dr[^ ]*\)/\1/' wscript
@@ -575,15 +606,20 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/xmms2-launcher
%attr(755,root,root) %{_bindir}/xmms2d
%attr(755,root,root) %{_libdir}/libxmmsclient.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxmmsclient.so.4
+%attr(755,root,root) %ghost %{_libdir}/libxmmsclient.so.5
+%attr(755,root,root) %{_libdir}/libxmmsclient++.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libxmmsclient++.so.3
%dir %{_libdir}/%{name}
+%attr(755,root,root) %{_libdir}/%{name}/libxmms_apefile.so
%attr(755,root,root) %{_libdir}/%{name}/libxmms_asf.so
%attr(755,root,root) %{_libdir}/%{name}/libxmms_asx.so
%attr(755,root,root) %{_libdir}/%{name}/libxmms_cue.so
%attr(755,root,root) %{_libdir}/%{name}/libxmms_diskwrite.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_flv.so
%attr(755,root,root) %{_libdir}/%{name}/libxmms_gme.so
+%attr(755,root,root) %{_libdir}/%{name}/libxmms_html.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_karaoke.so
@@ -594,6 +630,7 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/%{name}/libxmms_nulstripper.so
%attr(755,root,root) %{_libdir}/%{name}/libxmms_pls.so
%attr(755,root,root) %{_libdir}/%{name}/libxmms_replaygain.so
+%attr(755,root,root) %{_libdir}/%{name}/libxmms_tta.so
%attr(755,root,root) %{_libdir}/%{name}/libxmms_xml.so
# XXX: requires libofa, but which kind of plugin is it? (fingerprint)
%attr(755,root,root) %{_libdir}/%{name}/libxmms_ofa.so
@@ -601,8 +638,6 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/%{name}/libxmms_rss.so
# XXX: requires libxml2, playlist reader
%attr(755,root,root) %{_libdir}/%{name}/libxmms_xspf.so
-# disabled since 0.2DrEvil ("broken=True")
-#%attr(755,root,root) %{_libdir}/%{name}/libxmms_html.so
%{_datadir}/%{name}
%{_pixmapsdir}/xmms2*.png
%{_pixmapsdir}/xmms2*.svg
@@ -615,12 +650,14 @@ rm -rf $RPM_BUILD_ROOT
### clients
%files client-cli
%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/nyxmms2
%attr(755,root,root) %{_bindir}/xmms2
%attr(755,root,root) %{_bindir}/xmms2-et
%attr(755,root,root) %{_bindir}/xmms2-find-avahi
%attr(755,root,root) %{_bindir}/xmms2-mdns-avahi
%attr(755,root,root) %{_bindir}/xmms2-mdns-dnssd
%attr(755,root,root) %{_bindir}/xmms2-mlib-updater
+%{_mandir}/man1/nyxmms2.1*
%{_mandir}/man1/xmms2.1*
%{_mandir}/man1/xmms2-et.1*
%{_mandir}/man1/xmms2-mdns-avahi.1*
@@ -628,7 +665,10 @@ rm -rf $RPM_BUILD_ROOT
%if %{with sdl}
%files client-sdlvis
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/sdl-vis
+%attr(755,root,root) %{_bindir}/vistest
+%attr(755,root,root) %{_bindir}/vistest-fft
+%attr(755,root,root) %{_bindir}/xmms2-libvisual
+%attr(755,root,root) %{_bindir}/xmms2-ripper
%endif
%if %{with efl}
@@ -719,6 +759,10 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/libxmms_modplug.so
+%files input-mpg123
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/libxmms_mpg123.so
+
%files input-musepack
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/libxmms_musepack.so
@@ -739,6 +783,10 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/libxmms_wave.so
+%files input-wavpack
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/libxmms_wavpack.so
+
### output
%files output-alsa
%defattr(644,root,root,755)
@@ -767,8 +815,6 @@ rm -rf $RPM_BUILD_ROOT
%files transport-curl
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/libxmms_curl.so
-%attr(755,root,root) %{_libdir}/%{name}/libxmms_lastfm.so
-%attr(755,root,root) %{_libdir}/%{name}/libxmms_lastfmeta.so
%files transport-daap
%defattr(644,root,root,755)
@@ -789,12 +835,12 @@ rm -rf $RPM_BUILD_ROOT
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libxmmsclient.so
+%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
%{_pkgconfigdir}/xmms2-client.pc
-# requires old boost.signal
-#%{_pkgconfigdir}/xmms2-client-cpp.pc
+%{_pkgconfigdir}/xmms2-client-cpp.pc
%{_pkgconfigdir}/xmms2-client-cpp-glib.pc
%{_pkgconfigdir}/xmms2-client-glib.pc
%{_pkgconfigdir}/xmms2-plugin.pc
diff --git a/xmms2-boost.patch b/xmms2-boost.patch
new file mode 100644
index 0000000..d892ade
--- /dev/null
+++ b/xmms2-boost.patch
@@ -0,0 +1,85 @@
+--- xmms2-0.6DrMattDestruction/src/include/xmmsclient/xmmsclient++/signal.h.orig 2009-04-21 19:51:11.000000000 +0200
++++ xmms2-0.6DrMattDestruction/src/include/xmmsclient/xmmsclient++/signal.h 2023-06-22 18:59:11.362344508 +0200
+@@ -18,7 +18,7 @@
+ #define XMMSCLIENTPP_SIGNAL_H
+
+ #include <xmmsclient/xmmsclient.h>
+-#include <boost/signal.hpp>
++#include <boost/signals2.hpp>
+ #include <string>
+ #include <list>
+ #include <iostream>
+@@ -33,7 +33,7 @@ namespace Xmms
+ class Coll;
+ }
+
+- typedef boost::signal< bool( const std::string& ) > error_sig;
++ typedef boost::signals2::signal< bool( const std::string& ) > error_sig;
+
+ /** @class SignalInterface
+ * This is here only to unify all Signal classes so that they can be
+@@ -54,7 +54,7 @@ namespace Xmms
+ template< typename T >
+ struct Signal : public SignalInterface
+ {
+- typedef boost::signal< bool( const T& ) > signal_t;
++ typedef boost::signals2::signal< bool( const T& ) > signal_t;
+
+ error_sig error_signal;
+ signal_t signal;
+@@ -67,7 +67,7 @@ namespace Xmms
+ template<>
+ struct Signal< void > : public SignalInterface
+ {
+- typedef boost::signal< bool() > signal_t;
++ typedef boost::signals2::signal< bool() > signal_t;
+
+ error_sig error_signal;
+ signal_t signal;
+@@ -212,7 +212,7 @@ namespace Xmms
+ inline bool
+ callSignal( const Signal< void >* sig, xmmsv_t*& /* val */)
+ {
+- return sig->signal();
++ return *sig->signal();
+ }
+
+ /** Called on the notifier udata when an xmmsc_result_t is freed.
+@@ -244,7 +244,7 @@ namespace Xmms
+
+ std::string error( buf );
+ if( !data->error_signal.empty() ) {
+- ret = data->error_signal( error );
++ ret = *data->error_signal( error );
+ }
+
+ }
+@@ -257,7 +257,7 @@ namespace Xmms
+ catch( std::exception& e ) {
+
+ if( !data->error_signal.empty() ) {
+- ret = data->error_signal( e.what() );
++ ret = *data->error_signal( e.what() );
+ }
+
+ }
+@@ -272,7 +272,7 @@ namespace Xmms
+ return ret;
+ }
+
+- typedef boost::signal< void() > DisconnectCallback;
++ typedef boost::signals2::signal< void() > DisconnectCallback;
+
+ void disconnect_callback( void* userdata );
+ /** @endcond INTERNAL */
+--- xmms2-0.6DrMattDestruction/src/include/xmmsclient/xmmsclient++/helpers.h.orig 2009-04-21 19:51:11.000000000 +0200
++++ xmms2-0.6DrMattDestruction/src/include/xmmsclient/xmmsclient++/helpers.h 2023-06-22 18:21:32.241241299 +0200
+@@ -26,7 +26,7 @@
+
+ #include <boost/bind.hpp>
+ #include <boost/function.hpp>
+-#include <boost/signal.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/type_traits/remove_pointer.hpp>
+
+ #include <string>
diff --git a/xmms2-ffmpeg.patch b/xmms2-ffmpeg.patch
index f993445..50e9ccc 100644
--- a/xmms2-ffmpeg.patch
+++ b/xmms2-ffmpeg.patch
@@ -1,15 +1,6 @@
---- xmms2-0.2DrJekyll/src/plugins/avcodec/avcodec.c.orig 2007-05-20 17:55:40.000000000 +0200
-+++ xmms2-0.2DrJekyll/src/plugins/avcodec/avcodec.c 2023-05-18 18:38:52.423864232 +0200
-@@ -24,7 +24,7 @@
- #include <glib.h>
-
- #undef ABS
--#include "avcodec.h"
-+#include <libavcodec/avcodec.h>
-
- #define AVCODEC_BUFFER_SIZE 16384
-
-@@ -134,7 +134,7 @@ xmms_avcodec_init (xmms_xform_t *xform)
+--- xmms2-0.6DrMattDestruction/src/plugins/avcodec/avcodec.c.orig 2009-04-21 19:51:11.000000000 +0200
++++ xmms2-0.6DrMattDestruction/src/plugins/avcodec/avcodec.c 2023-05-22 09:34:51.481410306 +0200
+@@ -160,7 +160,7 @@ xmms_avcodec_init (xmms_xform_t *xform)
goto err;
}
@@ -18,19 +9,16 @@
XMMS_DBG ("Codec '%s' found but its type is not audio", data->codec_id);
goto err;
}
-@@ -155,9 +155,9 @@ xmms_avcodec_init (xmms_xform_t *xform)
+@@ -219,7 +219,7 @@ xmms_avcodec_init (xmms_xform_t *xform)
+ data->codecctx->extradata = data->extradata;
data->codecctx->extradata_size = data->extradata_size;
- /* FIXME: this is for ALAC but can be a different value */
-- data->codecctx->bits_per_sample = 16;
-+ data->codecctx->bits_per_raw_sample = 16;
-
- if (avcodec_open (data->codecctx, codec) < 0) {
+ if (avcodec_open2 (data->codecctx, codec, NULL) < 0) {
XMMS_DBG ("Opening decoder '%s' failed", codec->name);
goto err;
} else {
-@@ -206,7 +206,6 @@ xmms_avcodec_read (xmms_xform_t *xform,
+@@ -270,7 +270,6 @@ xmms_avcodec_read (xmms_xform_t *xform,
xmms_error_t *error)
{
xmms_avcodec_data_t *data;
@@ -38,7 +26,7 @@
gint outbufsize, bytes_read = 0;
guint size;
-@@ -215,6 +214,11 @@ xmms_avcodec_read (xmms_xform_t *xform,
+@@ -279,6 +278,11 @@ xmms_avcodec_read (xmms_xform_t *xform,
size = MIN (data->outbuf->len, len);
while (size == 0) {
@@ -48,15 +36,16 @@
+ av_init_packet (&packet);
+
if (data->buffer_length == 0) {
- bytes_read = xmms_xform_read (xform,
- (gchar *) data->buffer,
-@@ -232,11 +236,19 @@ xmms_avcodec_read (xmms_xform_t *xform,
- data->buffer_length += bytes_read;
+ gint read_total;
+
+@@ -332,12 +336,19 @@ xmms_avcodec_read (xmms_xform_t *xform,
+ data->buffer_length = read_total;
}
-- bytes_read = avcodec_decode_audio (data->codecctx, (short *) outbuf,
-- &outbufsize, data->buffer,
-- data->buffer_length);
+- outbufsize = sizeof (outbuf);
+- bytes_read = avcodec_decode_audio2 (data->codecctx, (short *) outbuf,
+- &outbufsize, data->buffer_pos,
+- data->buffer_length);
+ packet.data = data->buffer;
+ packet.size = data->buffer_length;
+
@@ -68,13 +57,13 @@
+
+ bytes_read = avcodec_decode_audio4 (data->codecctx, frame, &got_frame, &packet);
- if (bytes_read < 0) {
+ if (bytes_read < 0 || bytes_read > data->buffer_length) {
+ av_frame_free(&frame);
XMMS_DBG ("Error decoding data!");
return -1;
- } else if (bytes_read == 0) {
-@@ -246,9 +258,11 @@ xmms_avcodec_read (xmms_xform_t *xform,
-
+ }
+@@ -345,9 +356,11 @@ xmms_avcodec_read (xmms_xform_t *xform,
+ data->buffer_pos += bytes_read;
data->buffer_length -= bytes_read;
- if (outbufsize > 0) {
@@ -87,3 +76,38 @@
size = MIN (data->outbuf->len, len);
}
+@@ -375,7 +375,6 @@ static gint64
+ xmms_avcodec_seek (xmms_xform_t *xform, gint64 samples, xmms_xform_seek_mode_t whence, xmms_error_t *err)
+ {
+ xmms_avcodec_data_t *data;
+- char outbuf[AVCODEC_MAX_AUDIO_FRAME_SIZE];
+ gint outbufsize, bytes_read = 0;
+ gint64 ret = -1;
+
+@@ -395,10 +394,22 @@ xmms_avcodec_seek (xmms_xform_t *xform,
+ /* The buggy ape decoder doesn't flush buffers, so we need to finish decoding
+ * the frame before seeking to avoid segfaults... this hack sucks */
+ while (data->buffer_length > 0) {
+- outbufsize = sizeof (outbuf);
+- bytes_read = avcodec_decode_audio2 (data->codecctx, (short *) outbuf,
+- &outbufsize, data->buffer,
+- data->buffer_length);
++ int got_frame = 0;
++ AVFrame *frame;
++ AVPacket packet;
++ av_init_packet (&packet);
++
++ packet.data = data->buffer;
++ packet.size = data->buffer_length;
++
++ frame = av_frame_alloc();
++ if (frame == NULL) {
++ XMMS_DBG ("AVFrame allocation failed");
++ return -1;
++ }
++
++ bytes_read = avcodec_decode_audio4 (data->codecctx, frame, &got_frame, &packet);
++ av_frame_free(&frame);
+
+ if (bytes_read < 0 || bytes_read > data->buffer_length) {
+ XMMS_DBG ("Error decoding data!");
diff --git a/xmms2-format.patch b/xmms2-format.patch
index 9ebfc65..4c0c95c 100644
--- a/xmms2-format.patch
+++ b/xmms2-format.patch
@@ -9,3 +9,75 @@
exit (EXIT_SUCCESS);
#else
g_print ("Please use --help or -? for help\n");
+--- xmms2-0.6DrMattDestruction/src/clients/nycli/column_display.c.orig 2009-04-21 19:51:11.000000000 +0200
++++ xmms2-0.6DrMattDestruction/src/clients/nycli/column_display.c 2023-06-22 20:49:36.616801277 +0200
+@@ -178,11 +178,11 @@ print_fixed_width_string (gchar *value,
+ column_def_align_t align, gchar padchar)
+ {
+ if (align == COLUMN_DEF_ALIGN_LEFT) {
+- g_printf (value);
++ g_printf ("%s", value);
+ print_padding (width - realsize, padchar);
+ } else {
+ print_padding (width - realsize, padchar);
+- g_printf (value);
++ g_printf ("%s", value);
+ }
+ }
+
+@@ -200,7 +200,7 @@ print_string_using_coldef (column_displa
+
+ case COLUMN_DEF_SIZE_AUTO:
+ /* Just print the string */
+- g_printf (disp->buffer);
++ g_printf ("%s", disp->buffer);
+ break;
+ }
+ }
+@@ -360,7 +360,7 @@ column_display_print_header (column_disp
+ /* Display column headers */
+ for (i = 0; i < disp->cols->len; ++i) {
+ coldef = g_array_index (disp->cols, column_def_t *, i);
+- realsize = g_snprintf (disp->buffer, coldef->size + 1, coldef->name);
++ realsize = g_snprintf (disp->buffer, coldef->size + 1, "%s", coldef->name);
+ print_fixed_width_string (disp->buffer, coldef->size, realsize,
+ coldef->align, ' ');
+ }
+@@ -524,7 +524,7 @@ column_display_render_text (column_displ
+ gint realsize;
+ const gchar *sep = coldef->name;
+
+- realsize = g_printf (sep);
++ realsize = g_printf ("%s", sep);
+
+ return realsize;
+ }
+@@ -545,7 +545,7 @@ column_display_render_time (column_displ
+ break;
+ default:
+ /* Invalid type, don't render anything*/
+- return;
++ return 0;
+ }
+
+ time = format_time (millisecs, FALSE);
+@@ -557,7 +557,7 @@ column_display_render_time (column_displ
+ * alignment and overflow termwidth if strlen(time) > coldef->size,
+ * but it's a temporary fix to avoid displaying a wrong time.
+ */
+- realsize = g_snprintf (disp->buffer, disp->termwidth + 1, time);
++ realsize = g_snprintf (disp->buffer, disp->termwidth + 1, "%s", time);
+ print_string_using_coldef (disp, coldef, realsize);
+
+ g_free (time);
+--- xmms2-0.6DrMattDestruction/src/clients/lib/ruby/rb_xmmsclient.c.orig 2023-06-22 20:50:00.663337673 +0200
++++ xmms2-0.6DrMattDestruction/src/clients/lib/ruby/rb_xmmsclient.c 2023-06-22 20:53:19.725592593 +0200
+@@ -166,7 +166,7 @@ c_connect (int argc, VALUE *argv, VALUE
+ snprintf (buf, sizeof (buf), "cannot connect to daemon (%s)\n",
+ xmmsc_get_last_error (xmms->real));
+
+- rb_raise (eClientError, buf);
++ rb_raise (eClientError, "%s", buf);
+ }
+
+ return self;
diff --git a/xmms2-mdns-launcher-conflict.patch b/xmms2-mdns-launcher-conflict.patch
deleted file mode 100644
index c2b8377..0000000
--- a/xmms2-mdns-launcher-conflict.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- xmms2-0.5DrLecter/src/clients/mdns/dns_sd/wscript.orig 2023-05-21 15:05:21.078719788 +0200
-+++ xmms2-0.5DrLecter/src/clients/mdns/dns_sd/wscript 2023-05-21 15:06:42.958276208 +0200
-@@ -17,7 +17,6 @@ def build(bld):
- obj = bld.create_obj('subst')
- obj.source = 'xmms2-mdns-launcher.sh.in'
- obj.dict = {'PRG_PATH' : env['BINDIR']}
-- Common.install_files('SCRIPTDIR', None, 'xmms2-mdns-launcher.sh', chmod=0755)
-
- def configure(conf):
- conf.env['explicit_dnssd'] = True
diff --git a/xmms2-perl.patch b/xmms2-perl.patch
new file mode 100644
index 0000000..1ea0ee6
--- /dev/null
+++ b/xmms2-perl.patch
@@ -0,0 +1,15 @@
+--- xmms2-0.6DrMattDestruction/src/clients/lib/perl/wscript.orig 2009-04-21 19:51:11.000000000 +0200
++++ xmms2-0.6DrMattDestruction/src/clients/lib/perl/wscript 2023-06-22 21:52:44.209615459 +0200
+@@ -17,9 +17,9 @@ def build(bld):
+ obj.mac_bundle = True
+
+ bld.install_files('${INSTALLDIR_PERL_LIB}', 'pm/XMMSClient.pm')
+- bld.install_files('${INSTALLDIR_PERL_LIB}', 'pm/XMMSClient/Sync.pm')
+- bld.install_files('${INSTALLDIR_PERL_LIB}', 'pm/XMMSClient/Glib.pm')
+- bld.install_files('${INSTALLDIR_PERL_LIB}', 'pm/XMMSClient/Collection.pm')
++ bld.install_files('${INSTALLDIR_PERL_LIB}/XMMSClient', 'pm/XMMSClient/Sync.pm')
++ bld.install_files('${INSTALLDIR_PERL_LIB}/XMMSClient', 'pm/XMMSClient/Glib.pm')
++ bld.install_files('${INSTALLDIR_PERL_LIB}/XMMSClient', 'pm/XMMSClient/Collection.pm')
+
+ def configure(conf):
+ conf.check_tool('perl')
diff --git a/xmms2-ruby.patch b/xmms2-ruby.patch
index e856036..8391182 100644
--- a/xmms2-ruby.patch
+++ b/xmms2-ruby.patch
@@ -1,82 +1,71 @@
---- xmms2-0.5DrLecter/src/clients/lib/ruby/wscript.orig 2023-05-21 14:20:34.466607748 +0200
-+++ xmms2-0.5DrLecter/src/clients/lib/ruby/wscript 2023-05-21 14:57:59.467778866 +0200
-@@ -56,25 +56,25 @@ def configure(conf):
- conf.check_message('ruby version', '> 1.8', True, version_str)
-
- if version == [1, 8]: # Ruby 1.8
-- ruby_h = os.popen(ruby + " -rrbconfig -e 'puts File.exist?(Config::CONFIG[\"archdir\"] + \"/ruby.h\")'").read().strip()
-+ ruby_h = os.popen(ruby + " -rrbconfig -e 'puts File.exist?(RbConfig::CONFIG[\"archdir\"] + \"/ruby.h\")'").read().strip()
- else: # Ruby 1.9
-- ruby_h = os.popen(ruby + " -rrbconfig -e 'puts File.exist?(Config::CONFIG[\"rubyhdrdir\"] + \"/ruby.h\")'").read().strip()
-+ ruby_h = os.popen(ruby + " -rrbconfig -e 'puts File.exist?(RbConfig::CONFIG[\"rubyhdrdir\"] + \"/ruby.h\")'").read().strip()
+--- xmms2-0.6DrMattDestruction/waftools/ruby.py.orig 2009-04-21 19:51:11.000000000 +0200
++++ xmms2-0.6DrMattDestruction/waftools/ruby.py 2023-05-22 09:39:14.409985899 +0200
+@@ -62,9 +62,9 @@ def check_ruby_ext_devel(conf):
+ version = conf.env['RUBY_VERSION']
+
+ if version >= (1, 9, 0):
+- ruby_h = Utils.cmd_output(ruby + " -rrbconfig -e 'puts File.exist?(Config::CONFIG[\"rubyhdrdir\"] + \"/ruby.h\")'").strip()
++ ruby_h = Utils.cmd_output(ruby + " -rrbconfig -e 'puts File.exist?(RbConfig::CONFIG[\"rubyhdrdir\"] + \"/ruby.h\")'").strip()
+ elif version >= (1, 8, 0):
+- ruby_h = Utils.cmd_output(ruby + " -rrbconfig -e 'puts File.exist?(Config::CONFIG[\"archdir\"] + \"/ruby.h\")'").strip()
++ ruby_h = Utils.cmd_output(ruby + " -rrbconfig -e 'puts File.exist?(RbConfig::CONFIG[\"archdir\"] + \"/ruby.h\")'").strip()
+
if ruby_h != 'true':
conf.check_message('ruby', 'header file', False)
- return False
+@@ -72,18 +72,18 @@ def check_ruby_ext_devel(conf):
+
conf.check_message('ruby', 'header file', True)
-- dir = os.popen(ruby + " -rrbconfig -e 'puts \"%s\" % [].fill(Config::CONFIG[\"archdir\"], 0..1)'").read().strip()
-+ dir = os.popen(ruby + " -rrbconfig -e 'puts \"%s\" % [].fill(RbConfig::CONFIG[\"archdir\"], 0..1)'").read().strip()
- conf.env["CPPPATH_ruby"] = [dir]
- conf.env["LINKFLAGS_ruby"] = '-L%s' % dir
-
-- if version == [1, 9]: # Ruby 1.9
-- hdir = os.popen(ruby + " -rrbconfig -e 'puts Config::CONFIG[\"rubyhdrdir\"]'").read().strip()
-+ if version >= [1, 9]: # Ruby 1.9
-+ hdir = os.popen(ruby + " -rrbconfig -e 'puts RbConfig::CONFIG[\"rubyhdrdir\"]'").read().strip()
- conf.env["CPPPATH_ruby"] += [hdir, os.path.join(hdir, "ruby")]
-- hdir = os.popen(ruby + " -rrbconfig -e 'puts File.join(Config::CONFIG[\"rubyhdrdir\"], Config::CONFIG[\"arch\"])'").read().strip()
-+ hdir = os.popen(ruby + " -rrbconfig -e 'puts File.join(RbConfig::CONFIG[\"rubyhdrdir\"], RbConfig::CONFIG[\"arch\"])'").read().strip()
- conf.env["CPPPATH_ruby"] += [hdir]
-
-- lib = os.popen(ruby + " -rrbconfig -e 'print Config::CONFIG[\"RUBY_SO_NAME\"]'").read().strip()
-+ lib = os.popen(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"RUBY_SO_NAME\"]'").read().strip()
-
- # Check for rb_protect_inspect for our inspect methods.
- test = conf.create(enumerator='function')
-@@ -86,7 +86,7 @@ def configure(conf):
- if test.run():
- conf.env['CCDEFINES_ruby'] = ['HAVE_PROTECT_INSPECT']
-
-- ldflags = os.popen(ruby + " -rrbconfig -e 'print Config::CONFIG[\"LDSHARED\"]'").read().strip()
-+ ldflags = os.popen(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"LDSHARED\"]'").read().strip()
+- archdir = Utils.cmd_output(ruby + " -rrbconfig -e 'puts \"%s\" % [].fill(Config::CONFIG[\"archdir\"], 0..1)'").strip()
++ archdir = Utils.cmd_output(ruby + " -rrbconfig -e 'puts \"%s\" % [].fill(RbConfig::CONFIG[\"archdir\"], 0..1)'").strip()
+ conf.env["CPPPATH_ruby"] = [archdir]
+ conf.env["LINKFLAGS_ruby"] = '-L%s' % archdir
+
+ if version >= (1, 9, 0):
+- incpaths = Utils.cmd_output(ruby + " -rrbconfig -e 'puts Config::CONFIG[\"rubyhdrdir\"]'").strip()
++ incpaths = Utils.cmd_output(ruby + " -rrbconfig -e 'puts RbConfig::CONFIG[\"rubyhdrdir\"]'").strip()
+ conf.env["CPPPATH_ruby"] += [incpaths]
+
+- incpaths = Utils.cmd_output(ruby + " -rrbconfig -e 'puts File.join(Config::CONFIG[\"rubyhdrdir\"], Config::CONFIG[\"arch\"])'").strip()
++ incpaths = Utils.cmd_output(ruby + " -rrbconfig -e 'puts File.join(RbConfig::CONFIG[\"rubyhdrdir\"], RbConfig::CONFIG[\"arch\"])'").strip()
+ conf.env["CPPPATH_ruby"] += [incpaths]
+
+- ldflags = Utils.cmd_output(ruby + " -rrbconfig -e 'print Config::CONFIG[\"LDSHARED\"]'").strip()
++ ldflags = Utils.cmd_output(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"LDSHARED\"]'").strip()
+
# ok this is really stupid, but the command and flags are combined.
# so we try to find the first argument...
- flags = ldflags.split()
-@@ -94,21 +94,21 @@ def configure(conf):
- flags = flags[1:]
- conf.env["LINKFLAGS_ruby"] += " "+" ".join(flags)
-
-- ldflags = os.popen(ruby + " -rrbconfig -e 'print Config::CONFIG[\"LIBS\"]'").read().strip()
-+ ldflags = os.popen(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"LIBS\"]'").read().strip()
- conf.env["LINKFLAGS_ruby"] += " "+ldflags
-- ldflags = os.popen(ruby + " -rrbconfig -e 'print Config::CONFIG[\"LIBRUBYARG_SHARED\"]'").read().strip()
-+ ldflags = os.popen(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"LIBRUBYARG_SHARED\"]'").read().strip()
- conf.env["LINKFLAGS_ruby"] += " "+ldflags
-
-- cflags = os.popen(ruby + " -rrbconfig -e 'print Config::CONFIG[\"CCDLFLAGS\"]'").read().strip()
-+ cflags = os.popen(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"CCDLFLAGS\"]'").read().strip()
+@@ -97,25 +97,25 @@ def check_ruby_ext_devel(conf):
+
+ conf.env["LINKFLAGS_ruby"] += " " + " ".join(flags)
+
+- ldflags = Utils.cmd_output(ruby + " -rrbconfig -e 'print Config::CONFIG[\"LIBS\"]'").strip()
++ ldflags = Utils.cmd_output(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"LIBS\"]'").strip()
+ conf.env["LINKFLAGS_ruby"] += " " + ldflags
+- ldflags = Utils.cmd_output(ruby + " -rrbconfig -e 'print Config::CONFIG[\"LIBRUBYARG_SHARED\"]'").strip()
++ ldflags = Utils.cmd_output(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"LIBRUBYARG_SHARED\"]'").strip()
+ conf.env["LINKFLAGS_ruby"] += " " + ldflags
+
+- cflags = Utils.cmd_output(ruby + " -rrbconfig -e 'print Config::CONFIG[\"CCDLFLAGS\"]'").strip()
++ cflags = Utils.cmd_output(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"CCDLFLAGS\"]'").strip()
conf.env["CCFLAGS_ruby"] = cflags
- if not Params.g_options.rubyarchdir:
-- conf.env["ARCHDIR_ruby"] = os.popen(ruby + " -rrbconfig -e 'print Config::CONFIG[\"sitearchdir\"]'").read().strip()
-+ conf.env["ARCHDIR_ruby"] = os.popen(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"sitearchdir\"]'").read().strip()
+ if Options.options.rubyarchdir:
+ conf.env["ARCHDIR_ruby"] = Options.options.rubyarchdir
else:
- conf.env["ARCHDIR_ruby"] = Params.g_options.rubyarchdir
+- conf.env["ARCHDIR_ruby"] = Utils.cmd_output(ruby + " -rrbconfig -e 'print Config::CONFIG[\"sitearchdir\"]'").strip()
++ conf.env["ARCHDIR_ruby"] = Utils.cmd_output(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"sitearchdir\"]'").strip()
- if not Params.g_options.rubylibdir:
-- conf.env["LIBDIR_ruby"] = os.popen(ruby + " -rrbconfig -e 'print Config::CONFIG[\"sitelibdir\"]'").read().strip()
-+ conf.env["LIBDIR_ruby"] = os.popen(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"sitelibdir\"]'").read().strip()
+ if Options.options.rubylibdir:
+ conf.env["LIBDIR_ruby"] = Options.options.rubylibdir
else:
- conf.env["LIBDIR_ruby"] = Params.g_options.rubylibdir
+- conf.env["LIBDIR_ruby"] = Utils.cmd_output(ruby + " -rrbconfig -e 'print Config::CONFIG[\"sitelibdir\"]'").strip()
++ conf.env["LIBDIR_ruby"] = Utils.cmd_output(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"sitelibdir\"]'").strip()
-@@ -123,7 +123,7 @@ def configure(conf):
- + 'ruby bindings to be installed to ' + conf.env['LIBDIR_ruby'])
+- conf.env['rubyext_PATTERN'] = '%s.' + Utils.cmd_output(ruby + " -rrbconfig -e 'print Config::CONFIG[\"DLEXT\"]'").strip()
++ conf.env['rubyext_PATTERN'] = '%s.' + Utils.cmd_output(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"DLEXT\"]'").strip()
- conf.env["rubyext_PREFIX"] = ''
-- conf.env["rubyext_SUFFIX"] = '.' + os.popen(ruby + " -rrbconfig -e 'print Config::CONFIG[\"DLEXT\"]'").read().strip()
-+ conf.env["rubyext_SUFFIX"] = '.' + os.popen(ruby + " -rrbconfig -e 'print RbConfig::CONFIG[\"DLEXT\"]'").read().strip()
- conf.env["rubyext_USELIB"] = "ruby"
- conf.env["rubyext_obj_ext"] = conf.env["shlib_obj_ext"]
+ return True
--- xmms2-0.2DrJekyll/src/clients/lib/ruby/rb_xmmsclient.c.orig 2023-05-14 19:24:29.670968613 +0200
+++ xmms2-0.2DrJekyll/src/clients/lib/ruby/rb_xmmsclient.c 2023-05-14 19:29:16.606080819 +0200
@@ -94,22 +83,19 @@
ret[i] = NULL;
} else {
---- xmms2-0.2DrJekyll/src/clients/lib/ruby/rb_playlist.c.orig 2007-05-20 17:55:40.000000000 +0200
-+++ xmms2-0.2DrJekyll/src/clients/lib/ruby/rb_playlist.c 2023-05-18 20:59:44.461066374 +0200
-@@ -301,10 +301,10 @@ c_sort (VALUE self, VALUE props)
- if (!NIL_P (props = rb_check_array_type (props))) {
- ary = RARRAY (props);
-
-- cprops = malloc (sizeof (char *) * (ary->len + 1));
-+ cprops = malloc (sizeof (char *) * (RARRAY_LEN(ary) + 1));
+@@ -1451,10 +1451,10 @@ parse_string_array2 (VALUE value)
+ struct RArray *ary = RARRAY (value);
+ int i;
-- for (i = 0; i < ary->len; i++)
-- cprops[i] = StringValuePtr (ary->ptr[i]);
-+ for (i = 0; i < RARRAY_LEN(ary); i++)
-+ cprops[i] = StringValuePtr (RARRAY_PTR(ary)[i]);
+- for (i = 0; i < ary->len; i++) {
++ for (i = 0; i < RARRAY_LEN(ary); i++) {
+ xmmsv_t *elem;
- cprops[i] = NULL;
- } else if (!NIL_P (rb_check_string_type (props))) {
+- elem = xmmsv_new_string (StringValuePtr (ary->ptr[i]));
++ elem = xmmsv_new_string (StringValuePtr (RARRAY_PTR(ary)[i]));
+ xmmsv_list_append (list, elem);
+ xmmsv_unref (elem);
+ }
--- xmms2-0.5DrLecter/src/clients/lib/ruby/rb_collection.c.orig 2008-06-15 19:31:38.000000000 +0200
+++ xmms2-0.5DrLecter/src/clients/lib/ruby/rb_collection.c 2023-05-21 15:05:06.452132360 +0200
@@ -241,10 +241,10 @@ c_coll_idlist_set (VALUE self, VALUE ids
diff --git a/xmms2-waf.patch b/xmms2-waf.patch
index cd626a3..91c4257 100644
--- a/xmms2-waf.patch
+++ b/xmms2-waf.patch
@@ -1,17 +1,6 @@
---- xmms2-0.2DrJekyll/src/xmms/wscript.orig 2007-05-20 17:55:40.000000000 +0200
-+++ xmms2-0.2DrJekyll/src/xmms/wscript 2023-05-15 20:02:20.740596198 +0200
-@@ -70,7 +70,7 @@ def configure(conf):
-
- # Check for the sin function in the math lib
- test = conf.create(enumerator='function')
-- test.function = 'sin'
-+ test.function = 'sinf'
- test.headers = ['math.h']
- test.libs = ['m']
- test.mandatory = 1
---- xmms2-0.5DrLecter/wscript.orig 2023-05-21 15:07:01.128177773 +0200
-+++ xmms2-0.5DrLecter/wscript 2023-05-21 15:45:58.645514355 +0200
-@@ -261,8 +261,6 @@ def configure(conf):
+--- xmms2-0.6DrMattDestruction/wscript.orig 2009-04-21 19:51:11.000000000 +0200
++++ xmms2-0.6DrMattDestruction/wscript 2023-05-22 10:12:54.089044360 +0200
+@@ -278,8 +278,6 @@ def configure(conf):
conf.check_message("uncommitted changes", "", bool(changed))
conf.env["VERSION"] = BASEVERSION + " (git commit: %s%s)" % (nam, dirty)
@@ -20,26 +9,15 @@
conf.env['XMMS_PKGCONF_FILES'] = []
conf.env['XMMS_OUTPUT_PLUGINS'] = [(-1, "NONE")]
-@@ -282,7 +282,7 @@ def configure(conf):
- conf.env['PKGCONFIGDIR'] = Params.g_options.pkgconfigdir
- print conf.env['PKGCONFIGDIR']
+@@ -297,7 +295,7 @@ def configure(conf):
+ conf.env['PKGCONFIGDIR'] = Options.options.pkgconfigdir
+ print(conf.env['PKGCONFIGDIR'])
else:
- conf.env['PKGCONFIGDIR'] = os.path.join(conf.env["PREFIX"], "lib", "pkgconfig")
+ conf.env['PKGCONFIGDIR'] = os.path.join(conf.env["LIBDIR"], "pkgconfig")
- if Params.g_options.config_prefix:
- for dir in Params.g_options.config_prefix:
---- xmms2-0.5DrLecter/waftools/pkgconfig.py.orig 2023-05-21 15:46:27.778689861 +0200
-+++ xmms2-0.5DrLecter/waftools/pkgconfig.py 2023-05-21 16:20:48.307527018 +0200
-@@ -20,7 +20,7 @@ class pkgcobj(copyobj):
- p = self.env["PREFIX"]
- val["PREFIX"] = p
- val["BINDIR"] = os.path.join("${prefix}", "bin")
-- val["LIBDIR"] = os.path.join("${prefix}", "lib")
-+ val["LIBDIR"] = self.env["LIBDIR"]
- val["INCLUDEDIR"] = os.path.join("${prefix}", "include", "xmms2")
- val["VERSION"] = self.env["VERSION"]
-
+ if Options.options.config_prefix:
+ for dir in Options.options.config_prefix:
--- xmms2-0.5DrLecter/src/include/xmms/wscript.orig 2023-05-21 15:46:27.778689861 +0200
+++ xmms2-0.5DrLecter/src/include/xmms/wscript 2023-05-21 16:22:50.510198323 +0200
@@ -12,8 +12,8 @@ def configure(conf):
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/xmms2.git/commitdiff/0ebba67d7bf12999715e94b23a5e492110b6dd1d
More information about the pld-cvs-commit
mailing list