From patchwork Mon Jun 17 14:06:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 7883 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384 client-signature ECDSA (secp384r1) client-digest SHA384) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4W2sB63QfRz3wnw for ; Mon, 17 Jun 2024 14:06:22 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384 client-signature ECDSA (secp384r1) client-digest SHA384) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4W2sB34DK9z2PV; Mon, 17 Jun 2024 14:06:19 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4W2sB32rksz33Cf; Mon, 17 Jun 2024 14:06:19 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384 client-signature ECDSA (secp384r1) client-digest SHA384) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4W2sB06x0hz2xRp for ; Mon, 17 Jun 2024 14:06:16 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4W2sB0132Yztw; Mon, 17 Jun 2024 14:06:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1718633176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s4N643EjuNE1NMHen5QCbdHIV0bA3fSBgNGnqA8taZY=; b=oKEMI4wzFTQN+vlNLm3CBcGw765AMQy7XMJXilM0GWC5Fr7Gnb60FP4UExyPmKOHoOLEFs JXiCx2yIIDNaJbXbqJgLNAcN23Id27JKTtMjgwzVD+Eh4lFav7HtZOAst9VqDbQRwXG0xv TmZ5LwGW7fZqYDFSTH1KQQR3QD3+X3JNQbIL8f05Sg69visqNrVgfeQSNbFRld/b97MUss Tav/mBbdQAH7bgJ2EWHD22AGH/5jUbn7IJCz7mAagOFnF5ZBua1el6ZS3reacK3BNH26Ws N9E7Hpb0GTdlkBWZbn+i58TUWZQSK1o1rTQU6hTd0mMXwoQG5+lvcybAEYh1ZQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1718633176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s4N643EjuNE1NMHen5QCbdHIV0bA3fSBgNGnqA8taZY=; b=uiYx0FFKBeCdm2vfpBtmy2H44d5mWgwQeBts3+MLpN1DfUXRECzQSwvMPVQumVPL8o/+mt QrMuiPtAxVlEU/AQ== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH 1/2] taglib: Update to version 2.0.1 Date: Mon, 17 Jun 2024 16:06:09 +0200 Message-ID: <20240617140610.3679044-1-adolf.belka@ipfire.org> MIME-Version: 1.0 Message-ID-Hash: WIM3GJ3675D25NT57EVXRIOEZZLCDL2E X-Message-ID-Hash: WIM3GJ3675D25NT57EVXRIOEZZLCDL2E X-MailFrom: adolf.belka@ipfire.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.8 Precedence: list List-Id: IPFire development talk Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: - 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 --- config/rootfiles/packages/taglib | 28 ++++++++++++++++++++-------- lfs/taglib | 8 ++++---- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/config/rootfiles/packages/taglib b/config/rootfiles/packages/taglib index fa341c1e5..1341d11ed 100644 --- a/config/rootfiles/packages/taglib +++ b/config/rootfiles/packages/taglib @@ -16,6 +16,11 @@ usr/bin/taglib-config #usr/include/taglib/audioproperties.h #usr/include/taglib/chapterframe.h #usr/include/taglib/commentsframe.h +#usr/include/taglib/dsdiffdiintag.h +#usr/include/taglib/dsdifffile.h +#usr/include/taglib/dsdiffproperties.h +#usr/include/taglib/dsffile.h +#usr/include/taglib/dsfproperties.h #usr/include/taglib/eventtimingcodesframe.h #usr/include/taglib/fileref.h #usr/include/taglib/flacfile.h @@ -44,6 +49,7 @@ usr/bin/taglib-config #usr/include/taglib/mp4coverart.h #usr/include/taglib/mp4file.h #usr/include/taglib/mp4item.h +#usr/include/taglib/mp4itemfactory.h #usr/include/taglib/mp4properties.h #usr/include/taglib/mp4tag.h #usr/include/taglib/mpcfile.h @@ -72,7 +78,6 @@ usr/bin/taglib-config #usr/include/taglib/tag.h #usr/include/taglib/tag_c.h #usr/include/taglib/taglib.h -#usr/include/taglib/taglib_config.h #usr/include/taglib/taglib_export.h #usr/include/taglib/tbytevector.h #usr/include/taglib/tbytevectorlist.h @@ -86,12 +91,14 @@ usr/bin/taglib-config #usr/include/taglib/tlist.tcc #usr/include/taglib/tmap.h #usr/include/taglib/tmap.tcc +#usr/include/taglib/tpicturetype.h #usr/include/taglib/tpropertymap.h -#usr/include/taglib/trefcounter.h #usr/include/taglib/trueaudiofile.h #usr/include/taglib/trueaudioproperties.h #usr/include/taglib/tstring.h #usr/include/taglib/tstringlist.h +#usr/include/taglib/tvariant.h +#usr/include/taglib/tversionnumber.h #usr/include/taglib/uniquefileidentifierframe.h #usr/include/taglib/unknownframe.h #usr/include/taglib/unsynchronizedlyricsframe.h @@ -106,11 +113,16 @@ usr/bin/taglib-config #usr/include/taglib/xiphcomment.h #usr/include/taglib/xmfile.h #usr/include/taglib/xmproperties.h -usr/lib/libtag.so -usr/lib/libtag.so.1 -usr/lib/libtag.so.1.18.0 -usr/lib/libtag_c.so -usr/lib/libtag_c.so.0 -usr/lib/libtag_c.so.0.0.0 +#usr/lib/cmake/taglib +#usr/lib/cmake/taglib/taglib-config-version.cmake +#usr/lib/cmake/taglib/taglib-config.cmake +#usr/lib/cmake/taglib/taglib-targets-release.cmake +#usr/lib/cmake/taglib/taglib-targets.cmake +#usr/lib/libtag.so +usr/lib/libtag.so.2 +usr/lib/libtag.so.2.0.1 +#usr/lib/libtag_c.so +usr/lib/libtag_c.so.2 +usr/lib/libtag_c.so.2.0.1 #usr/lib/pkgconfig/taglib.pc #usr/lib/pkgconfig/taglib_c.pc diff --git a/lfs/taglib b/lfs/taglib index 8177c9939..a211df139 100644 --- a/lfs/taglib +++ b/lfs/taglib @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2021 IPFire Team # +# Copyright (C) 2007-2024 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -26,7 +26,7 @@ include Config SUMMARY = Audio Meta-Data Library -VER = 1.12 +VER = 2.0.1 THISAPP = taglib-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -34,7 +34,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = taglib -PAK_VER = 3 +PAK_VER = 4 DEPS = @@ -48,7 +48,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = 3b1a3a9c43c54d502a0bc97935ce4bc521684ad06c955b893a5700dcf458da14aaa96dde991ef33cc8c2ad4f0b4a4625c4345d20f2594455df84c9e11f3e2a5d +$(DL_FILE)_BLAKE2 = a39997b3185609b47b4d20c12b9d131eee32a2846627799d83df98eaaf5b909514fd97667e779715b940f0866252d02a523fa9d87534ea3cdefbd27449cbe714 install : $(TARGET) check : $(patsubst %,$(DIR_CHK)/%,$(objects)) From patchwork Mon Jun 17 14:06:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 7884 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature ECDSA (secp384r1)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4W2sB70BXqz3wxG for ; Mon, 17 Jun 2024 14:06:23 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature ECDSA (secp384r1)) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4W2sB44t1zz5SK; Mon, 17 Jun 2024 14:06:20 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4W2sB44MW9z32vJ; Mon, 17 Jun 2024 14:06:20 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature ECDSA (secp384r1)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4W2sB11KBzz2xRp for ; Mon, 17 Jun 2024 14:06:17 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4W2sB04hGyz2PV; Mon, 17 Jun 2024 14:06:16 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1718633176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Ca9+0k8ZfcFgztlKmcH2GaJBumP07S0uvYaB42NDtOs=; b=Fm8qXpsPwdbEP+EMXT4Jbe7+Km7hnV5ieqC5Mvbm2S0WvyiM9+WIH8ZZ/8a816sYldNxb1 Ru+HqJb5apElnpBQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1718633176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Ca9+0k8ZfcFgztlKmcH2GaJBumP07S0uvYaB42NDtOs=; b=SzJH3vZYlCJ093delOyFwCVnpLB8S7MvIEIazq6veChXRk9175g2tY/n6EX5XTHxGEBd3f Df9mOeBh6eWnCENve9tmSJSIiEDIH+arXoYBzNExAXj1mmEIAxBNNqb8Wb8q9FqgcfzhYi 1TJmQjGOGgclCv3gZh3KSI1BiuAbxE7BTn9JcAt/ZoBArpHIJ+5qnmcmTLEWE/s7g/gywZ 9q6qXZ9O6nV8diQBG3YERsg/kCU+sFVLh7T9/FJ7/BrATtGZASNoK+us9QnbeT6lKWfZzC 0YNCF6DE17TYsiADCaJi7Kba92IEF7ydUGWs0Kj8fQqJZyCem899H+gq1P37kg== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH 2/2] utfcpp: Required for build of latest version of taglib Date: Mon, 17 Jun 2024 16:06:10 +0200 Message-ID: <20240617140610.3679044-2-adolf.belka@ipfire.org> In-Reply-To: <20240617140610.3679044-1-adolf.belka@ipfire.org> References: <20240617140610.3679044-1-adolf.belka@ipfire.org> MIME-Version: 1.0 Message-ID-Hash: XOIOZMQLQMZT2WKHMJJJNDJMDQELMUIM X-Message-ID-Hash: XOIOZMQLQMZT2WKHMJJJNDJMDQELMUIM X-MailFrom: adolf.belka@ipfire.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.8 Precedence: list List-Id: IPFire development talk Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: - lfs copies the required headers to the /usr/include directory. - rootfile has all entries commented out as utfcpp is only required for the build. - Added utfcpp into make.sh prior to taglib. Signed-off-by: Adolf Belka --- config/rootfiles/common/utfcpp | 8 ++++ lfs/utfcpp | 78 ++++++++++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 87 insertions(+) create mode 100644 config/rootfiles/common/utfcpp create mode 100644 lfs/utfcpp diff --git a/config/rootfiles/common/utfcpp b/config/rootfiles/common/utfcpp new file mode 100644 index 000000000..58097459e --- /dev/null +++ b/config/rootfiles/common/utfcpp @@ -0,0 +1,8 @@ +#usr/include/utf8 +#usr/include/utf8.h +#usr/include/utf8/checked.h +#usr/include/utf8/core.h +#usr/include/utf8/cpp11.h +#usr/include/utf8/cpp17.h +#usr/include/utf8/cpp20.h +#usr/include/utf8/unchecked.h diff --git a/lfs/utfcpp b/lfs/utfcpp new file mode 100644 index 000000000..1897e4c4d --- /dev/null +++ b/lfs/utfcpp @@ -0,0 +1,78 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2024 IPFire Team # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 4.0.5 + +THISAPP = utfcpp-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_BLAKE2 = c2058dac06b7bbedb97c18fe8a2fdfa13e45afe180d6602e8c1347db313361c94abf06514c80a308bef6f72eea63b6a7aaeaa7985925d7f5754f5210ebf040cb + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +b2 : $(subst %,%_BLAKE2,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, b2sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_BLAKE2,$(objects)) : + @$(B2SUM) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && cp -R source/* /usr/include/ + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index f8221bc2c..437fda9d5 100755 --- a/make.sh +++ b/make.sh @@ -1540,6 +1540,7 @@ buildipfire() { lfsmake2 7zip lfsmake2 lynis lfsmake2 sshfs + lfsmake2 utfcpp lfsmake2 taglib lfsmake2 perl-gettext lfsmake2 perl-Sort-Naturally