taglib/taglib.spec
Tomáš Chvátal c055049137 Accepting request 713478 from home:StefanBruens:branches:openSUSE:Factory
- Split API documentation from devel package, and convert it to multibuild
  - API documentation is significantly larger than library and headers
  - API documentation is noarch
  - Significantly reduced dependency chain for the library package
- Use graphviz-gd instead of graphviz-gnome for API docs
- Cleanup specfile
- Update to 1.11.2~git20190601, which fixes a regression when reading/
  writing MP4 "rate" tags.
- Use proper package version, matching the header file version macros
- Upstream changes:
  * Respect atom type when converting rate tag (#896)
  * Support ID3v2 GRP1 frame introduced with iTunes 12.5.4.42, #903. (#904)
  * Update mp4properties.cpp (#893)
  * Minor fix for mp4 media header v0 minimum size check (#895)
- Update to 1.11.1+git20181028 and add taglib-versionbump.patch to
  enable qt5 clementine to build with system taglib.
- Removed incorporated taglib-CVE-2017-12678.patch,
  taglib-CVE-2018-11439.patch and taglib-fix-ogg.patch.
- Upstream changes:
  *Added support for DSF and DSDIFF files.
  *Added support for WinRT.
  *Added support for classical music tags of iTunes 12.5.
  *Added support for file descriptor to FileStream.
  *Added support for 'cmID', 'purl', 'egid' MP4 atoms.
  *Enabled FileRef to detect file types based on the stream content.
  *Check for mandatory header objects in ASF files.
  *Fixed OOB read on invalid Ogg FLAC files (CVE-2018-11439).
  *Fixed handling of empty MPEG files.
  *Fixed reading MP4 atoms with zero length.
  *Fixed reading FLAC files with zero-sized seektables.
  *Fixed handling of lowercase field names in Vorbis Comments.
  *Fixed handling of 'rate' atoms in MP4 files.
  *Fixed handling of invalid UTF-8 sequences.
  *Fixed possible file corruptions when saving Ogg files.
  *TableOfContentsFrame::toString() improved.
  *UserTextIdentificationFrame::toString() improved.
  *Marked FileRef::create() deprecated.
  *Several smaller bug fixes and performance improvements.
- Add patch to fix Ogg corruption:
  * taglib-fix-ogg.patch
- Added taglib-CVE-2018-11439.patch: Fix an out-of-bounds read when loading
  invalid ogg flac files (CVE-2018-11439, bsc#1096180). 
- Applied spec-cleaner to specfile
- Cleanup bit with spec-cleaner
- Drop librcc dependency as there is no actual code dependency in taglib
- Update to versio 1.11.1:
  * Fixed binary incompatible change in TagLib::String.
  * Fixed reading ID3v2 CTOC frames with a lot of entries.
  * Fixed seeking ByteVectorStream from the end.
- Prevent denial of service (bsc#1052699, CVE-2017-12678,
  taglib-CVE-2017-12678.patch).
- Update to 1.11
  * Fixed reading APE items with long keys.
  * Fixed reading ID3v2 SYLT frames when description is empty.
  1.11 BETA 2:
  * Better handling of PCM WAV files with a 'fact' chunk.
  * Better handling of corrupted APE tags.
  * Efficient decoding of unsynchronized ID3v2 frames.
  * Fixed text encoding when saving certain frames in ID3v2.3
    tags.
  * Fixed updating the size of RIFF files when removing chunks.
  * Several smaller bug fixes and performance improvements.
  1.11 BETA:
  * New API for creating FileRef from IOStream.
  * Added support for ID3v2 PCST and WFED frames.
  * Added support for pictures in XiphComment.
  * Added String::clear().
  * Added FLAC::File::strip() for removing non-standard tags.
  * Added alternative functions to XiphComment::removeField().
  * Added BUILD_BINDINGS build option.
  * Added ENABLE_CCACHE build option.
  * Replaced ENABLE_STATIC build option with BUILD_SHARED_LIBS.
  * Better handling of duplicate ID3v2 tags in all kinds of
    files.
  * Better handling of duplicate tag chunks in WAV files.
  * Better handling of duplicate tag chunks in AIFF files.
  * Better handling of duplicate Vorbis comment blocks in FLAC
    files.
  * Better handling of broken MPEG audio frames.
  * Fixed crash when calling File::properties() after strip().
  * Fixed crash when parsing certain MPEG files.
  * Fixed crash when saving Ogg files.
  * Fixed possible file corruptions when saving ASF files.
  * Fixed possible file corruptions when saving FLAC files.
  * Fixed possible file corruptions when saving MP4 files.
  * Fixed possible file corruptions when saving MPEG files.
  * Fixed possible file corruptions when saving APE files.
  * Fixed possible file corruptions when saving Musepack files.
  * Fixed possible file corruptions when saving WavPack files.
  * Fixed updating the comment field of Vorbis comments.
  * Fixed reading date and time in ID3v2.3 tags.
  * Marked ByteVector::null and ByteVector::isNull()
    deprecated.
  * Marked String::null and String::isNull() deprecated.
  * Marked XiphComment::removeField() deprecated.
  * Marked Ogg::Page::getCopyWithNewPageSequenceNumber()
    deprecated. It returns null.
  * Marked custom integer types deprecated.
  * Many smaller bug fixes and performance improvements.
- Fix build in SLE_11 by disabling post-install
- Cleanup spec file with spec-cleaner
- Use cmake macros
- Update to 1.10
  * New API for the audio length in milliseconds.
  * Added new options to the tagwriter example.
  * Added support for ID3v2 ETCO and SYLT frames.
  * Added support for album artist in PropertyMap API of MP4 files.
  * Added support for embedded frames in ID3v2 CHAP and CTOC 
    frames.
  * Added support for AIFF-C files.
  * Better handling of duplicate ID3v2 tags in MPEG files.
  * Allowed generating taglib.pc on Windows.
  * Added ZLIB_SOURCE build option.
  * Fixed backwards-incompatible change in TagLib::String when 
    constructing UTF16 strings.
  * Fixed crash when parsing certain FLAC files.
  * Fixed crash when encoding empty strings.
  * Fixed saving of certain XM files on OS X.
  * Changed Xiph and APE generic getters to return 
    space-concatenated values.
  * Fixed possible file corruptions when removing tags from WAV 
    files.
  * Added support for MP4 files with 64-bit atoms in certain 64-bit 
    environments.
  * Prevented ID3v2 padding from being too large.
  * Fixed crash when parsing corrupted APE files.
  * Fixed crash when parsing corrupted WAV files.
  * Fixed crash when parsing corrupted Ogg FLAC files.
  * Fixed crash when parsing corrupted MPEG files.
  * Fixed saving empty tags in WAV files.
  * Fixed crash when parsing corrupted Musepack files.
  * Fixed possible memory leaks when parsing AIFF and WAV files.
  * Fixed crash when parsing corrupted MP4 files.
  * Stopped writing empty ID3v2 frames.
  * Fixed possible file corruptions when saving WMA files.
  * Added TagLib::MP4::Tag::isEmpty().
  * Added accessors to manipulate MP4 tags.
  * Fixed crash when parsing corrupted WavPack files.
  * Fixed seeking MPEG frames.
  * Fixed reading FLAC files with zero-sized padding blocks.
  * Added support for reading the encoder information of WMA files.
  * Added support for reading the codec of WAV files.
  * Added support for multi channel WavPack files.
  * Added support for reading the nominal bitrate of Ogg Speex 
    files.
  * Added support for VBR headers in MPEG files.
  * Marked FLAC::File::streamInfoData() deprecated. It returns an 
    empty ByteVector.
  * Marked FLAC::File::streamLength() deprecated. It returns zero.
  * Fixed possible file corruptions when adding an ID3v1 tag to 
    FLAC files.
  * Fixed self-assignment operator in some types.
  * Fixed extraction of MP4 tag keys with an empty list.
	* Many smaller bug fixes and performance improvements.
- Drop no longer needed patches:
  * taglib-1.7.2-doxygen.patch
  * taglib-1.8-strip-rpath.patch
  * taglib-1.9.1.uint.patch
- BuildRequire cmake >= 2.8
- Fix build error in 11.4
  taglib-1.9.1.uint.patch
- Update to 1.9.1
  * Fixed binary incompatible change in TagLib::Map and TagLib::List.
  * Fixed constructing String from ByteVector.
  * Fixed compilation on MSVC with the /Zc:wchar_t- option.
  * Fixed detecting of RIFF files with invalid chunk sizes.
  * Added TagLib::MP4::PropertyMap::codec().
- Update to 1.9
  * Added support for the Ogg Opus file format.
  * Added support for INFO tags in WAV files.
  * Changed FileStream to use Windows file API.
  * Included taglib-config.cmd script for Windows.
  * New ID3v1::Tag methods for working directly with
    genre numbers.
  * New MPEG::File methods for checking which tags are saved in
    the file.
  * Added support for the PropertyMap API to ASF and MP4 files.
  * Added MusicBrainz identifiers to the PropertyMap API.
  * Allowed reading of MP4 cover art without an explicitly
    specified format.
  * Better parsing of corrupted FLAC files.
  * Fixed saving of PropertyMap comments without description
    into ID3v2 tags.
  * Fixed crash when parsing certain XM files.
  * Fixed compilation of unit test with clang.
  * Better handling of files that can't be open or have
    read-only permissions.
  * Improved atomic reference counting.
  * New hookable API for debug messages.
  * More complete Windows install instructions.
  * Many smaller bug fixes and performance improvements.
- Dropped taglib-1.8-ds-rusxmms-r9.patch, not required anymore
- Dropped Added-check-if-file-is-open-before-attempting-to-rea.patch
  and taglib-1.8-version_fix.patch, merged upstream
- 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
- JUst like the rest of the system, taglib has to be built
  with LFS support/ 64bit off_t in 32 bit archs.
- Added taglib-1.8-ds-rusxmms-r9.patch and deleted
  taglib-1.8-ds-rusxmms-r8.patch to fix the reopened bnc#814814
- Added taglib-1.8-ds-rusxmms-r8.patch which fixes bnc#814814
- Removed old taglib-1.8-ds-rusxmms-r4.patch
- Incorporated updated taglib-1.8-ds-rusxmms-r4.patch see bnc#814814
- Added built binary examples which manipulate tags from the command line
  to enable easier testing of libtag. These are in the taglib rpm.
- Created taglib-1.8-strip-rpath.patch to remove rpath from binaries.
- Replace taglib-1.6-ds-rusxmms.patch with
  taglib-1.8-ds-rusxmms-r2.patch: Update rusxmms patch to also work
  with non-Russian locale (bnc#780256).
- Update rusxmms patch to version taglib-1.8-ds-rusxmms-r2 in order to fix bnc#780256
- update license to new format
- Add patch taglib-1.8-version_fix.patch: fix version defines
  in taglib.h
- Update to 1.8
  * Added support for OWNE ID3 frames.
  * Changed key validation in the new PropertyMap API.
  * ID3v1::Tag::setStringHandler will no londer delete the previous handler, the caller is responsible for this.
  * File objects will also no longer delete the passed IOStream objects. It should be done in the caller code after the File object is no longer used.
  * Added ID3v2::Tag::setLatin1StringHandler for custom handling of latin1-encoded text in ID3v2 frames.
  * Fixed validation of ID3v2 frame IDs (IDs with ‘0’ were ignored).
  * New API for accessing tags by name.
  * New abstract I/O stream layer to allow custom I/O handlers.
  * Support for writing ID3v2.3 tags.
  * Support for various module file formats (MOD, S3M, IT, XM).
  * Support for MP4 and ASF is now enabled by default.
  * Started using atomic int operations for reference counting.
  * Added methods for checking if WMA and MP4 files are DRM-protected.
  * Added taglib_free to the C bindings.
  * New method to allow removing pictures from FLAC files.
  * Support for reading audio properties from ALAC and Musepack SV8 files.
  * Added replay-gain information to Musepack audio properties.
  * Support for APEv2 binary tags.
  * Many AudioProperties subclasses now provide information about the total number of samples.
  * Various small bug fixes.
- Drop taglib-noansiflags.patch (no longer relevant)
-Update to 1.7.2:
 * Fixed division by zero while parsing corrupted MP4 files (CVE-2012-2396).
 * Fixed compilation on Haiku.
 * Improved parsing of corrupted WMA, RIFF and OGG files.
 * Fixed a memory leak in the WMA parser.
 * Fixed a memory leak in the FLAC parser.
 * Fixed a possible division by zero in the APE parser.
 * Added detection of TTA2 files.
 * Fixed saving of multiple identically named tags to Vorbis Comments.
-Fixed a build failure related to doxygen.
- Also, define GNU_SOURCE
- No dont use -ansi gcc flag.
- Add rusxmms patch to be fixed https://features.opensuse.org/313273
- Made taglib become a package again to satisfy the depencies of
  packages that still require it.
- Conflict the last version of taglib that contained the libraries
  from the library subpackages.
- Make sure the devel package obsoletes the last version of
  taglib-devel where the main package contained the libraries.
- taglib is the name of the srcrpm, moved docs to devel subpackage.
- obsolete the right version of taglib
- make taglib become a package again, that has only one duty, to require
  libtag1 and libtag_c0 for packages that still require taglib instead of
  the new package names libtag1 and libtag_c0
- Update to version 1.7:
  * Fixed memory leaks in the FLAC file format parser.
  * Fixed bitrate calculation for WAV files.
  From 1.7 RC1
  * Support for reading/writing tags from Monkey's Audio files. (BUG:210404)
  * Support for reading/writing embedded pictures from WMA files.
  * Support for reading/writing embedded pictures from FLAC files (BUG:218696).
  * Implemented APE::Tag::isEmpty() to check for all APE tags, not just the
    basic ones.
  * Added reading of WAV audio length. (BUG:116033)
  * Exposed FLAC MD5 signature of the uncompressed audio stream via
    FLAC::Properties::signature(). (BUG:160172)
  * Added function ByteVector::toHex() for hex-encoding of byte vectors.
  * WavPack reader now tries to get the audio length by finding the final
    block, if the header doesn't have the information. (BUG:258016)
  * Fixed a memory leak in the ID3v2.2 PIC frame parser. (BUG:257007)
  * Fixed writing of RIFF files with even chunk sizes. (BUG:243954)
  * Fixed compilation on MSVC 2010.
  * Removed support for building using autoconf/automake.
  * API docs can be now built using "make docs".
- Spec file updates:
  * Changes based on openSUSE shared library packaging policy (added libtag1,
    libtag_c0 and libtag-devel packages, removed taglib and taglib-devel
    packages).
  * Changes based on spec-cleaner run.
  * Changed License: to LGPLv2.1+ ; MPLv1.1 ..
  * Updates in Group, Summary and %description entries.
  * Added libcppunit-devel and pkg-config in BuildRequires.
  * Minor other updates.
- Updated taglib.desktop for susehelp to point to libtag-devel.
- update to version 1.6.3
  * Fixed definitions of the TAGLIB_WITH_MP4 and TAGLIB_WITH_ASF macros.
  * Fixed upgrading of ID3v2.3 genre frame with ID3v1 code 0 (Blues).
  * New method `int String::toInt(bool *ok)` which can return whether the conversion to a number was successful.
  * Fixed parsing of incorrectly written lengths in ID3v2 (affects mainly compressed frames).
- update to version 1.6.2
  * Read Vorbis Comments from the first FLAC metadata block,
    if there are multipe ones.
  * Fixed a memory leak in FileRef's OGA format detection.
  * Fixed compilation with the Sun Studio compiler.
  * Handle WM/TrackNumber attributes with DWORD content in WMA files.
  * More strict check if something is a valid MP4 file.
  * Correctly save MP4 int-pair atoms with flags set to 0.
  * Fixed compilation of the test runner on Windows.
  * Store ASF attributes larger than 64k in the metadata library object.
  * Ignore trailing non-data atoms when parsing MP4 covr atoms.
  * Don't upgrade ID3v2.2 frame TDA to TDRC.
- Package baselibs.conf
- Update to version 1.6.1
 * Better detection of the audio codec of .oga files in FileRef.
 * Fixed saving of Vorbis comments to Ogg FLAC files. TagLib tried to
   include the Vorbis framing bit, which is only correct for Ogg Vorbis.
 * Public symbols now have explicitly set visibility to "default" on GCC.
 * Added missing exports for static ID3v1 functions.
 * Fixed a typo in taglib_c.pc
 * Fixed a failing test on ppc64.
 * Support for binary 'covr' atom in MP4 files. TagLib 1.6 treated them
   as text atoms, which corrupted them in some cases.
 * Fixed ID3v1-style genre to string conversion in MP4 files.
- Update to version 1.6
  * New CMake option to build a static version - ENABLE_STATIC.
  * Added support for disabling dllimport/dllexport on Windows
    using the TAGLIB_STATIC macro.
  * Support for parsing the obsolete 'gnre' MP4 atom.
  * New cpp macros TAGLIB_WITH_MP4 and TAGLIB_WITH_ASF to determine
    if TagLib was built with MP4/ASF support.
  * Split Ogg packets larger than 64k into multiple pages.
  * TagLib can now use FLAC padding block.
  * ID3v2.2 frames are now not incorrectly saved.
  * Support for ID3v2.2 PIC frames.
  * Fixed a bug in ByteVectorList::split().
  * XiphComment::year() now falls back to YEAR if DATE doesn't exist
    and XiphComment::year() falls back to TRACKNUM if TRACKNUMBER
    doesn't exist.
  * Improved ID3v2.3 genre parsing.
  * Better checking of corrupted ID3v2 APIC data.
  * Bitrate calculating using the Xing header now uses floating
    point numbers.
  * New TagLib::String method rfind().
  * Added support for MP4 file format with iTunes-style metadata
  * Added support for ASF (WMA) file format.
  * Fixed crash when saving a Locator APEv2 tag.
  * Fixed a possible crash in the non-const version of String::operator[]
    and in String::operator+=.
  * Added support for PRIV ID3v2 frames.
  * Empty ID3v2 genres are no longer treated as numeric ID3v1 genres.
  * Added support for the POPM (rating/playcount) ID3v2 frame.
  * Generic RIFF file format support:
    * Support for AIFF files with ID3v2 tags.
    * Support for WAV files with ID3v2 tags.
  * Fixed crash on handling unsupported ID3v2 frames, e.g. on encrypted
    frames.
  * Fixed overflow while calculating bitrate of FLAC files with a very
    high bitrate
- fix build with new cmake
- obsolete old -XXbit packages (bnc#437293)
- fix build for older distros
- added baselibs.conf file to build xxbit packages
  for multilib support
- build using Cmake
- update to version 1.5
	*  Support for Mac OS X and Microsoft Windows
    * Distributed under the MPL (in addition to the previous LGPL license)
    * Added support for Speex files
    * Added support for TrueAudio files
    * Added support for WavPack files
    * Added support for ID3v2 general encapsulated object frames
    * Added support for ID3v2 unsynchronized lyrics frames
    * Added support for ID3v2 URL frames
    * Propper exports of all public classes / functions
    * Updated the APE::Item API to work with value lists
    * Added support to the FileRef class for new Xiph (Ogg) extensions
    * Made the samples per frame for MPEG headers accessible
    * Made MP3 Xing headers accessible
    * Prevent invalid encodings from being written to ID3v1 tags
    * Non-Latin1 ID3v2 text frames are automatically converted to UTF-8 on write (if they are not explicitly set to UTF-16)
    * Added support for reading ID3v2.2/3 unsynchronized tags
    * Made it possible to search for ID3v2 comment frames by description
    * Fixed a number of bugs in ID3v2 relative volume adjustment reading and writing
    * Added work arounds for iTunes writing invalid ID3v2 frame lengths
    * Added work arounds for iTunes not being able to correctly parse numerical ID3v2 genres
    * Added work arounds for iTunes putting non-text information in ID3v2 comment frames
    * Added a function to export strings to std::wstring
    * Added a function to check ASCII compatibility of strings
    * Added a function to check Latin1 compatibility of strings
- fixed gcc4.3 build
- fix more issues:
  - this package does NOT require libjpeg-devel for build
  - after adding missing zlib-devel on BuildRequires in the
    previous checkin, libtool archives causes bloat.
- run ldconfig instead of using deprecated macro
- move the docs to the devel packages
- use fdupes to avoid duplicate files
- run make check in the check section
- fix build with automake 1.10
- fix include's in installed headers
- fix build
- build parallel
- converted neededforbuild to BuildRequires
- added fontconfig to nfb
- make devel package require base package
- fix filelist
- don't package empty TODO file
- update to version 1.4
- update to version 1.3.1
  * 64bit OGG/Vorbis file lenght fixes
  * crash fixes with broken mp3 files
- fix susehelp entry for API documentation
- update to version 1.3
  * support for AOE tags and MPC files
  * compressed ID3v2 frame support
  * several checks for SIGFPE
- update to version 1.2
  * flac in ogg support
  * support for relativ volume adjustement
  * support for attached picture
- update to version 1.1
  * bugfixes
  * some more supported tag types
  * speed improvements
- update to version 1.0 final
- generate and install API documentation
- update to version 0.96 (beta 2)
- update to current HEAD, to get kdemultimedia compiling again
- package also taglib_c.so
- update to version 0.95 (beta 1)
- initial package from kdeextragear-2/taglib snapshot

OBS-URL: https://build.opensuse.org/request/show/713478
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/taglib?expand=0&rev=84
2019-07-08 08:49:52 +00:00

206 lines
5.9 KiB
RPMSpec

#
# spec file for package taglib
#
# Copyright (c) 2019 SUSE LINUX 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 https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%global sname taglib
%if "%{flavor}" != ""
%global pname %{sname}-%{flavor}
%else
%global pname %{sname}
%endif
%if "%{flavor}" == ""
%bcond_without tests
%bcond_without examples
%else
%bcond_with tests
%bcond_with examples
%endif
%define rev ba7adc2bc261ed634c2a964185bcffb9365ad2f4
Name: %{pname}
Version: 1.11.2~git20190601
Release: 0
Summary: Audio Meta-Data Library
License: LGPL-2.1-or-later AND MPL-1.1
Group: Productivity/Multimedia/Other
URL: http://taglib.github.io/
Source0: https://github.com/taglib/taglib/archive/%{rev}.tar.gz#/%{sname}-%{version}.tar.gz
#Source0: http://taglib.github.io/releases/%%{sname}-%%{version}.tar.gz
Source1: %{sname}.desktop
Source100: baselibs.conf
Patch0: taglib-versionbump.patch
BuildRequires: cmake >= 2.8
BuildRequires: fdupes
BuildRequires: gcc-c++
%if "%{flavor}" == "doc"
BuildRequires: doxygen
BuildRequires: ghostscript-fonts-std
BuildRequires: graphviz-gd
BuildRequires: update-desktop-files
%else
BuildRequires: libcppunit-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(zlib)
%endif
# 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.
%if "%{flavor}" == ""
%package -n libtag1
Summary: Audio Meta-Data Library
License: LGPL-2.1-or-later
Group: System/Libraries
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-or-later
Group: System/Libraries
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-or-later
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.
%else
%package -n libtag-doc
Summary: API documentation for taglib
License: LGPL-2.1-or-later
Group: Documentation/HTML
BuildArch: noarch
%description -n libtag-doc
This package contains the taglib API Documentation in HTML format.
%endif
%prep
%setup -q -n %{sname}-%{rev}
%patch0 -p0
%build
%cmake \
-DBUILD_TESTS:BOOL=%{?with_tests:ON}%{?without_tests:OFF} \
-DWITH_ASF:BOOL=ON \
-DWITH_MP4:BOOL=ON \
-DBUILD_EXAMPLES:BOOL=%{?with_examples:ON}%{?without_examples:OFF}
%if "%{flavor}" == "doc"
%cmake_build docs
%else
%cmake_build all
%endif
%install
%if "%{flavor}" == "doc"
# install susehelp file
mkdir -p %{buildroot}%{_datadir}/susehelp/meta/Development/Libraries/
install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/susehelp/meta/Development/Libraries/
%suse_update_desktop_file %{buildroot}%{_datadir}/susehelp/meta/Development/Libraries/%{sname}.desktop
# Documentation
mkdir -p %{buildroot}%{_defaultdocdir}/libtag-doc
# Copy manually, otherwise fdupes does not work
cp -a build/doc/html/ %{buildroot}%{_defaultdocdir}/libtag-doc/
%else
%cmake_install all
# Add built examples to taglib package.
mkdir -p %{buildroot}%{_bindir}
find build/examples -maxdepth 1 ! -type d -executable -exec cp -v \{\} %{buildroot}%{_bindir} \;
%endif
%fdupes %{buildroot}
%if "%{flavor}" == ""
%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
%{_libdir}/libtag.so.1
%{_libdir}/libtag.so.1.*
%files -n libtag_c0
%{_libdir}/libtag_c.so.0
%{_libdir}/libtag_c.so.0.*
%files -n libtag-devel
%{_bindir}/taglib-config
%{_includedir}/taglib/
%{_libdir}/libtag*.so
%{_libdir}/pkgconfig/*.pc
%files
%license COPYING.LGPL COPYING.MPL
%{_bindir}/*
%exclude %{_bindir}/taglib-config
%else
%post
%desktop_database_post
%postun
%desktop_database_postun
%files -n libtag-doc
%doc AUTHORS NEWS examples
%{_docdir}/libtag-doc/html
%{_datadir}/susehelp/
%endif
%changelog