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
This commit is contained in:
Tomáš Chvátal 2019-07-08 08:49:52 +00:00 committed by Git OBS Bridge
parent 628957ab59
commit c055049137
3 changed files with 86 additions and 26 deletions

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>doc</package>
</multibuild>

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Thu Jul 4 18:04:10 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- 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
-------------------------------------------------------------------
Sun Jun 2 12:06:18 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>

View File

@ -16,29 +16,50 @@
#
%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: taglib
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#/%{name}-%{version}.tar.gz
#Source0: http://taglib.github.io/releases/%%{name}-%%{version}.tar.gz
Source1: %{name}.desktop
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: doxygen
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: graphviz-gnome
%if "%{flavor}" == "doc"
BuildRequires: doxygen
BuildRequires: ghostscript-fonts-std
BuildRequires: graphviz-gd
BuildRequires: update-desktop-files
%else
BuildRequires: libcppunit-devel
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
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}
@ -52,6 +73,7 @@ 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
@ -91,44 +113,58 @@ 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 %{name}-%{rev}
%setup -q -n %{sname}-%{rev}
%patch0 -p0
%build
%cmake \
-DBUILD_TESTS:BOOL=ON \
-DBUILD_TESTS:BOOL=%{?with_tests:ON}%{?without_tests:OFF} \
-DWITH_ASF:BOOL=ON \
-DWITH_MP4:BOOL=ON \
-DBUILD_EXAMPLES:BOOL=ON
make %{?_smp_mflags} all docs
-DBUILD_EXAMPLES:BOOL=%{?with_examples:ON}%{?without_examples:OFF}
%if "%{flavor}" == "doc"
%cmake_build docs
%else
%cmake_build all
%endif
%install
%cmake_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/%{name}.desktop
%suse_update_desktop_file %{buildroot}%{_datadir}/susehelp/meta/Development/Libraries/%{sname}.desktop
# Documentation
mkdir -p %{buildroot}%{_defaultdocdir}/libtag-devel
rm -f examples/CMake*
cp -a AUTHORS NEWS build/doc/html/ examples/ %{buildroot}%{_defaultdocdir}/libtag-devel/
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}
for i in `find build/examples -maxdepth 1 ! -type d -executable`; do cp -v ${i} %{buildroot}%{_bindir}/; done
find build/examples -maxdepth 1 ! -type d -executable -exec cp -v \{\} %{buildroot}%{_bindir} \;
%endif
%fdupes %{buildroot}
%post
%desktop_database_post
%postun
%desktop_database_postun
%if "%{flavor}" == ""
%post -n libtag1 -p /sbin/ldconfig
%postun -n libtag1 -p /sbin/ldconfig
%post -n libtag_c0 -p /sbin/ldconfig
@ -143,16 +179,27 @@ for i in `find build/examples -maxdepth 1 ! -type d -executable`; do cp -v ${i}
%{_libdir}/libtag_c.so.0.*
%files -n libtag-devel
%doc %{_defaultdocdir}/libtag-devel
%{_bindir}/taglib-config
%{_includedir}/taglib/
%{_libdir}/libtag*.so
%{_libdir}/pkgconfig/*.pc
%{_datadir}/susehelp/
%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