Commit Graph

11 Commits

Author SHA1 Message Date
Adolf Belka
3161e5e857 taglib: Update to version 2.0.1
- Update from version 1.12 to 2.0.1
- Update of rootfile
- sobump so ran find-dependencies. None found except taglib itself.
- build of taglib now requires utfcpp. Patch for build of this is part of this patch set.
- Changelog
    2.0.1 (Apr 9, 2024)
	 * Fix aborting when _GLIBCXX_ASSERTIONS are enabled.
	 * Fall back to utf8cpp header detection in the case that its CMake
	   configuration is removed.
	 * Improve compatibility with the SWIG interface compiler.
	 * Build system fixes for testing without bindings, Emscripten and Illumos.
	 * C bindings: Fix setting UTF-8 encoded property values.
	 * Windows: Fix opening long paths.
    2.0 (Jan 24, 2024)
	 * New major version, binary incompatible, but mostly source-compatible
	   with the latest 1.x release if no deprecated features are used.
	   Simple applications should build without changes, more complex
	   applications (e.g. extending classes of TagLib) will have to be adapted.
	 * 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.
    1.13.1 (Jul 1, 2023)
	 * Fixed parsing of TXXX frames without description.
	 * Detect MP4 atoms with invalid length or type.
	 * Do not miss ID3v2 frames when an extended header is present.
	 * Use property "DISCSUBTITLE" for ID3v2 "TSST" frame.
	 * Build system improvements: Use absolute path for macOS dylib install name,
	   support --define-prefix when using pkg-config, fixed minimum required
	   CppUnit version.
	 * Code clean up using clang-tidy.
    1.13 (Oct 27, 2022)
	 * Added interface StreamTypeResolver to support streams which cannot be
	   fopen()'ed, e.g. network files.
	 * Added MP4::File::strip() to remove meta atom from MP4 file.
	 * Added Map::value() to look up without creating entry.
	 * Use property "WORK" instead of "CONTENTGROUP" for ID3v2 "TIT1" frame,
	   use property "WORK" for ASF "WM/ContentGroupDescription",
	   use property "COMPILATION" for ID3v2 "TCMP" frame.
	 * Build system improvements: option WITH_ZLIB, BUILD_TESTING instead of
	   BUILD_TESTS, GNUInstallDirs, FeatureSummary, tests with BUILD_SHARED_LIBS,
	   cross compilation with Buildroot, systems without HAVE_GCC_ATOMIC, Clang.
	 * Fixed heap-buffer-overflows when handling ASF, APE, FLAC, ID3v2, MP4, MPC
	   tags.
	 * Fixed detection of invalid file by extension when correct type can be
	   detected by contents.
	 * Fixed unnecessary creation of map entries in APE and FLAC tags if looked up
	   tag does not exist.
	 * Fixed parsing of MP4 non-full meta atoms.
	 * Fixed potential ID3v1 false positive in the presence of an APE tag.
	 * Fixed ID3v2 version handling for frames embedded in CHAP or CTOC frames.
	 * Fixed parsing of multiple strings with a single BOM in ID3v2.4.0.
	 * Fixed several smaller issues reported by clang-tidy.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-02 09:14:10 +00:00
Peter Müller
9a7e4d8506 Switch checksums from MD5 to BLAKE2
Historically, the MD5 checksums in our LFS files serve as a protection
against broken downloads, or accidentally corrupted source files.

While the sources are nowadays downloaded via HTTPS, it make sense to
beef up integrity protection for them, since transparently intercepting
TLS is believed to be feasible for more powerful actors, and the state
of the public PKI ecosystem is clearly not helping.

Therefore, this patch switches from MD5 to BLAKE2, updating all LFS
files as well as make.sh to deal with this checksum algorithm. BLAKE2 is
notably faster (and more secure) than SHA2, so the performance penalty
introduced by this patch is negligible, if noticeable at all.

In preparation of this patch, the toolchain files currently used have
been supplied with BLAKE2 checksums as well on
https://source.ipfire.org/.

Cc: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Acked-by: Michael Tremer <michael.tremeripfire.org>
2022-04-02 14:19:25 +00:00
Peter Müller
66c3619872 Early spring clean: Remove trailing whitespaces, and correct licence headers
Bumping across one of our scripts with very long trailing whitespaces, I
thought it might be a good idea to clean these up. Doing so, some
missing or inconsistent licence headers were fixed.

There is no need in shipping all these files en bloc, as their
functionality won't change.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-02-18 23:54:57 +00:00
Robin Roevens
f15707c78c buildprocess: Add extra metadata to pak lfs files
* Add a Summary and Services field to all pak lfs files
* Replace occurances of INSTALL_INITSCRIPT with new INSTALL_INITSCRIPTS
  macro in all pak lfs files.

Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-02-11 15:13:15 +00:00
Adolf Belka
7249b3446b taglib: Update to version 1.12
- Update from 1.11.1 to 1.12
- Update rootfile
- Changelog
   TagLib 1.12 (Feb 16, 2021)
    * Added support for WinRT.
    * Added support for Linux on POWER.
    * 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.
    * Added support for 'GRP1' ID3v2 frame.
    * Added support for extensible WAV subformat.
    * Enabled FileRef to detect file types based on the stream content.
    * Dropped support for Windows 9x and NT 4.0 or older.
    * Check for mandatory header objects in ASF files.
    * More tolerant handling of RIFF padding, WAV files, broken MPEG streams.
    * Improved calculation of Ogg, Opus, Speex, WAV, MP4 bitrates.
    * Improved Windows compatibility by storing FLAC picture after comments.
    * Fixed numerical genres in ID3v2.3.0 'TCON' frames.
    * Fixed consistency of API removing MP4 items when empty values are set.
    * Fixed consistency of API preferring COMM frames with no description.
    * Fixed OOB read on invalid Ogg FLAC files (CVE-2018-11439).
    * Fixed handling of empty MPEG files.
    * Fixed parsing MP4 mdhd timescale.
    * 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.
    * Fixed handling of non-audio blocks, sampling rates, DSD audio in WavPack files.
    * TableOfContentsFrame::toString() improved.
    * UserTextIdentificationFrame::toString() improved.
    * Marked FileRef::create() deprecated.
    * Marked MPEG::File::save() with boolean parameters deprecated,
      provide overloads with enum parameters.
    * Several smaller bug fixes and performance improvements.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-09-02 09:18:29 +00:00
Matthias Fischer
bc88f04867 taglib: Update to 1.11.1
For details see:
https://taglib.org/

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-04-26 07:34:55 +00:00
Michael Tremer
2dc2a27803 lfs: Drop quotes in DEPS variable
Not sure why this has ever been there. This simply makes it
nicer to read and edit because we can have line-breaks now.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-03-24 08:57:27 +00:00
Peter Müller
eee037b890 update disclaimer in LFS files
Most of these files still used old dates and/or domain names for contact
mail addresses. This is now replaced by an up-to-date copyright line.

Just some housekeeping... :-)

Signed-off-by: Peter Müller <peter.mueller@link38.eu>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-09-10 19:20:36 +01:00
Michael Tremer
37dee1d94b taglib: FTBFS on aarch64
Needed automake update

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-05-31 12:07:49 +01:00
Matthias Fischer
8f6e4eaff7 Update for numerous lfs-files: removed deprecated configure options
Also includes some reformatting, but no changes to configuration.

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-12-05 17:02:24 +00:00
Arne Fitzenreiter
52fbfb8c46 Add mediatomb as addon
Add taglib
Add sqlite3
2009-01-18 17:41:15 +01:00