taglib1: cleanup versions

* set version 1.7.2 to x86_gcc2 only
 * remove versions 1.9.1 and 1.12
 * add version 1.13.1 (the last 1.x version)
   * add cmake compatibility switch to that
 * taglib 2.x is already compatible with cmake 4
This commit is contained in:
Joachim Mairböck
2025-08-24 21:04:01 +02:00
parent 03a9bf2f82
commit 67720679cd
5 changed files with 14 additions and 228 deletions

View File

@@ -1,113 +0,0 @@
From 8e61a871325a69274ca4002342dbe29a666ff83c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Fri, 15 Aug 2014 23:32:38 +0200
Subject: Drop FORCE from install dir variables
Why the hell force users to install to places that only fit
a specific OS? No need to use CMake then...
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 317ffa1..e0b86b7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,10 +26,10 @@ set(TESTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
## the following are directories where stuff will be installed to
set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
-set(EXEC_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Base directory for executables and libraries" FORCE)
-set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" CACHE PATH "The subdirectory to the binaries prefix (default prefix/bin)" FORCE)
-set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE)
-set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix" FORCE)
+set(EXEC_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Base directory for executables and libraries")
+set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" CACHE PATH "The subdirectory to the binaries prefix (default prefix/bin)")
+set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})")
+set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix")
if(APPLE)
option(BUILD_FRAMEWORK "Build an OS X framework" OFF)
--
1.8.3.4
From a277f4a1ef09a828a10aa9136e555a3eb6e8dc4c Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Mon, 1 Dec 2014 21:02:22 +0000
Subject: fix pkgconfig paths
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e0b86b7..8581dfc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -77,7 +77,7 @@ if(WIN32)
endif()
if(NOT WIN32 AND NOT BUILD_FRAMEWORK)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/taglib.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib.pc )
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/taglib.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib.pc @ONLY )
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/taglib.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
endif()
diff --git a/bindings/c/CMakeLists.txt b/bindings/c/CMakeLists.txt
index 2d9dafc..94ea8c9 100644
--- a/bindings/c/CMakeLists.txt
+++ b/bindings/c/CMakeLists.txt
@@ -62,7 +62,7 @@ install(TARGETS tag_c
)
if(NOT WIN32 AND NOT BUILD_FRAMEWORK)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/taglib_c.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib_c.pc)
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/taglib_c.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib_c.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/taglib_c.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
endif()
diff --git a/bindings/c/taglib_c.pc.cmake b/bindings/c/taglib_c.pc.cmake
index 61764fc..5450582 100644
--- a/bindings/c/taglib_c.pc.cmake
+++ b/bindings/c/taglib_c.pc.cmake
@@ -1,12 +1,12 @@
-prefix=${CMAKE_INSTALL_PREFIX}
-exec_prefix=${CMAKE_INSTALL_PREFIX}
-libdir=${LIB_INSTALL_DIR}
-includedir=${INCLUDE_INSTALL_DIR}
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=@CMAKE_INSTALL_PREFIX@
+libdir=@LIB_INSTALL_DIR@
+includedir=@INCLUDE_INSTALL_DIR@
Name: TagLib C Bindings
Description: Audio meta-data library (C bindings)
Requires: taglib
-Version: ${TAGLIB_LIB_MAJOR_VERSION}.${TAGLIB_LIB_MINOR_VERSION}.${TAGLIB_LIB_PATCH_VERSION}
-Libs: -L${LIB_INSTALL_DIR} -ltag_c
-Cflags: -I${INCLUDE_INSTALL_DIR}/taglib
+Version: @TAGLIB_LIB_MAJOR_VERSION@.@TAGLIB_LIB_MINOR_VERSION@.@TAGLIB_LIB_PATCH_VERSION@
+Libs: -L${libdir} -ltag_c
+Cflags: -I${includedir}/taglib
diff --git a/taglib.pc.cmake b/taglib.pc.cmake
index 909b8fc..8a5159d 100644
--- a/taglib.pc.cmake
+++ b/taglib.pc.cmake
@@ -1,11 +1,11 @@
-prefix=${CMAKE_INSTALL_PREFIX}
-exec_prefix=${CMAKE_INSTALL_PREFIX}
-libdir=${LIB_INSTALL_DIR}
-includedir=${INCLUDE_INSTALL_DIR}
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=@CMAKE_INSTALL_PREFIX@
+libdir=@LIB_INSTALL_DIR@
+includedir=@INCLUDE_INSTALL_DIR@
Name: TagLib
Description: Audio meta-data library
Requires:
-Version: ${TAGLIB_LIB_MAJOR_VERSION}.${TAGLIB_LIB_MINOR_VERSION}.${TAGLIB_LIB_PATCH_VERSION}
-Libs: -L${LIB_INSTALL_DIR} -ltag
-Cflags: -I${INCLUDE_INSTALL_DIR}/taglib
+Version: @TAGLIB_LIB_MAJOR_VERSION@.@TAGLIB_LIB_MINOR_VERSION@.@TAGLIB_LIB_PATCH_VERSION@
+Libs: -L${libdir} -ltag
+Cflags: -I${includedir}/taglib
--
1.8.3.4

View File

