File libtunepimp5.spec of Package libtunepimp5

# norootforbuild

%define soname		5

%if %{?_with_perl:1}0
%define with_perl 1
%endif

%if %suse_version >= 1030 || %suse_version < 1020
Name:				libtunepimp%{soname}
%else
Name:				libtunepimp
%endif
Version:			0.5.3
Release:			999.pm.999.2
Summary:			Library that Provides Access to the MusicBrainz Server
# http://ftp.musicbrainz.org/pub/musicbrainz/libtunepimp-%{version}.tar.gz
Source:			libtunepimp-%{version}.tar.bz2
Patch1:			libtunepimp-plugins-5.diff
Patch2:			libtunepimp-acinclude.diff
Patch3:			libtunepimp-fixes.patch
Patch4:			libtunepimp-ltdl.patch
Patch5:         libtunepimp-upgrade_mp4.patch
Patch6:         libtunepimp-r12183.patch
Patch7:         libtunepimp-fix_const_fileio_cpp.patch
Patch8:         mp4v2-1.9.patch
URL:				http://www.musicbrainz.org
Group:			System/Libraries
License:			GNU Library General Public License version 2 (LGPL 2)
BuildRoot:		%{_tmppath}/build-%{name}-%{version}
BuildRequires:	libmusicbrainz-devel flac-devel 
#mpeg4ip
BuildRequires:	libogg-devel libvorbis-devel libmad-devel
%if %suse_version >= 1030
# workaround for broken lbuild
BuildRequires:	libreadline5
%endif
BuildRequires:	ncurses-devel readline-devel zlib-devel
BuildRequires:	taglib-devel libmp4v2-devel libofa-devel
%if %suse_version < 1020
BuildRequires:	taglib
%endif
BuildRequires:	openssl-devel fftw3-devel curl-devel
%if %suse_version >= 1020
BuildRequires:	libmpcdec-devel
%else
BuildRequires:	libmpcdec
%endif
%if %suse_version >= 1030
BuildRequires:	libexpat-devel
%else
BuildRequires:	expat
%endif
BuildRequires:	gcc-c++ libstdc++-devel make glibc-devel
BuildRequires:	python python-devel
BuildRequires:	autoconf automake libtool
Provides:       trm = %{version}
Obsoletes:		trm < %{version}
Provides:		libtunepimp05 = %{version}
Obsoletes:		libtunepimp05 < %{version}
%if %suse_version >= 1020 && %suse_version < 1030
Provides:		libtunepimp%{soname} = %{version}-%{release}
%endif

%description
MusicBrainz is the second generation incarnation of the CD Index. This
server is designed to enable Audio CD and MP3/Vorbis players to
download metadata about the music they are playing.

%package -n libtunepimp-devel
Summary:			Include Files and Libraries mandatory for Development
Group:			Development/Libraries/C and C++
Requires:		%{name} = %{version}-%{release}
Provides:		libtunepimp%{soname}-devel = %{version}-%{release}

%description -n libtunepimp-devel
This package contains all necessary include files and libraries needed
to develop applications that require these.

%package -n python-libtunepimp
Summary:			Python Bindings for %{name}
Requires:		%{name} = %{version}-%{release}
Group:			Development/Libraries/Python
Provides:		libtunepimp-python = %{version}-%{release}
Provides:		python-libtunepimp%{soname} = %{version}-%{release}
%if 0%{?suse_version} < 1120
%define python_sitelib %{py_sitedir}
%endif
%py_requires

%description -n python-libtunepimp
MusicBrainz is the second generation incarnation of the CD Index. This
server is designed to enable Audio CD and MP3/Vorbis players to
download metadata about the music they are playing.

This package contains bindings for the Python language.

%package mad
Summary:			MP3 Support Plugin for %{name}
Requires:		%{name} = %{version}-%{release}
Group:			System/Libraries
%if %suse_version >= 1020 && %suse_version < 1030
Provides:		libtunepimp%{soname}-mad = %{version}-%{release}
%else
Provides:		libtunepimp-mad = %{version}-%{release}
%endif
Provides:		libtunepimp%{soname}-mp3 = %{version}-%{release}
Provides:		libtunepimp-mp3 = %{version}-%{release}

%description mad
This package adds MP3 support to libtunepimp

