354 lines
11 KiB
RPMSpec
354 lines
11 KiB
RPMSpec
#
|
|
# 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
|