xmms2/xmms2.spec

290 lines
10 KiB
RPMSpec

%{!?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.9.4
Epoch: 1
Release: 1mamba
Summary: A multimedia player that has most of the features as WinAmp
Group: Graphical Desktop/Applications/Multimedia
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://github.com/xmms2/xmms2-devel
Source0: https://github.com/xmms2/xmms2-devel.git/%{version}/xmms2-devel-%{version}.tar.bz2
#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
Patch2: xmms2-0.8DrO_o-ffmpeg-2.2.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libalsa-devel
BuildRequires: libao-devel
BuildRequires: libavahi-devel
BuildRequires: libavahi-glib-devel
BuildRequires: libavcodec-devel
BuildRequires: libcdio-devel
BuildRequires: libcdio-paranoia-devel
BuildRequires: libcurl-devel
BuildRequires: libdiscid-devel
BuildRequires: libefl-devel
BuildRequires: libexpat-devel
BuildRequires: libfaad2-devel
BuildRequires: libfftw-devel
BuildRequires: libflac-devel
BuildRequires: libfluidsynth-devel
BuildRequires: libgcc
BuildRequires: libglib-devel
BuildRequires: libgme-devel
BuildRequires: libgnutls-devel
BuildRequires: libicu-devel
BuildRequires: libjack-devel
BuildRequires: libmad-devel
BuildRequires: libmms-devel
BuildRequires: libmodplug-devel
BuildRequires: libmpg123-devel
BuildRequires: libmusepack-devel
BuildRequires: libnettle-devel
BuildRequires: libofa-devel
BuildRequires: libogg-devel
BuildRequires: libopenssl-devel
BuildRequires: libopus-devel
BuildRequires: libopusfile-devel
BuildRequires: libperl
BuildRequires: libpulseaudio-devel
BuildRequires: libreadline-devel
BuildRequires: libruby-devel
BuildRequires: libsamplerate-devel
BuildRequires: libshout-devel
BuildRequires: libsmbclient-devel
BuildRequires: libsndfile-devel
BuildRequires: libspeex-devel
BuildRequires: libsqlite-devel
BuildRequires: libstdc++6-devel
BuildRequires: libunwind-devel
BuildRequires: libvorbis-devel
BuildRequires: libvorbisidec-devel
BuildRequires: libwavpack-devel
BuildRequires: libxml2-devel
BuildRequires: perl-Glib
BuildRequires: perl-Scalar-List-Utils
BuildRequires: perl-devel
## AUTOBUILDREQ-END
BuildRequires: autoconf-archive
%if "%{stage1}" != "1"
BuildRequires: avahi-compat-libdns_sd-devel
#%ifarch %{ix86}
#BuildRequires: cross-mingw32-toolchain
#%endif
BuildRequires: lmms
BuildRequires: Pyrex
BuildRequires: perl >= 2:5.36.0
BuildRequires: perl-Glib
%endif
BuildRequires: doxygen
#BuildRequires: gst-plugins-good-devel
#BuildRequires: python-rhpl
BuildRequires: valgrind-devel
%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}
Provides: xmms2-devel
Obsoletes: xmms2-devel < 1:0.9.1
%description -n libxmms2-devel
Development libraries and headers for XMMS2. You probably need this to develop or build new plugins for XMMS2.
%debug_package
%prep
%setup -q -n %{name}-devel-%{version}
#%patch0 -p1
#%patch1 -p1
#%patch2 -p1
# This header doesn't need to be executable
chmod -x src/include/xmmsclient/xmmsclient++/dict.h
sed -i '$a#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 /* 1 second of 48kHz 32bit audio */' src/plugins/avcodec/avcodec_compat.h
sed -i 's,#include <cdio/cdda.h>,#include <cdio/paranoia/cdda.h>,' src/plugins/cdda/cdda.c
sed -i 's,libsmbclient.h,samba-4.0/libsmbclient.h,' src/plugins/samba/{samba.c,wscript}
## 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
export LIBDIR="%{_libdir}"
./waf configure \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--with-ruby-libdir=%{ruby_sitearch} \
--with-perl-archdir=%{perl_archlib} \
--with-pkgconfigdir=%{_libdir}/pkgconfig \
--without-optionals=python
# --with-libdir=%{_libdir}
./waf build
# make the docs
doxygen -u
%install
[ "%{buildroot}" != / ] && rm -rf %{buildroot}
export LIBDIR="%{_libdir}"
./waf install \
--destdir=%{buildroot}
# 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}
%files
%defattr(-,root,root)
%{_bindir}/%{name}*
%{_bindir}/_xmms2-migrate-collections-v0
%{_bindir}/s4
%{_bindir}/sqlite2s4
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/*
%{_datadir}/applications/xmms2.desktop
%{_mandir}/man1/%{name}*
%{_datadir}/pixmaps/%{name}*
%{ruby_sitearch}/xmmsclient*
#%{python_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_*.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
%files -n perl-xmms2
%defattr(-,root,root)
%{perl_archlib}/Audio/
%{perl_archlib}/auto/Audio/
%changelog
* Sat Oct 12 2024 Automatic Build System <autodist@openmamba.org> 0.9.4-1mamba
- automatic version update by autodist
* Sat May 13 2023 Automatic Build System <autodist@mambasoft.it> 0.9.3-1mamba
- automatic version update by autodist
* Wed Apr 19 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 0.9.2-2mamba
- rebuilt with perl 5.36.0
* Mon Feb 13 2023 Automatic Build System <autodist@mambasoft.it> 0.9.2-1mamba
- automatic version update by autodist
* Sun May 08 2022 Automatic Build System <autodist@mambasoft.it> 0.9.1-1mamba
- automatic version update by autodist
* Sat Oct 17 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 0.8DrO_o.20201017git-1mamba
- update to 0.8DrO_o.20201017git
* Sat Oct 17 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 0.8DrO_o-5mamba
- rebuilt
* Thu May 15 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 0.8DrO_o-4mamba
- ffmpeg 2.2 rebuild
* Sat Sep 14 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 0.8DrO_o-3mamba
- add epoch to internal requires
* Sun Sep 08 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 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 <autodist@mambasoft.it> 0.8DrO_o-1mamba
- automatic version update by autodist
* Thu Sep 06 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 0.8.DrO_o-1mamba
- update to 0.8.DrO_o
* Tue Feb 15 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 0.7.DrNo-3mamba
- don't package libxmmsclient* both in xmms2 and libxmmsclient packages
* Thu Jun 03 2010 Automatic Build System <autodist@mambasoft.it> 0.7.DrNo-2mamba
- automatic rebuild by autodist
* Sun May 30 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 0.7.DrNo-1mamba
- update to 0.7.DrNo
* Fri Jan 22 2010 Fabio Giani <fabio.giani@gmail.com> 1.2.8-1qilnx
- first build