%package mp4
Summary:       MP4 Support Plugin for %{name}
Group:         System/Libraries
Requires:      %{name} = %{version}-%{release}
%if %suse_version >= 1020 && %suse_version < 1030
Provides:		libtunepimp%{soname}-mp4 = %{version}-%{release}
%else
Provides:		libtunepimp-mp4 = %{version}-%{release}
%endif

%description mp4
This package adds MP4 support for libtunepimp, using the libmp4v2 library.

%if %{?with_perl:1}0
%package -n perl-libtunepimp
Summary:       Perl Bindings for %{name}
Group:         Development/Libraries/Perl
Requires:      %{name} = %{version}-%{release}
Provides:      libtunepimp-perl = %{version}-%{release}
Provides:      libtunepimp%{soname}-perl = %{version}-%{release}
Provides:		perl-libtunepimp%{soname} = %{version}-%{release}

%description -n perl-libtunepimp
Provides Perl bindings for %{name}.
%endif

%if %suse_version >= 1030
%package -n libtunepimp
%else
%package -n libtunepimp-tools
%endif
Summary:			Command-Line Tools that use %{name}
Group:			Productivity/Multimedia/Sound/Utilities
Requires:		%{name} = %{version}-%{release}
%if %suse_version >= 1030
Provides:		libtunepimp-tools = %{version}-%{release}
%else
Provides:		libtunepimp%{soname}-tools = %{version}-%{release}
%endif

%if %suse_version >= 1030
%description -n libtunepimp
%else
%description -n libtunepimp-tools
%endif
Command-line tools for %{name}.

%prep
%setup -q -n "libtunepimp-%{version}"
%if %suse_version < 1030
%patch1
%endif
%patch2
%patch3 -p1
%patch4
#%patch5
%patch6 -p1
%patch7
%patch8 -p1

%build
autoreconf -fiv

# Aliasing problems in mp4.cpp:
export CXXFLAGS="%{optflags} -fno-strict-aliasing"
%configure
%__make %{?jobs:-j%{jobs}}

pushd python
CFLAGS="%{optflags}" %__python ./setup.py build
popd #python

%if %{?with_perl:1}0
pushd perl/tunepimp-perl
%__perl Makefile.PL PREFIX="%{_prefix}"
%__make %{?jobs:-j%{jobs}}
popd
%endif

%install
%makeinstall

pushd python
%__python ./setup.py install --prefix="%{_prefix}" --root="%{buildroot}"
popd #python

%if %{?with_perl:1}0
pushd perl/tunepimp-perl
%perl_make_install
%perl_process_packlist
popd #perl/tunepimp-perl
%endif

%post -n %{name} -p /sbin/ldconfig

%postun -n %{name} -p /sbin/ldconfig

%clean
%__rm -rf "%{buildroot}"

%files
%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING README README.LGPL TODO
%{_libdir}/libtunepimp.so.%{soname}
%{_libdir}/libtunepimp.so.%{soname}.*
# only explicitly check for the exact directory name
# here (to make sure we don't inadvertisedly use
# libdir/libtunepimp5 on openSUSE 10.3); for the other
# files that follow, just use a * to avoid duplicating
# all lines for 10.3 and !=10.3
%if %suse_version >= 1030
%dir %{_libdir}/tunepimp
%else
%dir %{_libdir}/tunepimp%{soname}
%endif
%dir %{_libdir}/tunepimp*/plugins
%{_libdir}/tunepimp*/plugins/flac.tpp
%{_libdir}/tunepimp*/plugins/mpc.tpp
%{_libdir}/tunepimp*/plugins/vorbis.tpp
%{_libdir}/tunepimp*/plugins/wav.tpp
%{_libdir}/tunepimp*/plugins/wma.tpp
%{_libdir}/tunepimp*/plugins/speex.tpp
%{_libdir}/tunepimp*/plugins/tta.tpp
%{_libdir}/tunepimp*/plugins/wv.tpp

%files mad
%defattr(-,root,root)
%{_libdir}/tunepimp*/plugins/mp3.tpp

%files mp4
%defattr(-,root,root)
%{_libdir}/tunepimp*/plugins/mp4.tpp

