# # spec file for package xmms2 # # Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} %{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} # these macros are not defined under < 11.4, which ruby is 1.8- %{!?rb_sitelibdir: %global rb_sitelibdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')} %{!?rb_sitearchdir: %global rb_sitearchdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')} Name: xmms2 Version: 0.9.3+g52.xa9cd41b Release: 0 Summary: A modular audio framework and plugin architecture License: LGPL-2.1+ and GPL-2.0+ and BSD-3-Clause Group: Productivity/Multimedia/Sound/Players URL: https://github.com/xmms2 Source: %name-%version.tar.xz Source1: xmms2-client-launcher.sh Source2: README.SUSE Source3: %name-ripper.1 Patch4: %name-0.8-rpath.patch Patch6: %name-0.8-spelling-error.patch Patch9: %name-0.8-linker-flags.patch Patch10: %name-0.8-fix-cast-error.patch Patch13: xmms2-pkgconfig.patch Patch14: %name-0.8-fixwarnings.patch BuildRequires: c++_compiler BuildRequires: doxygen BuildRequires: flex BuildRequires: lcov BuildRequires: libmpcdec-devel BuildRequires: make BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(ao) BuildRequires: pkgconfig(avahi-client) BuildRequires: pkgconfig(avahi-glib) BuildRequires: pkgconfig(fftw3) BuildRequires: pkgconfig(flac) BuildRequires: pkgconfig(fluidsynth) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(jack) BuildRequires: ffmpeg-6-libavcodec-devel BuildRequires: pkgconfig(libcdio_cdda) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libdiscid) BuildRequires: pkgconfig(libgme) BuildRequires: pkgconfig(libmms) BuildRequires: pkgconfig(libmodplug) BuildRequires: pkgconfig(libmpg123) BuildRequires: pkgconfig(libofa) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libvisual-0.4) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(mad) BuildRequires: pkgconfig(ogg) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(opus) BuildRequires: pkgconfig(opusfile) BuildRequires: pkgconfig(samplerate) BuildRequires: pkgconfig(sdl) BuildRequires: pkgconfig(shout) BuildRequires: pkgconfig(smbclient) BuildRequires: pkgconfig(sndfile) BuildRequires: pkgconfig(speex) BuildRequires: pkgconfig(vorbis) BuildRequires: pkgconfig(vorbisenc) BuildRequires: pkgconfig(vorbisfile) BuildRequires: pkgconfig(wavpack) BuildRequires: python3-base BuildRequires: sqlite3 Requires: %name-plugin-base %ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 BuildRequires: valgrind-devel %endif %if %{with restricted} BuildRequires: libfaad-devel %endif %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 libxmmsclient++-glib1 Summary: Glib C++ client library for %name License: LGPL-2.1+ and GPL-2.0+ and BSD-3-Clause Group: Productivity/Multimedia/Sound/Players %description -n libxmmsclient++-glib1 A simple glib c++ client library for XMMS2. %package -n libxmmsclient-glib1 Summary: Glib Client library for %name License: LGPL-2.1+ and GPL-2.0+ and BSD-3-Clause Group: Productivity/Multimedia/Sound/Players %description -n libxmmsclient-glib1 A simple Glib client library for XMMS2. %package -n libxmmsclient6 Summary: Client library for %name License: LGPL-2.1+ and GPL-2.0+ and BSD-3-Clause Group: Productivity/Multimedia/Sound/Players %description -n libxmmsclient6 A simple client library for XMMS2. %package devel Summary: Development libraries and headers for XMMS2 License: LGPL-2.1+ and GPL-2.0+ and BSD-3-Clause Group: Development/Libraries/C and C++ Requires: %name = %version %if 0%{?suse_version} > 1325 Requires: libboost_headers-devel %else Requires: boost-devel %endif Requires: libxmmsclient++-glib1 Requires: libxmmsclient-glib1 Requires: libxmmsclient6 Requires: pkgconfig Requires: pkgconfig(glib-2.0) %description devel Development libraries and headers for XMMS2. You probably need this to develop or build new plugins for XMMS2. %package doc Summary: Development documentation for XMMS2 License: LGPL-2.1+ and GPL-2.0+ and BSD-3-Clause Group: Documentation/HTML BuildArch: noarch %description doc API documentation for the XMMS2 modular audio framework architecture. %package -n python-xmms2 Summary: Python support for XMMS2 License: LGPL-2.1+ and GPL-2.0+ and BSD-3-Clause Group: Development/Languages/Python Requires: %name = %version Requires: python %description -n python-xmms2 Python bindings for XMMS2. %package perl Summary: Perl support for XMMS2 License: GPL-1.0-or-later or Artistic-1.0 Group: Development/Languages/Perl Requires: %name = %version Requires: perl-base %description perl Perl bindings for XMMS2. %package ruby Summary: Ruby support for XMMS2 License: GPL-1.0-or-later or Artistic-1.0 Group: Development/Languages/Ruby Requires: %name = %version Requires: ruby >= 1.8 %description ruby Ruby bindings for XMMS2. %package plugin-base Summary: Base plugins for %name License: GPL-1.0-or-later or Artistic-1.0 Group: Productivity/Multimedia/Sound/Players Requires: %name = %version %description plugin-base Contains some basic plugins for XMMS2. %package plugin-extended Summary: All plugins for %name License: GPL-1.0-or-later or Artistic-1.0 Group: Productivity/Multimedia/Sound/Players Requires: %name-plugin-base = %version %description plugin-extended Installs every plugin. %prep %autosetup -p1 %build cp %SOURCE2 . export CFLAGS="%optflags -fno-strict-aliasing" export CXXFLAGS="%optflags -fno-strict-aliasing" python3 waf configure \ --prefix="%_prefix" \ --libdir="%_libdir" \ --with-perl-archdir="%perl_archlib" \ --with-ruby-archdir="%rb_sitearchdir" \ --with-ruby-libdir="%rb_sitelibdir" \ --with-pkgconfigdir="%_libdir/pkgconfig" python3 waf build -v %{?_smp_mflags} doxygen %install python3 waf install \ --destdir="%buildroot" \ --prefix="%_prefix" \ --libdir="%_libdir" \ --with-ruby-archdir="%rb_sitearchdir" \ --with-ruby-libdir="%rb_sitelibdir" \ --with-perl-archdir="%perl_archlib" \ --with-pkgconfigdir="%_libdir/pkgconfig" # Convert to utf-8 #for i in %buildroot%_mandir/man1/*.gz; do # gunzip $i; #done #for i in %buildroot%_mandir/man1/*.1; do # iconv -o $i.iso88591 -f iso88591 -t utf8 $i # mv $i.iso88591 $i #done #install -m0755 %SOURCE1 %buildroot%_bindir #the libraries are built as 64bit, they are just installed in the wrong dir #%if "%_lib" == "lib64" #mv %buildroot%_libexecdir/* %buildroot/%_libdir/ #mv %buildroot/%_libdir/perl* %buildroot%_libexecdir/ #%endif # #cp %SOURCE3 %buildroot/%_mandir/man1/ #%fdupes %buildroot %ldconfig_scriptlets -n libxmmsclient++-glib1 %ldconfig_scriptlets -n libxmmsclient-glib1 %ldconfig_scriptlets -n libxmmsclient6 %files %_bindir/*xmms* %_mandir/man1/*.1* %_datadir/pixmaps/* %_datadir/%name/ %dir %_libdir/%name/ %_libdir/xmms2/libxmms_ao.so %_libdir/xmms2/libxmms_apefile.so %_libdir/xmms2/libxmms_asf.so %_libdir/xmms2/libxmms_asx.so %_libdir/xmms2/libxmms_cue.so %_libdir/xmms2/libxmms_diskwrite.so %_libdir/xmms2/libxmms_file.so %_libdir/xmms2/libxmms_flv.so %_libdir/xmms2/libxmms_html.so %_libdir/xmms2/libxmms_icymetaint.so %_libdir/xmms2/libxmms_id3v2.so %_libdir/xmms2/libxmms_karaoke.so %_libdir/xmms2/libxmms_m3u.so %_libdir/xmms2/libxmms_mp4.so %_libdir/xmms2/libxmms_normalize.so %_libdir/xmms2/libxmms_null.so %_libdir/xmms2/libxmms_nulstripper.so %_libdir/xmms2/libxmms_oss.so %_libdir/xmms2/libxmms_pls.so %_libdir/xmms2/libxmms_tta.so %_libdir/xmms2/libxmms_wave.so %license COPYING COPYING.GPL COPYING.LGPL %doc README.mdown README.SUSE %files -n libxmmsclient++-glib1 %_libdir/libxmmsclient++-glib.so.1* %files -n libxmmsclient-glib1 %_libdir/libxmmsclient-glib.so.1* %files -n libxmmsclient6 %_libdir/libxmmsclient.so.6* %files devel %_includedir/%name/ %_libdir/libxmmsclient*.so %_libdir/pkgconfig/*.pc %files doc %doc doc/xmms2/html %if 0 #%files perl #%perl_archlib/Audio/ #%perl_archlib/auto/Audio/ # #%files -n python-xmms2 #%dir %python_sitearch/xmmsclient/ #%python_sitearch/xmmsclient/* # #%files ruby #%rb_sitearchdir/*.so #%rb_sitelibdir/xmmsclient #%rb_sitelibdir/xmmsclient.rb %endif %files plugin-base %_libdir/xmms2/libxmms_alsa.so %_libdir/xmms2/libxmms_avcodec.so %_libdir/xmms2/libxmms_curl.so %_libdir/xmms2/libxmms_flac.so %_libdir/xmms2/libxmms_gvfs.so %_libdir/xmms2/libxmms_modplug.so %_libdir/xmms2/libxmms_mpg123.so %_libdir/xmms2/libxmms_opus.so %_libdir/xmms2/libxmms_pulse.so %_libdir/xmms2/libxmms_speex.so %_libdir/xmms2/libxmms_vorbis.so %files plugin-extended %_libdir/xmms2/libxmms_airplay.so %_libdir/xmms2/libxmms_cdda.so %_libdir/xmms2/libxmms_daap.so %_libdir/xmms2/libxmms_fluidsynth.so %_libdir/xmms2/libxmms_gme.so %_libdir/xmms2/libxmms_ices.so %_libdir/xmms2/libxmms_jack.so %_libdir/xmms2/libxmms_mad.so %_libdir/xmms2/libxmms_mid1.so %_libdir/xmms2/libxmms_midsquash.so %_libdir/xmms2/libxmms_mms.so %_libdir/xmms2/libxmms_musepack.so %_libdir/xmms2/libxmms_ofa.so %_libdir/xmms2/libxmms_rss.so %_libdir/xmms2/libxmms_samba.so %_libdir/xmms2/libxmms_sndfile.so %_libdir/xmms2/libxmms_vocoder.so %_libdir/xmms2/libxmms_wavpack.so %_libdir/xmms2/libxmms_xml.so %_libdir/xmms2/libxmms_xspf.so %changelog