taglib/taglib.spec
Cristian Morales Vega da6c9807ec Accepting request 180469 from home:jirislaby:branches:multimedia:libs
- Added-check-if-file-is-open-before-attempting-to-rea.patch: Added check if file is open before attempting to read tags (bnc#826228)
- Fixed Urls in .spec

OBS-URL: https://build.opensuse.org/request/show/180469
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/taglib?expand=0&rev=58
2013-06-23 18:09:20 +00:00

202 lines
6.4 KiB
RPMSpec

#
# spec file for package taglib
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# 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/
#
Name: taglib
Version: 1.8
Release: 0
Summary: Audio Meta-Data Library
License: LGPL-2.1+ and MPL-1.1
Group: Productivity/Multimedia/Other
Url: http://taglib.github.io/
Source0: http://taglib.github.io/releases/taglib-%{version}.tar.gz
Source1: %{name}.desktop
Source100: baselibs.conf
# This patch is to fix bnc#814814.
Patch0: taglib-1.8-ds-rusxmms-r9.patch
Patch1: taglib-1.7.2-doxygen.patch
# PATCH-FIX-UPSTREAM taglib-1.8-version_fix.patch - fix version defines in taglib.h
Patch2: taglib-1.8-version_fix.patch
# Get example executables to build without rpath
Patch3: taglib-1.8-strip-rpath.patch
# PATCH-FIX-UPSTREAM Added-check-if-file-is-open-before-attempting-to-rea.patch
Patch4: Added-check-if-file-is-open-before-attempting-to-rea.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: graphviz-gnome
BuildRequires: libcppunit-devel
BuildRequires: pkg-config
%if 0%{?suse_version}
BuildRequires: update-desktop-files
%endif
BuildRequires: librcc-devel
BuildRequires: zlib-devel
# NOTE: The tagreader and writer executables give different results when built with
# an earlier taglib-1.8-ds-rusxmms patch. See bnc#814814
Requires: libtag1 = %{version}-%{release}
Requires: libtag_c0 = %{version}-%{release}
%description
TagLib is a library for reading and editing the meta-data of several popular
audio formats. Currently it supports both ID3v1 and ID3v2 for MP3 files, Ogg
Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC, Speex, WavPack
TrueAudio, WAV, AIFF, MP4 and ASF files.
This package contains built examples which manipulate tags from the
command line.
%package -n libtag1
Summary: Audio Meta-Data Library
License: LGPL-2.1+
Group: System/Libraries
# Without this the old taglib package containing the libraries isn't removed when this package is installed.
# The only alternative is for the libraries to Require: taglib version-release, badness 440
Conflicts: taglib <= 1.6.3
%description -n libtag1
TagLib is a library for reading and editing the meta-data of several popular
audio formats. Currently it supports both ID3v1 and ID3v2 for MP3 files, Ogg
Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC, Speex, WavPack
TrueAudio, WAV, AIFF, MP4 and ASF files.
%package -n libtag_c0
Summary: Audio Meta-Data Library
License: LGPL-2.1+
Group: System/Libraries
# Without this the old taglib package containing the libraries isn't removed when this package is installed.
# The only alternative is for the libraries to Require: taglib version-release, badness 440
Conflicts: taglib <= 1.6.3
%description -n libtag_c0
TagLib is a library for reading and editing the meta-data of several popular
audio formats. Currently it supports both ID3v1 and ID3v2 for MP3 files, Ogg
Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC, Speex, WavPack
TrueAudio, WAV, AIFF, MP4 and ASF files.
%package -n libtag-devel
Summary: Development files for taglib
License: LGPL-2.1+
Group: Development/Libraries/C and C++
Requires: libstdc++-devel
Requires: libtag1 = %{version}-%{release}
Requires: libtag_c0 = %{version}-%{release}
# taglib-devel was last used in openSUSE 11.4 (taglib-devel-1.6.2)
# The last taglib-devel used was version 1.6.3 from multimedia:libs.
Provides: taglib-devel = %{version}
Obsoletes: taglib-devel <= 1.6.3
%description -n libtag-devel
This package contains development files for taglib.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3
%patch4 -p1
%build
mkdir build
cd build
export CXXFLAGS="%{optflags} -D_GNU_SOURCE $(getconf LFS_CFLAGS)"
export CFLAGS="%{optflags} -D_GNU_SOURCE $(getconf LFS_CFLAGS)"
_libsuffix=$(echo %{_lib} | cut -b4-)
cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DBUILD_TESTS:BOOL=ON \
-DLIB_SUFFIX=$_libsuffix \
-DWITH_ASF:BOOL=ON \
-DWITH_MP4:BOOL=ON \
-DBUILD_EXAMPLES:BOOL=ON ..
make %{?_smp_mflags} VERBOSE=1
cd ..
doxygen -u
doxygen
%install
pushd build
make DESTDIR=%{buildroot} install
popd
# install susehelp file
mkdir -p %{buildroot}%{_datadir}/susehelp/meta/Development/Libraries/
install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/susehelp/meta/Development/Libraries/
%if 0%{?suse_version}
%suse_update_desktop_file %{buildroot}%{_datadir}/susehelp/meta/Development/Libraries/%{name}.desktop
%endif
# Documentation
mkdir -p %{buildroot}%{_defaultdocdir}/libtag-devel
rm -f examples/CMake*
cp -a AUTHORS COPYING.LGPL COPYING.MPL NEWS doc/html/ examples/ %{buildroot}%{_defaultdocdir}/libtag-devel/
%fdupes -s %{buildroot}
# Add built examples to taglib package.
mkdir -p %{buildroot}%{_bindir}
for i in `find build/examples -maxdepth 1 ! -type d -executable`; do cp -v ${i} %{buildroot}%{_bindir}/; done
%check
# check the library
#pushd tests
#make check
#popd
%clean
%{?buildroot:%__rm -rf "%{buildroot}"}
%post -n libtag1 -p /sbin/ldconfig
%postun -n libtag1 -p /sbin/ldconfig
%post -n libtag_c0 -p /sbin/ldconfig
%postun -n libtag_c0 -p /sbin/ldconfig
%files -n libtag1
%defattr(-,root,root,-)
%{_libdir}/libtag.so.1
%{_libdir}/libtag.so.1.*
%files -n libtag_c0
%defattr(-,root,root,-)
%{_libdir}/libtag_c.so.0
%{_libdir}/libtag_c.so.0.*
%files -n libtag-devel
%defattr(-,root,root,-)
%doc %{_defaultdocdir}/libtag-devel
%{_bindir}/taglib-config
%{_includedir}/taglib/
%{_libdir}/libtag*.so
%{_libdir}/pkgconfig/*.pc
%{_datadir}/susehelp/
%files
%defattr(-,root,root,-)
%if 1 == 1
%{_bindir}/*
%exclude %{_bindir}/taglib-config
%else
%doc README.taglib
%endif
%changelog