@@ -1,24 +0,0 @@
diff --git a/taglib/toolkit/tstring.cpp b/taglib/toolkit/tstring.cpp
index 75a9833..8ba30d2 100644
--- a/taglib/toolkit/tstring.cpp
+++ b/taglib/toolkit/tstring.cpp
@@ -38,6 +38,7 @@
#include <iostream>
#include <cstdio>
#include <cstring>
+#include <cwchar>
#ifdef HAVE_STD_CODECVT
# include <codecvt>
@@ -198,9 +199,9 @@ String::String(const std::string &s, Type t)
: d(new StringPrivate())
{
if(t == Latin1)
- copyFromLatin1(&s[0], s.length());
+ copyFromLatin1(s.data(), s.length());
else if(t == String::UTF8)
- copyFromUTF8(&s[0], s.length());
+ copyFromUTF8(s.data(), s.length());
else {
debug("String::String() -- A std::string should not contain UTF16.");
}

View File

@@ -8,17 +8,22 @@ HOMEPAGE="https://taglib.github.io/"
COPYRIGHT="2002-2016 Scott Wheeler"
LICENSE="GNU LGPL v2
MPL v1.1"
REVISION="2"
REVISION="1"
SOURCE_URI="https://taglib.github.io/releases/taglib-$portVersion.tar.gz"
CHECKSUM_SHA256="7fccd07669a523b07a15bd24c8da1bbb92206cb19e9366c3692af3d79253b703"
CHECKSUM_SHA256="c8da2b10f1bfec2cd7dbfcd33f4a2338db0765d851a50583d410bacf055cfd0b"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="1.19.1"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
libCVersion="0.0.0"
libCVersionCompat="$libCVersion compat >= ${libCVersion%%.*}"
PROVIDES="
taglib$secondaryArchSuffix = $portVersion
lib:libtag$secondaryArchSuffix = 1.18.0 compat >= 1
lib:libtag_c$secondaryArchSuffix = 0.0.0 compat >= 0
lib:libtag$secondaryArchSuffix = $libVersionCompat
lib:libtag_c$secondaryArchSuffix = $libCVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
@@ -28,8 +33,8 @@ REQUIRES="
PROVIDES_devel="
taglib${secondaryArchSuffix}_devel = $portVersion
cmd:taglib_config$secondaryArchSuffix
devel:libtag$secondaryArchSuffix = 1.18.0 compat >= 1
devel:libtag_c$secondaryArchSuffix = 0.0.0 compat >= 0
devel:libtag$secondaryArchSuffix = $libVersionCompat
devel:libtag_c$secondaryArchSuffix = $libCVersionCompat
"
REQUIRES_devel="
taglib$secondaryArchSuffix == $portVersion base
@@ -50,10 +55,8 @@ BUILD_PREREQUIRES="
BUILD()
{
cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX:PATH=$prefix \
-DBIN_INSTALL_DIR:PATH=$binDir \
-DLIB_INSTALL_DIR:PATH=$libDir \
-DINCLUDE_INSTALL_DIR:PATH=$includeDir \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
$cmakeDirArgs \
-DBUILD_SHARED_LIBS:BOOLEAN=TRUE
make -C build $jobArgs
}

View File

@@ -13,8 +13,7 @@ SOURCE_URI="http://taglib.github.io/releases/taglib-1.7.2.tar.gz"
CHECKSUM_SHA256="38f7e5283b594021b28426a61339cffbf2d503b450338b02f651fab1b0b42899"
PATCHES="taglib-$portVersion.patchset"
ARCHITECTURES="all"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
ARCHITECTURES="x86_gcc2"
PROVIDES="
taglib$secondaryArchSuffix = $portVersion

View File

@@ -1,79 +0,0 @@
SUMMARY="An audio meta-data library"
DESCRIPTION="TagLib is a free library written in C++ for reading and editing \
metadata that has been embedded into audio files. It is able to read and \
edit all relevant metadata formats for audio files, including APEv2, ID3 and \
Vorbis. It can find tags in multiple formats such as .mp3 .wma .wav .m4a \
.flac etc. TagLib is platform independent."
HOMEPAGE="https://github.com/taglib"
COPYRIGHT="2002-2013 Scott Wheeler"
LICENSE="GNU LGPL v2
MPL v1.1"
REVISION="3"
SOURCE_URI="http://taglib.github.io/releases/taglib-1.9.1.tar.gz"
CHECKSUM_SHA256="72d371cd1419a87ae200447a53bff2be219283071e80fd12337928cc967dc71a"
PATCHES="taglib-1.9.1.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
taglib$secondaryArchSuffix = $portVersion
cmd:taglib_config$secondaryArchSuffix
lib:libtag$secondaryArchSuffix = 1.14.0 compat >= 1
lib:libtag_c$secondaryArchSuffix = 0.0.0 compat >= 0
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
taglib${secondaryArchSuffix}_devel = $portVersion compat >= 1.9
cmd:taglib_config$secondaryArchSuffix = $portVersion compat >= 1.9
devel:libtag$secondaryArchSuffix = 1.14.0 compat >= 1
devel:libtag_c$secondaryArchSuffix = 0.0.0 compat >= 0
"
REQUIRES_devel="
taglib$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:grep
cmd:make
cmd:sed
"
BUILD()
{
cmake -DCMAKE_INSTALL_PREFIX:PATH=$prefix \
-DBIN_INSTALL_DIR:PATH=$binDir \
-DLIB_INSTALL_DIR:PATH=$libDir \
-DINCLUDE_INSTALL_DIR:PATH=$includeDir \
.
make
}
INSTALL()
{
make install
prepareInstalledDevelLibs \
libtag \
libtag_c
fixPkgconfig
fixDevelopLibDirReferences $binDir/taglib-config
sed -i -e "s,\/.*/include,$includeDir," $binDir/taglib-config
# devel package
packageEntries devel \
$developDir \
$binDir
}