%files -n libtunepimp-devel
%defattr(-,root,root)
%doc examples/Makefile* examples/*c
%{_includedir}/tunepimp*
%{_libdir}/libtunepimp.so
%{_libdir}/libtunepimp.la
%{_libdir}/libtunepimp.a

%files -n python-libtunepimp
%defattr(-,root,root)
%{python_sitelib}/tunepimp
%if %suse_version >= 1020
%{python_sitelib}/tunepimp-%{version}-py%{py_ver}.egg-info
%endif

%if %{?with_perl:1}0
%files -n perl-libtunepimp
%defattr(-,root,root)
%dir %{perl_vendorarch}/MusicBrainz
%dir %{perl_vendorarch}/MusicBrainz/Tunepimp
%{perl_vendorarch}/MusicBrainz/Tunepimp/*
%dir %{perl_vendorarch}/auto/MusicBrainz
%dir %{perl_vendorarch}/auto/MusicBrainz/Tunepimp
%{perl_vendorarch}/auto/MusicBrainz/Tunepimp/tunepimp
%doc %{_mandir}/man3/MusicBrainz::Tunepimp::tunepimp.%{perl_man3ext}*
/var/adm/perl-modules/%{name}
%endif

%if %suse_version >= 1030
%files -n libtunepimp
%else
%files -n libtunepimp-tools
%endif
%defattr(-,root,root)
%{_bindir}/puid

%changelog
* Tue Aug 27 2013 Wolfgang Bauer <wbauer@tmo.at>
- fix build with libmp4v2-2

* Wed Nov 16 2011 Wolfgang Bauer <wbauer@tmo.at>
- fix build with newer curl

* Mon Apr 04 2011 Wolfgang Bauer <wbauer@tmo.at>
- fix build on 11.4
- remove mpeg4ip BuildRequires

* Sat Oct 03 2009 Pascal Bleser <pascal.bleser@opensuse.org> 0.5.3-999.pm.10
- add patch to build against newer libmp4v2
- add patch from trunk/upcoming 0.5.4: Write valid ISO 8601 dates to Vorbis comments (#2315)

* Sat Apr 26 2008 Pascal Bleser <guru@unixtech.be> 0.5.3-100.pm.8 
- added patches from Factory to build against 11.0

* Mon Oct 22 2007 Pascal Bleser <guru@unixtech.be> 0.5.3-100.pm.7
- fixed MPC/MP4 support

* Thu Oct 11 2007 Pascal Bleser <guru@unixtech.be> 0.5.3-100.pm.6
- fixed build on 10.3

* Mon Oct  8 2007 Pascal Bleser <guru@unixtech.be> 0.5.3-100.pm.5
- added lots of provides and requires, different naming scheme to better suit
  the bizarre way some openSUSE developers think the new Shared Library Policy
  is supposed to work

* Wed Sep 12 2007 Pascal Bleser <guru@unixtech.be> 0.5.3-100.pm.3 
- use autoreconf instead of libtool, autoconf, ...
- moved autoreconf and configure to build stage
- fixed wrong plugin directory

* Sat Sep  8 2007 Pascal Bleser <guru@unixtech.be> 0.5.3-100.pm.2
- added libtunepimp5-* Provides to force the major version as a dependency on dump build systems

* Tue Sep  4 2007 Pascal Bleser <guru@unixtech.be> 0.5.3-100.pm.1
- added -fno-strict-aliasing to CXXFLAGS
- added ldconfig

* Sat Sep  1 2007 Pascal Bleser <guru@unixtech.be> 0.5.3-100.pm.0
- openSUSE shared library policy
- moved to Packman

* Thu Dec  7 2006 Pascal Bleser <guru@unixtech.be> 0.5.3-1
- new upstream version

* Mon Oct 30 2006 Pascal Bleser <guru@unixtech.be> 0.5.2-1
- mp4 support as a separate package
- add perl bindings
- new upstream version

* Thu Mar 16 2006 Pascal Bleser <guru@unixtech.be> 0.5.0-1
- added python bindings
- named libtunepimp05 to avoid runtime conflicts with libtunepimp (have different sonames)
- new upstream version
- rewrote spec file

* Sun Nov  6 2005 Pascal Bleser <guru@unixtech.be> 0.3.0-12
- mad subpackage on >= SUSE 9.3
- integrated SUSE 10.0 patches (plugin)
- rewrote spec file

* Sun Feb 20 2005 Pascal Bleser <guru@unixtech.be> 0.3.0-10
- new package, based on SUSE 9.2's

# Local Variables:
# mode: rpm-spec
# tab-width: 3
# End:
openSUSE Build Service is sponsored by