xmms2/xmms2.spec

311 lines
10 KiB
RPMSpec

%{!?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 <fabio.giani@gmail.com>
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 <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