Accepting request 1144929 from multimedia:libs

OBS-URL: https://build.opensuse.org/request/show/1144929
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/taglib?expand=0&rev=63
This commit is contained in:
Ana Guerrero 2024-02-27 21:44:16 +00:00 committed by Git OBS Bridge
commit ba1dff5c1f
6 changed files with 181 additions and 30 deletions

View File

@ -1,2 +1,2 @@
libtag1
libtag_c0
libtag2
libtag_c2

BIN
taglib-1.13.1.tar.gz (Stored with Git LFS)

Binary file not shown.

3
taglib-2.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e36ea877a6370810b97d84cf8f72b1e4ed205149ab3ac8232d44c850f38a2859
size 1429934

View File

@ -0,0 +1,13 @@
diff --git a/taglib/toolkit/tstring.cpp b/taglib/toolkit/tstring.cpp
index f19a675..04181e5 100644
--- a/taglib/toolkit/tstring.cpp
+++ b/taglib/toolkit/tstring.cpp
@@ -28,7 +28,7 @@
#include <cerrno>
#include <climits>
#include <iostream>
-#include <utf8.h>
+#include <utf8cpp/utf8.h>
#include "tdebug.h"
#include "tstringlist.h"

View File

@ -1,3 +1,135 @@
-------------------------------------------------------------------
Wed Jan 24 19:23:10 UTC 2024 - Jonas Kvinge <jonaski@opensuse.org>
- Update to version 2.0:
* New major version, binary incompatible, but source-compatible with the
latest 1.x release if no deprecated features are used.
* Requires a C++17 compiler and uses features of C++17.
* Major code cleanup, fixed warnings issued by compilers and static analyzers.
* Made methods virtual which should have been virtual but could not be
changed to keep binary compatibility, remove related workarounds.
* Removed deprecated functions:
- APE::Item::Item(const String &, const String &)
- APE::Item::toStringList(): Use values()
- APE::Item::value(): Use binaryData()
- ASF::Properties::setLength()
- ByteVector::checksum()
- ByteVector::isNull(): Use isEmpty()
- ByteVector::null
- FLAC::File::setID3v2FrameFactory()
- FLAC::File::streamInfoData()
- FLAC::File::streamLength()
- FLAC::Properties::Properties(File *, ReadStyle)
- FLAC::Properties::sampleWidth(): Use bitsPerSample()
- File::isReadable(): Use system functions
- File::isWritable(): Use system functions
- FileName::str()
- FileRef::create(): Use constructor
- MP4::Tag::itemListMap(): Use itemMap()
- MPC::File::remove(): Use strip()
- MPC::Properties::Properties(const ByteVector &, long, ReadStyle)
- MPEG::File::save(int, ...): Use overload
- MPEG::File::setID3v2FrameFactory(): Use constructor
- MPEG::ID3v2::Frame::Header::Header(const ByteVector &, bool)
- MPEG::ID3v2::Frame::Header::frameAlterPreservation(): Use
fileAlterPreservation()
- MPEG::ID3v2::Frame::Header::setData(const ByteVector &, bool)
- MPEG::ID3v2::Frame::Header::size(unsigned int): Use size()
- MPEG::ID3v2::Frame::Header::unsycronisation(): use unsynchronisation()
- MPEG::ID3v2::Frame::checkEncoding(const StringList &, String::Type): Use
checkTextEncoding(const StringList &, String::Type)
- MPEG::ID3v2::Frame::headerSize(): Use Header::size()
- MPEG::ID3v2::Frame::headerSize(unsigned int): Use
Header::size(unsigned int)
- MPEG::ID3v2::FrameFactory::createFrame(const ByteVector &, bool)
- MPEG::ID3v2::FrameFactory::createFrame(const ByteVector &, unsigned int):
Use createFrame(const ByteVector &, const Header *)
- MPEG::ID3v2::RelativeVolumeFrame::channelType()
- MPEG::ID3v2::RelativeVolumeFrame::peakVolume(): Use peakVolume(ChannelType)
- MPEG::ID3v2::RelativeVolumeFrame::setChannelType()
- MPEG::ID3v2::RelativeVolumeFrame::setPeakVolume(const PeakVolume &): Use
setPeakVolume(const PeakVolume &, ChannelType)
- MPEG::ID3v2::RelativeVolumeFrame::setVolumeAdjustment(float): Use
setVolumeAdjustment(float, ChannelType)
- MPEG::ID3v2::RelativeVolumeFrame::setVolumeAdjustmentIndex(short): Use
setVolumeAdjustmentIndex(short, ChannelType)
- MPEG::ID3v2::RelativeVolumeFrame::volumeAdjustment(): Use
volumeAdjustment(ChannelType)
- MPEG::ID3v2::RelativeVolumeFrame::volumeAdjustmentIndex(): Use
volumeAdjustmentIndex(ChannelType)
- MPEG::ID3v2::Tag::footer()
- MPEG::ID3v2::Tag::render(int): Use render(Version)
- MPEG::XingHeader::xingHeaderOffset()
- Ogg::Page::getCopyWithNewPageSequenceNumber()
- Ogg::XiphComment::removeField(): Use removeFields()
- PropertyMap::unsupportedData(): Returns now const reference, use
addUnsupportedData() to add keys
- RIFF::AIFF::Properties::Properties(const ByteVector &, ReadStyle)
- RIFF::AIFF::Properties::Properties(const ByteVector &, int, ReadStyle)
- RIFF::AIFF::Properties::sampleWidth(): Use bitsPerSample()
- RIFF::WAV::File::save(TagTypes, bool, int): Use
save(TagTypes, StripTags, Version)
- RIFF::WAV::File::tag(): Returns now a TagUnion, use ID3v2Tag() to get an
ID3v2::Tag
- String::isNull(): Use isEmpty()
- String::null
- TrueAudio::File::setID3v2FrameFactory(): Use constructor
- WavPack::Properties::Properties(const ByteVector &, long, ReadStyle)
* Made methods const: Frame::Header::size(), Frame::headerSize(),
MP4::Atom::findall(), MP4::Atoms::find(), MP4::Atoms::path().
* Made classes non-virtual: APE::Footer, APE::Item, ASF::Attribute,
ASF::Picture, MP4::CoverArt, MP4::Item, ID3v2::ExtendedHeader, ID3v2::Footer,
ID3v2::Header, MPEG::Header, MPEG::XingHeader, Ogg::Page, Ogg::PageHeader.
* Removed type definitions in TagLib namespace: wchar, uchar, ushort, uint,
ulong, ulonglong, wstring: Use the standard types.
* Removed include file taglib_config.h and its defines TAGLIB_WITH_ASF,
TAGLIB_WITH_MP4: They were always 1 since version 1.8.
* Behavioral changes:
- The basic tag methods (e.g. genre()) separate multiple values with " / "
instead of " ".
- The stream operator for String uses UTF-8 instead of ISO-8859-1 encoding.
- MP4 property ORIGINALDATE is mapped to "----:com.apple.iTunes:ORIGINALDATE"
instead of "----:com.apple.iTunes:originaldate".
- MP4 property ENCODEDBY is mapped to "©enc" instead of "©too", which is now
mapped to ENCODING.
* Unified interface for complex properties like pictures.
* Simplified the unified properties interface by providing its methods on
FileRef.
* C bindings: Support for properties (taglib_property_...) and complex
properties like cover art (taglib_complex_property_...), memory I/O streams.
* Support for Direct Stream Digital (DSD) stream files (DSF) and interchange
file format (DSDIFF, DFF), ADTS (AAC) files.
* The runtime version can be queried.
* Additional utility functions ByteVector::fromUShort(),
ByteVector::fromULongLong(), ByteVector::toULongLong(),
ByteVector::toULongLong(), List::sort().
* Fixed List::setAutoDelete() affecting implicitly shared copies.
* Build system: Direct support for CMake, find_package(TagLib) exports target
TagLib::tag.
* Build system: Fixed PackageConfig to support both relative and absolute paths.
* Build system: utf8cpp is no longer included, it can be provided via a system
package or a Git submodule.
* ASF: Support additional properties ARTISTWEBPAGE, ENCODING, ENCODINGTIME,
FILEWEBPAGE, INITIALKEY, ORIGINALALBUM, ORIGINALARTIST, ORIGINALFILENAME,
ORIGINALLYRICIST.
* ID3v2: Fixed extensibility of FrameFactory, use it also for WAV and AIFF
files.
* MP4: Support additional properties OWNER, RELEASEDATE.
* MP4: Introduced ItemFactory allowing clients to support new atom types.
* MP4: Detect duration from mvhd atom if not present in mdhd atom.
* MP4: Fixed type of hdvd atom to be integer instead of boolean.
* MP4: Tolerate trailing garbage in M4A files.
* MPC: Fixed content check in presence of an ID3v2 tag.
* MPEG: Do not scan full file for ID3v2 tag when ReadStyle Fast is used.
* RIFF: Support properties ALBUM, ARRANGER, ARTIST, ARTISTWEBPAGE, BPM,
COMMENT, COMPOSER, COPYRIGHT, DATE, DISCSUBTITLE, ENCODEDBY, ENCODING,
ENCODINGTIME, GENRE, ISRC, LABEL, LANGUAGE, LYRICIST, MEDIA, PERFORMER,
RELEASECOUNTRY, REMIXER, TITLE, TRACKNUMBER.
* WAV: Fixed crash with files having the "id3 " chunk as the only valid chunk.
* Windows: Fixed support for files larger than 2GB.
- Fix the compile error about utf8.h inclusion path:
taglib-utf8cpp-include.patch
-------------------------------------------------------------------
Wed Jul 12 14:20:57 UTC 2023 - Danilo Spinella <danilo.spinella@suse.com>
@ -36,7 +168,9 @@ Thu Nov 17 21:40:14 UTC 2022 - Jonas Kvinge <jonaski@opensuse.org>
-------------------------------------------------------------------
Mon May 9 19:05:54 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
- Remove build rpath from executables (boo#1199058)
- Remove build rpath from executables (boo#1199058, similar to
bsc#1166467 which was fixed in SLE using -DCMAKE_SKIP_RPATH=ON
instead of -DCMAKE_SKIP_BUILD_RPATH=ON)
-------------------------------------------------------------------
Thu Mar 18 17:18:24 CET 2021 - tiwai@suse.de
@ -168,7 +302,8 @@ Wed Dec 5 09:07:42 UTC 2018 - davejplater@gmail.com
-------------------------------------------------------------------
Tue Nov 13 22:29:57 UTC 2018 - Jonas Kvinge <jonas@jkvinge.net>
- Add patch to fix Ogg corruption:
- Add patch to fix Ogg corruption (boo#1179817,
gh#taglib/taglib#864):
* taglib-fix-ogg.patch
-------------------------------------------------------------------

View File

@ -1,7 +1,7 @@
#
# spec file
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -27,7 +27,7 @@
%bcond_with tests
%endif
Name: taglib%{psuffix}
Version: 1.13.1
Version: 2.0
Release: 0
Summary: Audio Meta-Data Library
License: LGPL-2.1-or-later AND MPL-1.1
@ -36,15 +36,17 @@ URL: https://taglib.github.io/
Source0: https://taglib.github.io/releases/taglib-%{version}.tar.gz
Source1: %{sname}.desktop
Source100: baselibs.conf
Patch1: taglib-utf8cpp-include.patch
BuildRequires: cmake >= 2.8
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: pkgconfig
BuildRequires: cmake(utf8cpp)
BuildRequires: pkgconfig(zlib)
# 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}
Requires: libtag2 >= %{version}-%{release}
Requires: libtag_c2 >= %{version}-%{release}
%if %{with tests}
BuildRequires: doxygen
BuildRequires: ghostscript-fonts-std
@ -62,25 +64,25 @@ TrueAudio, WAV, AIFF, MP4 and ASF files.
This package contains built examples which manipulate tags from the
command line.
%package -n libtag1
%package -n libtag2
Summary: Audio Meta-Data Library
License: LGPL-2.1-or-later
Group: System/Libraries
Conflicts: taglib <= 1.6.3
%description -n libtag1
%description -n libtag2
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
%package -n libtag_c2
Summary: Audio Meta-Data Library
License: LGPL-2.1-or-later
Group: System/Libraries
Conflicts: taglib <= 1.6.3
%description -n libtag_c0
%description -n libtag_c2
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
@ -91,8 +93,8 @@ 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}
Requires: libtag2 >= %{version}-%{release}
Requires: libtag_c2 >= %{version}-%{release}
Requires: zlib-devel
# 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.
@ -113,12 +115,11 @@ This package contains the taglib API Documentation in HTML format.
%prep
%setup -q -n %{sname}-%{version}
%patch1 -p1
%build
# The testing needs static libs too
%cmake \
-DWITH_ASF:BOOL=ON \
-DWITH_MP4:BOOL=ON \
-DCMAKE_SKIP_BUILD_RPATH=ON \
%if %{with tests}
-DBUILD_TESTS:BOOL=ON \
@ -161,35 +162,37 @@ install -m755 build/examples/{framelist,strip-id3v1,tagreader,tagreader_c,tagwri
%endif
%if !%{with tests}
%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
%post -n libtag2 -p /sbin/ldconfig
%postun -n libtag2 -p /sbin/ldconfig
%post -n libtag_c2 -p /sbin/ldconfig
%postun -n libtag_c2 -p /sbin/ldconfig
%files
%license COPYING.LGPL COPYING.MPL
%{_bindir}/*
%exclude %{_bindir}/taglib-config
%files -n libtag1
%files -n libtag2
%license COPYING.LGPL COPYING.MPL
%{_libdir}/libtag.so.1
%{_libdir}/libtag.so.1.*
%{_libdir}/libtag.so.2
%{_libdir}/libtag.so.2.*
%files -n libtag_c0
%files -n libtag_c2
%license COPYING.LGPL COPYING.MPL
%{_libdir}/libtag_c.so.0
%{_libdir}/libtag_c.so.0.*
%{_libdir}/libtag_c.so.2
%{_libdir}/libtag_c.so.2.*
%files -n libtag-devel
%{_bindir}/taglib-config
%{_includedir}/taglib/
%{_libdir}/libtag*.so
%{_libdir}/pkgconfig/*.pc
%dir %{_libdir}/cmake/taglib
%{_libdir}/cmake/taglib/*.cmake
%else
%files -n libtag-doc
%doc AUTHORS NEWS examples
%doc AUTHORS CHANGELOG.md examples
%{_docdir}/libtag-doc/html
%{_datadir}/susehelp/
%endif