From 82e194427eafac4e8f2d537db304e747c51a3a84 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 5 Jan 2024 19:46:21 +0100 Subject: [PATCH] add epoch to internal requires [release 0.8DrO_o-3mamba;Sat Sep 14 2013] --- README.md | 6 + xmms2-0.8DrO_o-cython-1.9.patch | 47 +++ xmms2-0.8DrO_o-libavcodec-ffmpeg-1.2.1.patch | 10 + xmms2-desktopfile | 55 ++++ xmms2.spec | 310 +++++++++++++++++++ 5 files changed, 428 insertions(+) create mode 100644 xmms2-0.8DrO_o-cython-1.9.patch create mode 100644 xmms2-0.8DrO_o-libavcodec-ffmpeg-1.2.1.patch create mode 100644 xmms2-desktopfile create mode 100644 xmms2.spec diff --git a/README.md b/README.md index 678dc4b..39d7243 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ # xmms2 +XMMS2 is an audio framework, but it is not a general multimedia player - it will not play videos. +It has a modular framework and plugin architecture for audio processing, visualisation and output, but this framework has not been designed to support video. +Also the client-server design of XMMS2 (and the daemon being independent of any graphics output) practically prevents direct video output being implemented. +It has support for a wide range of audio formats, which is expandable via plugins. +It includes a basic CLI interface to the XMMS2 framework, but most users will want to install a graphical XMMS2 client (such as gxmms2 or esperanza). + diff --git a/xmms2-0.8DrO_o-cython-1.9.patch b/xmms2-0.8DrO_o-cython-1.9.patch new file mode 100644 index 0000000..1d6e59f --- /dev/null +++ b/xmms2-0.8DrO_o-cython-1.9.patch @@ -0,0 +1,47 @@ +From 6d6d7a7ee38c8e3f57242f2510e06a03f4e7e249 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Mon, 5 Aug 2013 22:29:46 +0300 +Subject: [PATCH] unbreak xmms2 building on cython-0.19.1 + +Error compiling Cython file: +------------------------------------------------------------ +... + def medialib_path_import(self, path, cb = None, encoded=False): + """ + @deprecated + Use medialib_import_path(path, ...) instead + """ + return self.medialib_import_path(self, path, cb=cb, encoded=encoded) + ^ + +Reported-by: ChunFeng +Signed-off-by: Sergei Trofimovich +--- + src/clients/lib/python/xmmsapi.pyx | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/clients/lib/python/xmmsapi.pyx b/src/clients/lib/python/xmmsapi.pyx +index 501a068..863db88 100644 +--- a/src/clients/lib/python/xmmsapi.pyx ++++ b/src/clients/lib/python/xmmsapi.pyx +@@ -1364,7 +1364,7 @@ cdef class XmmsApi(XmmsCore): + @deprecated + Use medialib_import_path(path, ...) instead + """ +- return self.medialib_import_path(self, path, cb=cb, encoded=encoded) ++ return self.medialib_import_path(path, cb=cb, encoded=encoded) + + @deprecated + def medialib_path_import_encoded(self, path, cb = None): +@@ -1372,7 +1372,7 @@ cdef class XmmsApi(XmmsCore): + @deprecated + Use medialib_import_path(path, ..., encoded=True) instead + """ +- return self.medialib_import_path(self, path, cb=cb, encoded=True) ++ return self.medialib_import_path(path, cb=cb, encoded=True) + + cpdef XmmsResult medialib_property_set(self, int id, key, value, source=None, cb=None): + """ +-- +1.8.3.2 + diff --git a/xmms2-0.8DrO_o-libavcodec-ffmpeg-1.2.1.patch b/xmms2-0.8DrO_o-libavcodec-ffmpeg-1.2.1.patch new file mode 100644 index 0000000..390377c --- /dev/null +++ b/xmms2-0.8DrO_o-libavcodec-ffmpeg-1.2.1.patch @@ -0,0 +1,10 @@ +--- xmms2-0.8DrO_o/src/plugins/avcodec/avcodec.c.ffmpeg~ 2012-10-24 15:20:56.061916896 +0200 ++++ xmms2-0.8DrO_o/src/plugins/avcodec/avcodec.c 2012-10-24 15:21:36.710501841 +0200 +@@ -134,7 +134,6 @@ xmms_avcodec_init (xmms_xform_t *xform) + + xmms_xform_private_data_set (xform, data); + +- avcodec_init (); + avcodec_register_all (); + + mimetype = xmms_xform_indata_get_str (xform, diff --git a/xmms2-desktopfile b/xmms2-desktopfile new file mode 100644 index 0000000..70df345 --- /dev/null +++ b/xmms2-desktopfile @@ -0,0 +1,55 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Exec=xmms2 +Icon=xmms2 +Terminal=false +Name=Xmms2 +GenericName=Music Player +GenericName[bg]=Плеър за музикални файлове +GenericName[br]=C'hoarier ar sonerezh +GenericName[bs]=Sviranje muzike +GenericName[ca]=Reproductor musical +GenericName[cs]=Přehrávač hudby +GenericName[cy]=Chwaraewr Cerdd +GenericName[da]=Musikafspiller +GenericName[de]=Audio-Wiedergabe +GenericName[el]=Αναπαραγωγέας μουσικής +GenericName[es]=Reproductor de audio +GenericName[et]=Muusika mängija +GenericName[eu]=Musika erreproduzigailua +GenericName[fi]=Musiikkisoitin +GenericName[fr]=Lecteur multimédia +GenericName[ga]=Seinnteoir Ceoil +GenericName[he]=נגן מוזיקה +GenericName[hi]=म्यूज़िक प्लेयर +GenericName[hu]=Zenelejátszó +GenericName[is]=Tónlistarforrit +GenericName[it]=Lettore musicale +GenericName[ja]=ミュージックプレーヤ +GenericName[km]=កម្មវិធី​ចាក់​តន្ត្រី +GenericName[lt]=Muzikos grotuvas +GenericName[mk]=Изведувач на музика +GenericName[nb]=Musikkavspiller +GenericName[nl]=Muziekspeler +GenericName[nn]=Musikkspelar +GenericName[pa]=ਸੰਗੀਤ ਵਾਜਾ +GenericName[pl]=Odtwarzacz muzyki +GenericName[pt]=Leitor de Música +GenericName[pt_BR]=Músicas +GenericName[ro]=Program de redare muzică +GenericName[ru]=Проигрыватель +GenericName[sk]=Prehrávač hudby +GenericName[sl]=Glasbeni predvajalnik +GenericName[sr]=Музички плејер +GenericName[sr@Latn]=Muzički plejer +GenericName[sv]=Musikspelare +GenericName[ta]=இசை இயக்கி +GenericName[tg]=Бозингари Мусиқӣ +GenericName[tr]=Müzik Yürütücüsü +GenericName[uk]=Програвач музики +GenericName[uz]=Мусиқа плейер +GenericName[zh_CN]=音乐播放器 +GenericName[zh_HK]=音樂播放器 +MimeType= +Categories=Qt;KDE;AudioVideo; diff --git a/xmms2.spec b/xmms2.spec new file mode 100644 index 0000000..c3bda06 --- /dev/null +++ b/xmms2.spec @@ -0,0 +1,310 @@ +%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%{!?ruby_sitearch: %global ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"] ')} +%define majver %(echo %version | cut -d. -f 1-2) +%define minver %(echo %version | cut -d. -f 3) + +Name: xmms2 +Version: 0.8DrO_o +Epoch: 1 +Release: 3mamba +Summary: A multimedia player that has most of the features as WinAmp +Group: Graphical Desktop/Applications/Multimedia +Vendor: openmamba +Distribution: openmamba +Packager: Fabio Giani +URL: http://xmms2.xmms.se/ +Source0: http://downloads.sourceforge.net/project/xmms2/xmms2/%{majver}%20%{minver}/xmms2-%{majver}%{minver}.tar.bz2 +Source1: xmms2-desktopfile +Patch0: xmms2-0.8DrO_o-cython-1.9.patch +Patch1: xmms2-0.8DrO_o-libavcodec-ffmpeg-1.2.1.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libalsa-devel +BuildRequires: libao-devel +%if "%{stage1}" != "1" +BuildRequires: libavahi-devel +BuildRequires: libavahi-glib-devel +%endif +BuildRequires: libavcodec-ffmpeg-devel +BuildRequires: libcdio-devel +BuildRequires: libcurl-devel +BuildRequires: libdiscid-devel +BuildRequires: libecore-devel +BuildRequires: libeina-devel +BuildRequires: libexpat-devel +BuildRequires: libfaad2-devel +BuildRequires: libfftw-devel +BuildRequires: libflac-devel +BuildRequires: libgcc +BuildRequires: libglib-devel +%if "%{stage1}" != "1" +BuildRequires: libjack-devel +%endif +BuildRequires: libmad-devel +BuildRequires: libmms-devel +BuildRequires: libmodplug-devel +BuildRequires: libmpcdec-devel +BuildRequires: libofa-devel +BuildRequires: libogg-devel +BuildRequires: libopenssl-devel +BuildRequires: libpulseaudio-devel +BuildRequires: libpython27-devel +BuildRequires: libpython-devel +BuildRequires: libreadline-devel +BuildRequires: libsamplerate-devel +BuildRequires: libshout-devel +%if "%{stage1}" != "1" +BuildRequires: libsmbclient-devel +%endif +BuildRequires: libsndfile-devel +BuildRequires: libspeex-devel +BuildRequires: libsqlite-devel +BuildRequires: libstdc++6-devel +BuildRequires: libtheora-devel +BuildRequires: libvorbis-devel +BuildRequires: libvorbisidec-devel +BuildRequires: libwavpack-devel +BuildRequires: libxml2-devel +BuildRequires: mpg123-devel +BuildRequires: perl-devel +BuildRequires: perl-Glib +BuildRequires: ruby-devel +## AUTOBUILDREQ-END +BuildRequires: autoconf-archive +%if "%{stage1}" != "1" +BuildRequires: avahi-compat-libdns_sd-devel +BuildRequires: PyKDE4-devel +%ifarch %{ix86} +BuildRequires: cross-mingw32-toolchain +%endif +BuildRequires: lmms +BuildRequires: Pyrex +BuildRequires: perl-Glib +%endif +BuildRequires: doxygen +BuildRequires: gst-plugins-good-devel +BuildRequires: python-rhpl +BuildRequires: valgrind-devel +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +XMMS2 is an audio framework, but it is not a general multimedia player - it will not play videos. +It has a modular framework and plugin architecture for audio processing, visualisation and output, but this framework has not been designed to support video. +Also the client-server design of XMMS2 (and the daemon being independent of any graphics output) practically prevents direct video output being implemented. +It has support for a wide range of audio formats, which is expandable via plugins. +It includes a basic CLI interface to the XMMS2 framework, but most users will want to install a graphical XMMS2 client (such as gxmms2 or esperanza). + +%package -n libxmms2 +Summary: XMMS2 library files +Group: System/Libraries + +%description -n libxmms2 +XMMS2 is an audio framework, but it is not a general multimedia player - it will not play videos. +It has a modular framework and plugin architecture for audio processing, visualisation and output, but this framework has not been designed to support video. +Also the client-server design of XMMS2 (and the daemon being independent of any graphics output) practically prevents direct video output being implemented. +It has support for a wide range of audio formats, which is expandable via plugins. +It includes a basic CLI interface to the XMMS2 framework, but most users will want to install a graphical XMMS2 client (such as gxmms2 or esperanza). + +%package -n perl-xmms2 +Summary: XMMS2 perl binding +Group: System/Libraries/Perl +Requires: libxmms2 = %{?epoch:%epoch:}%{version}-%{release} + +%description -n perl-xmms2 +XMMS2 is an audio framework, but it is not a general multimedia player - it will not play videos. +It has a modular framework and plugin architecture for audio processing, visualisation and output, but this framework has not been designed to support video. +Also the client-server design of XMMS2 (and the daemon being independent of any graphics output) practically prevents direct video output being implemented. +It has support for a wide range of audio formats, which is expandable via plugins. +It includes a basic CLI interface to the XMMS2 framework, but most users will want to install a graphical XMMS2 client (such as gxmms2 or esperanza). +This package includes the perl binding to xmms2. + +%package -n libxmms2-devel +Summary: Devel package for XMMS2 +Group: Development/Libraries +Requires: libxmms2 = %{?epoch:%epoch:}%{version}-%{release} +Obsoletes: xmms2-devel +Provides: xmms2-devel + +%description -n libxmms2-devel +Development libraries and headers for XMMS2. You probably need this to develop or build new plugins for XMMS2. + +%prep +%setup -q -n %{name}-%{majver}%{minver} +%patch0 -p1 +%patch1 -p1 + +# This header doesn't need to be executable +chmod -x src/include/xmmsclient/xmmsclient++/dict.h + +## Clean up paths in wafadmin +#WAFADMIN_FILES=`find wafadmin/ -type f` +#for i in $WAFADMIN_FILES; do +#sed -i 's|/usr/lib|%{_libdir}|g' $i +#done +#sed -i 's|"lib"|"%{_lib}"|g' wscript + +%build +./waf configure \ + --prefix=%{_prefix} \ + --libdir=%{_libdir} \ + --with-ruby-libdir=%{ruby_sitearch} \ + --with-perl-archdir=%{perl_archlib} \ + --with-pkgconfigdir=%{_libdir}/pkgconfig + +# --with-libdir=%{_libdir} +./waf build +# make the docs +doxygen -u + +%install +[ "%{buildroot}" != / ] && rm -rf %{buildroot} + +export LIBDIR="%{_libdir}" +./waf install \ + --destdir=%{buildroot} \ + --prefix=%{_prefix} \ + --with-ruby-libdir=%{ruby_sitearch} \ + --with-perl-archdir=%{perl_archlib} \ + --with-pkgconfigdir=%{_libdir}/pkgconfig +# --with-libdir=%{_libdir} + +# exec flags for debuginfo +chmod +x %{buildroot}%{_libdir}/%{name}/* +chmod +x %{buildroot}%{_libdir}/libxmmsclient*.so* +chmod +x %{buildroot}%{perl_archlib}/auto/Audio/XMMSClient/XMMSClient.so +chmod +x %{buildroot}%{ruby_sitearch}/xmmsclient_*.so +%if "%{stage1}" != "1" +chmod +x %{buildroot}%{python_sitearch}/xmmsclient/xmmsapi.so \ +%endif + +## Convert to utf-8 +#for i in %{buildroot}%{_mandir}/man1/*.gz; do +#gunzip $i; +#done +#for i in %{buildroot}%{_mandir}/man1/*.1 ChangeLog; do +#iconv -o $i.iso88591 -f iso88591 -t utf8 $i +#mv $i.iso88591 $i +#done + +# create KDE menu link +install -D -m644 %{S:1} \ + %{buildroot}%{_datadir}/applications/xmms2.desktop + +#% find_lang %{name} + +%clean +[ "%{buildroot}" != / ] && rm -rf %{buildroot} + +%post -n libxmms2 -p /sbin/ldconfig +%postun -n libxmms2 -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%{_bindir}/%{name}* +#%{_bindir}/vistest* +%{_mandir}/man1/%{name}* +%{_datadir}/pixmaps/%{name}* +%{_datadir}/%{name} +%{_datadir}/applications/xmms2.desktop +%{python_sitearch}/xmmsclient/ +%{ruby_sitearch}/xmmsclient* +%{_bindir}/nyxmms2 +#%{_mandir}/man1/nyxmms2.* +%doc COPYING.GPL + +%files -n libxmms2 +%defattr(-,root,root) +%{_libdir}/libxmmsclient*.so.* +%dir %{_libdir}/%{name} +%{_libdir}/xmms2/libxmms_airplay.so +%{_libdir}/xmms2/libxmms_alsa.so +%{_libdir}/xmms2/libxmms_ao.so +%{_libdir}/xmms2/libxmms_apefile.so +%{_libdir}/xmms2/libxmms_asf.so +%{_libdir}/xmms2/libxmms_asx.so +%{_libdir}/xmms2/libxmms_avcodec.so +%{_libdir}/xmms2/libxmms_cdda.so +%{_libdir}/xmms2/libxmms_cue.so +%{_libdir}/xmms2/libxmms_curl.so +%{_libdir}/xmms2/libxmms_daap.so +%{_libdir}/xmms2/libxmms_diskwrite.so +%{_libdir}/xmms2/libxmms_equalizer.so +%{_libdir}/xmms2/libxmms_faad.so +%{_libdir}/xmms2/libxmms_file.so +%{_libdir}/xmms2/libxmms_flac.so +%{_libdir}/xmms2/libxmms_flv.so +%{_libdir}/xmms2/libxmms_gvfs.so +%{_libdir}/xmms2/libxmms_html.so +%{_libdir}/xmms2/libxmms_ices.so +%{_libdir}/xmms2/libxmms_icymetaint.so +%{_libdir}/xmms2/libxmms_id3v2.so +%{_libdir}/xmms2/libxmms_jack.so +%{_libdir}/xmms2/libxmms_karaoke.so +%{_libdir}/xmms2/libxmms_m3u.so +%{_libdir}/xmms2/libxmms_mad.so +%{_libdir}/xmms2/libxmms_mms.so +%{_libdir}/xmms2/libxmms_modplug.so +%{_libdir}/xmms2/libxmms_mp4.so +%{_libdir}/xmms2/libxmms_mpg123.so +%{_libdir}/xmms2/libxmms_musepack.so +%{_libdir}/xmms2/libxmms_normalize.so +%{_libdir}/xmms2/libxmms_null.so +%{_libdir}/xmms2/libxmms_nulstripper.so +%{_libdir}/xmms2/libxmms_ofa.so +%{_libdir}/xmms2/libxmms_oss.so +%{_libdir}/xmms2/libxmms_pls.so +%{_libdir}/xmms2/libxmms_pulse.so +%{_libdir}/xmms2/libxmms_replaygain.so +%{_libdir}/xmms2/libxmms_rss.so +%{_libdir}/xmms2/libxmms_samba.so +%{_libdir}/xmms2/libxmms_sndfile.so +%{_libdir}/xmms2/libxmms_speex.so +%{_libdir}/xmms2/libxmms_tremor.so +%{_libdir}/xmms2/libxmms_tta.so +%{_libdir}/xmms2/libxmms_vocoder.so +%{_libdir}/xmms2/libxmms_vorbis.so +%{_libdir}/xmms2/libxmms_wave.so +%{_libdir}/xmms2/libxmms_wavpack.so +%{_libdir}/xmms2/libxmms_xml.so +%{_libdir}/xmms2/libxmms_xspf.so +%doc AUTHORS COPYING COPYING.LGPL + +%files -n libxmms2-devel +%defattr(-,root,root) +%dir %{_includedir}/%{name} +%{_includedir}/%{name}/* +%{_libdir}/libxmmsclient*.so +%{_libdir}/pkgconfig/%{name}-*.pc +%doc README TODO + +%files -n perl-xmms2 +%defattr(-,root,root) +%{perl_archlib}/Audio/ +%{perl_archlib}/auto/Audio/ + +%changelog +* Sat Sep 14 2013 Silvan Calarco 0.8DrO_o-3mamba +- add epoch to internal requires + +* Sun Sep 08 2013 Silvan Calarco 0.8DrO_o-2mamba +- bump epoch up to allow upgrade after switching to upstream version scheme +- added patch to build against Cython 0.19 + +* Sun Dec 02 2012 Automatic Build System 0.8DrO_o-1mamba +- automatic version update by autodist + +* Thu Sep 06 2012 Silvan Calarco 0.8.DrO_o-1mamba +- update to 0.8.DrO_o + +* Tue Feb 15 2011 Silvan Calarco 0.7.DrNo-3mamba +- don't package libxmmsclient* both in xmms2 and libxmmsclient packages + +* Thu Jun 03 2010 Automatic Build System 0.7.DrNo-2mamba +- automatic rebuild by autodist + +* Sun May 30 2010 Silvan Calarco 0.7.DrNo-1mamba +- update to 0.7.DrNo + +* Fri Jan 22 2010 Fabio Giani 1.2.8-1qilnx +- first build