summaryrefslogtreecommitdiff
path: root/media-libs/taglib
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-02-17 10:35:54 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-02-17 10:35:54 +0000
commit463397cf1e064185110fe57c568d73f99a06f5d1 (patch)
tree9aa75eefc5154eaf0e3c33658b830fc54dc68052 /media-libs/taglib
parentc8d60dada2ec8eb48b2d2b290cd6683ccec40e39 (diff)
gentoo resync : 17.02.2021
Diffstat (limited to 'media-libs/taglib')
-rw-r--r--media-libs/taglib/Manifest3
-rw-r--r--media-libs/taglib/files/taglib-1.12-cmake.patch525
-rw-r--r--media-libs/taglib/taglib-1.12.ebuild63
3 files changed, 591 insertions, 0 deletions
diff --git a/media-libs/taglib/Manifest b/media-libs/taglib/Manifest
index 7e1bb16a80a2..76d7e9f76756 100644
--- a/media-libs/taglib/Manifest
+++ b/media-libs/taglib/Manifest
@@ -1,6 +1,9 @@
AUX taglib-1.11-install-examples.patch 371 BLAKE2B ee42b80e8c6093dbfc4c89c25bcb6bd25e2f5152c14743fa49c6c44a14f93a961f08a4d53337efe0800d98126a8aa58627a330e19386283cc16d8f20c9637262 SHA512 149ce1256ec557ee1e896b56e361f2fcf69633424f9b125666827eda610e84c35bf28e5c3fe5f38d4d87f1eacf977fc5b8b8c2d9c6634997bfe4e4bac122fc37
AUX taglib-1.11.1_p20181028-libdir.patch 721 BLAKE2B de84d157b6da665c6e2dee504bfd68409500fa00366d83adc67735bfb7962cdadcfa6e3ff838115521f66db12ae2d8ef9963981f452944b100e475653fb9064c SHA512 fa9082f58257a3250a54eba49dc1b0d6f25e59f2fa500a7d41571b7c5fa8b2e8e5a7d4426ee2046dbe556c3dd2cf1c271cb4e0e1e9b78b8733a84de9420974ab
AUX taglib-1.11.1_p20181028-version-1.11.2.patch 486 BLAKE2B a0b9021a01268eaeb32cb7a6b333b54df522aaf9d07d9b89870f0dbc38a9648ab9173a916bd8a29537b454631be5cd32c2dfb256ebf2f2b86000fec8d2f32bb6 SHA512 e5c3d814ae7c4b2cb84eded86e909d2db985ec21409767a9bdd502d562b55edf30c74834e2829199f1fd20ca8b1dab832a78b05246ae82fe6ff94cb1266d98d0
+AUX taglib-1.12-cmake.patch 18074 BLAKE2B f4f9dedd614d7bb2f981f7e4e8dc0b257847e9627e1fdc24d85a615cac7d894402b6901e39297a5a9473d9b1eecb6bc0be6183950abc3196245c1c8921f930aa SHA512 2003f02a843c3982c7c50db77bbda9ca75c36f25a371df03cca5139bd78e2efd7b083672bb06c5f9b0d114253fdaf6adeb995304877ff84085d8d1b07ef2c779
DIST taglib-1.11.1_p20190920.tar.gz 1290100 BLAKE2B 38f65450b5e7c33b14187ab461bfd18d77f93d1ecab5ccf0c898ca6e67fd05aebac09318d4e1cabf1fdbca38800332ef9d0d5d1317087e69672734d1dec1dfe2 SHA512 4f7ad2a0713d38e8885b10d08041abdfb6c669369edd16e8345d7d679c16c15f191ca378e6690e06347f29e0e9cadebcb95ba26dc583c1127c4531558df27173
+DIST taglib-1.12.tar.gz 1364231 BLAKE2B 414a61a302fbdd1af8dae70fcec96311023d3ef85a659b8dc598c8c73cf31142b4a254c843f4d415eff0fda84e62e18f1bb63921f1868400990f023aa01b1a41 SHA512 63c96297d65486450908bda7cc1583ec338fa5a56a7c088fc37d6e125e1ee76e6d20343556a8f3d36f5b7e5187c58a5d15be964c996e3586ea1438910152b1a6
EBUILD taglib-1.11.1_p20190920-r1.ebuild 1328 BLAKE2B 43e1d33fa7e6b77bfab239ccfb2ba01c46ee9feb9977839e8525ed465f7c3eb4d4f1fdb61c6885d7873b76fb7cb6057c5c68ee51a5079e5852dcf98c24f863c5 SHA512 477b4ed7c0665740e450c346e9b5bcf3be976181490ce443d10aed7bae1114984848342774a2f7a2c3cec1cad006ba89d7a361c2cf4d4e84eae6a68b5e25a982
+EBUILD taglib-1.12.ebuild 1308 BLAKE2B c976322a2b8442f6e17a75b72ab2940c64c54bb427777080b17d7314f2b856c5deb8aa4a0154fae06de2d6cee3e7c86dd2cc8ba90671f35a26ee7f13a297b4c0 SHA512 3760f6b71d648921a629c0999727d0313e2a04cc1972c125afba818737de4909bfee9820f5d7972874c27d00c10e65c6c8c7e6d52d3a48d2015763ed5db2e104
MISC metadata.xml 327 BLAKE2B 3972cb6de796dc7ba0d48715a30f265c10bfebe2e192d634267ffa0dc2323283b16c38f9bd891dbd1b7c646929e41116a5924d426fb1df46e63f3a4b4f5920be SHA512 05909165d6fff2283a6d55d1c454d97541e4e5ac35a6997123f548b3a86d108231928a4136cea35a323c942a82d50072f66840347fd1b651d4c1f3a53928c721
diff --git a/media-libs/taglib/files/taglib-1.12-cmake.patch b/media-libs/taglib/files/taglib-1.12-cmake.patch
new file mode 100644
index 000000000000..185a1e23ed20
--- /dev/null
+++ b/media-libs/taglib/files/taglib-1.12-cmake.patch
@@ -0,0 +1,525 @@
+From 5d5315c5ddf2e3a6d92d6b5dba8a120b7c04f46a Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Mon, 15 Feb 2021 22:50:56 +0100
+Subject: [PATCH 1/7] Use CMake's CTest which includes BUILD_TESTING option
+
+BUILD_TESTING is default enabled, which is a good default anyway.
+Move the CppUnit check to the root CMakeLists.txt, simpler and clearer.
+BUILD_TESTS is obsolete.
+
+The need for BUILD_SHARED_LIBS=OFF for testing is not clear, it works on Linux.
+But I kept it in the instructions for now.
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 13 +++++++++----
+ ConfigureChecks.cmake | 10 ----------
+ INSTALL.md | 6 +++---
+ 3 files changed, 12 insertions(+), 17 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5fc91cc6..770fa046 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4,6 +4,8 @@ project(taglib)
+
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
+
++include(CTest)
++
+ if(DEFINED ENABLE_STATIC)
+ message(FATAL_ERROR "This option is no longer available, use BUILD_SHARED_LIBS instead")
+ endif()
+@@ -32,7 +34,6 @@ if(ENABLE_CCACHE)
+ endif()
+
+ option(VISIBILITY_HIDDEN "Build with -fvisibility=hidden" OFF)
+-option(BUILD_TESTS "Build the test suite" OFF)
+ option(BUILD_EXAMPLES "Build the examples" OFF)
+ option(BUILD_BINDINGS "Build the bindings" ON)
+
+@@ -147,9 +148,13 @@ if(BUILD_BINDINGS)
+ add_subdirectory(bindings)
+ endif()
+
+-if(BUILD_TESTS AND NOT BUILD_SHARED_LIBS)
+- enable_testing()
+- add_subdirectory(tests)
++if(BUILD_TESTING)
++ find_package(CppUnit)
++ if(CppUnit_FOUND)
++ add_subdirectory(tests)
++ else()
++ message(WARNING "BUILD_TESTING requested, but CppUnit not found, skipping tests.")
++ endif()
+ endif()
+
+ if(BUILD_EXAMPLES)
+diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
+index bcdbfe20..2fe2f129 100644
+--- a/ConfigureChecks.cmake
++++ b/ConfigureChecks.cmake
+@@ -187,16 +187,6 @@ if(NOT ZLIB_SOURCE)
+ endif()
+ endif()
+
+-# Determine whether CppUnit is installed.
+-
+-if(BUILD_TESTS AND NOT BUILD_SHARED_LIBS)
+- find_package(CppUnit)
+- if(NOT CppUnit_FOUND)
+- message(STATUS "CppUnit not found, disabling tests.")
+- set(BUILD_TESTS OFF)
+- endif()
+-endif()
+-
+ # Detect WinRT mode
+ if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(PLATFORM WINRT 1)
+diff --git a/INSTALL.md b/INSTALL.md
+index a398654e..19771aca 100644
+--- a/INSTALL.md
++++ b/INSTALL.md
+@@ -167,7 +167,7 @@ Unit Tests
+
+ If you want to run the test suite to make sure TagLib works properly on your
+ system, you need to have cppunit installed. To build the tests, include
+-the option `-DBUILD_TESTS=ON -DBUILD_SHARED_LIBS=OFF` when running cmake.
++the option `-DBUILD_TESTING=ON` when running cmake.
+
+ The test suite has a custom target in the build system, so you can run
+ the tests using make:
+@@ -183,7 +183,7 @@ Windows MinGW:
+ - `mingw32-make; mingw32-make install DESTDIR=/path/to/install/dir`
+ * Build TagLib with testing enabled:
+ - ```
+- cmake -G "MinGW Makefiles" -DBUILD_TESTS=ON -DBUILD_EXAMPLES=ON -DBUILD_SHARED_LIBS=OFF \
++ cmake -G "MinGW Makefiles" -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON -DBUILD_SHARED_LIBS=OFF \
+ -DCPPUNIT_INCLUDE_DIR=/path/to/cppunit/include \
+ -DCPPUNIT_LIBRARIES=/path/to/cppunit/lib/libcppunit.a \
+ -DCPPUNIT_INSTALLED_VERSION=1.15.1
+@@ -200,7 +200,7 @@ Windows MSVS:
+ - It may fail, but the needed libraries should be available in src\cppunit\DebugDll.
+ * Build TagLib with testing enabled:
+ - ```
+- cmake -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=ON -DBUILD_EXAMPLES=ON
++ cmake -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON
+ -DBUILD_SHARED_LIBS=OFF -DENABLE_STATIC_RUNTIME=ON
+ -DCPPUNIT_INCLUDE_DIR=\path\to\cppunit\include
+ -DCPPUNIT_LIBRARIES=\path\to\cppunit\DebugDll\cppunitd_dll.lib
+--
+2.30.1
+
+
+From 2cb339f46cc5b544ad1c2bb5528fe39c07d9f56b Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Mon, 15 Feb 2021 23:11:38 +0100
+Subject: [PATCH 2/7] Move finding ZLIB to root CMakeLists.txt
+
+Small line decrease, but also easier to read what is happening.
+Now all dependencies can be read from the root CMakeLists.txt file.
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 22 +++++++++++++++-------
+ ConfigureChecks.cmake | 11 -----------
+ 2 files changed, 15 insertions(+), 18 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 770fa046..e537aeb3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -101,8 +101,21 @@ math(EXPR TAGLIB_SOVERSION_PATCH "${TAGLIB_SOVERSION_REVISION}")
+
+ include(ConfigureChecks.cmake)
+
+-if(${ZLIB_FOUND})
+- set(ZLIB_LIBRARIES_FLAGS -lz)
++# Determine whether zlib is installed.
++
++if(NOT ZLIB_SOURCE)
++ find_package(ZLIB)
++ if(ZLIB_FOUND)
++ set(HAVE_ZLIB 1)
++ set(ZLIB_LIBRARIES_FLAGS -lz)
++ else()
++ set(HAVE_ZLIB 0)
++ endif()
++endif()
++
++if(NOT HAVE_ZLIB AND ZLIB_SOURCE)
++ set(HAVE_ZLIB 1)
++ set(HAVE_ZLIB_SOURCE 1)
+ endif()
+
+ if(NOT WIN32)
+@@ -120,11 +133,6 @@ if(NOT BUILD_FRAMEWORK)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/taglib.pc" DESTINATION "${LIB_INSTALL_DIR}/pkgconfig")
+ endif()
+
+-if(NOT HAVE_ZLIB AND ZLIB_SOURCE)
+- set(HAVE_ZLIB 1)
+- set(HAVE_ZLIB_SOURCE 1)
+-endif()
+-
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+ configure_file(config.h.cmake "${CMAKE_CURRENT_BINARY_DIR}/config.h")
+
+diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
+index 2fe2f129..7d2ff953 100644
+--- a/ConfigureChecks.cmake
++++ b/ConfigureChecks.cmake
+@@ -176,17 +176,6 @@ check_cxx_source_compiles("
+ }
+ " HAVE_ISO_STRDUP)
+
+-# Determine whether zlib is installed.
+-
+-if(NOT ZLIB_SOURCE)
+- find_package(ZLIB)
+- if(ZLIB_FOUND)
+- set(HAVE_ZLIB 1)
+- else()
+- set(HAVE_ZLIB 0)
+- endif()
+-endif()
+-
+ # Detect WinRT mode
+ if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(PLATFORM WINRT 1)
+--
+2.30.1
+
+
+From 6d94166dc6d2f12d9b913d8b672af32cec211440 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Mon, 15 Feb 2021 23:28:45 +0100
+Subject: [PATCH 3/7] Use GNUInstallDirs
+
+Well-established CMake standard for installation directories.
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 14 ++++----------
+ bindings/c/CMakeLists.txt | 12 ++++++------
+ bindings/c/taglib_c.pc.cmake | 8 ++++----
+ taglib-config.cmake | 4 ++--
+ taglib-config.cmd.cmake | 4 ++--
+ taglib.pc.cmake | 6 +++---
+ taglib/CMakeLists.txt | 10 +++++-----
+ 7 files changed, 26 insertions(+), 32 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e537aeb3..fb047350 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,6 +5,7 @@ project(taglib)
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
+
+ include(CTest)
++include(GNUInstallDirs)
+
+ if(DEFINED ENABLE_STATIC)
+ message(FATAL_ERROR "This option is no longer available, use BUILD_SHARED_LIBS instead")
+@@ -47,13 +48,6 @@ endif()
+ add_definitions(-DHAVE_CONFIG_H)
+ 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")
+-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(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
+@@ -120,17 +114,17 @@ endif()
+
+ if(NOT WIN32)
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/taglib-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/taglib-config" @ONLY)
+- install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/taglib-config" DESTINATION "${BIN_INSTALL_DIR}")
++ install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/taglib-config" DESTINATION "${CMAKE_INSTALL_BINDIR}")
+ endif()
+
+ if(WIN32)
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/taglib-config.cmd.cmake" "${CMAKE_CURRENT_BINARY_DIR}/taglib-config.cmd")
+- install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/taglib-config.cmd" DESTINATION "${BIN_INSTALL_DIR}")
++ install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/taglib-config.cmd" DESTINATION "${CMAKE_INSTALL_BINDIR}")
+ endif()
+
+ if(NOT BUILD_FRAMEWORK)
+ 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")
++ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/taglib.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+ endif()
+
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+diff --git a/bindings/c/CMakeLists.txt b/bindings/c/CMakeLists.txt
+index ebb1267f..15f4e440 100644
+--- a/bindings/c/CMakeLists.txt
++++ b/bindings/c/CMakeLists.txt
+@@ -58,18 +58,18 @@ set_target_properties(tag_c PROPERTIES
+ VERSION 0.0.0
+ SOVERSION 0
+ DEFINE_SYMBOL MAKE_TAGLIB_C_LIB
+- INSTALL_NAME_DIR ${LIB_INSTALL_DIR}
++ INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR}
+ )
+ install(TARGETS tag_c
+ FRAMEWORK DESTINATION ${FRAMEWORK_INSTALL_DIR}
+- LIBRARY DESTINATION ${LIB_INSTALL_DIR}
+- RUNTIME DESTINATION ${BIN_INSTALL_DIR}
+- ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
+- PUBLIC_HEADER DESTINATION ${INCLUDE_INSTALL_DIR}/taglib
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/taglib
+ )
+
+ if(NOT BUILD_FRAMEWORK)
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/taglib_c.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib_c.pc)
+- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/taglib_c.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/taglib_c.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ endif()
+
+diff --git a/bindings/c/taglib_c.pc.cmake b/bindings/c/taglib_c.pc.cmake
+index 232f4f78..97f0b5a1 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}
++libdir=${CMAKE_INSTALL_FULL_LIBDIR}
++includedir=${CMAKE_INSTALL_FULL_INCLUDEDIR}
+
+
+ Name: TagLib C Bindings
+ Description: Audio meta-data library (C bindings)
+ Requires: taglib
+ Version: ${TAGLIB_LIB_VERSION_STRING}
+-Libs: -L${LIB_INSTALL_DIR} -ltag_c
+-Cflags: -I${INCLUDE_INSTALL_DIR}/taglib
++Libs: -L${CMAKE_INSTALL_FULL_LIBDIR} -ltag_c
++Cflags: -I${CMAKE_INSTALL_FULL_INCLUDEDIR}/taglib
+diff --git a/taglib-config.cmake b/taglib-config.cmake
+index d500fe60..9f251178 100644
+--- a/taglib-config.cmake
++++ b/taglib-config.cmake
+@@ -16,8 +16,8 @@ EOH
+
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=@CMAKE_INSTALL_PREFIX@
+-libdir=@LIB_INSTALL_DIR@
+-includedir=@INCLUDE_INSTALL_DIR@
++libdir=@CMAKE_INSTALL_FULL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+
+ flags=""
+
+diff --git a/taglib-config.cmd.cmake b/taglib-config.cmd.cmake
+index 1b807ec8..4e615c5e 100644
+--- a/taglib-config.cmd.cmake
++++ b/taglib-config.cmd.cmake
+@@ -27,8 +27,8 @@ goto theend
+ * to allow for static, shared or debug builds.
+ * It would be preferable if the top level CMakeLists.txt provided the library name during config. ??
+ :doit
+-if /i "%1#" == "--libs#" echo -L${LIB_INSTALL_DIR} -llibtag
+-if /i "%1#" == "--cflags#" echo -I${INCLUDE_INSTALL_DIR} -I${INCLUDE_INSTALL_DIR}/taglib
++if /i "%1#" == "--libs#" echo -L${CMAKE_INSTALL_FULL_LIBDIR} -llibtag
++if /i "%1#" == "--cflags#" echo -I${CMAKE_INSTALL_FULL_INCLUDEDIR} -I${CMAKE_INSTALL_FULL_INCLUDEDIR}/taglib
+ if /i "%1#" == "--version#" echo ${TAGLIB_LIB_VERSION_STRING}
+ if /i "%1#" == "--prefix#" echo ${CMAKE_INSTALL_PREFIX}
+
+diff --git a/taglib.pc.cmake b/taglib.pc.cmake
+index 71ee09af..4ddabe12 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@
++libdir=@CMAKE_INSTALL_FULL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+
+ Name: TagLib
+ Description: Audio meta-data library
+-Requires:
++Requires:
+ Version: @TAGLIB_LIB_VERSION_STRING@
+ Libs: -L${libdir} -ltag @ZLIB_LIBRARIES_FLAGS@
+ Cflags: -I${includedir} -I${includedir}/taglib
+diff --git a/taglib/CMakeLists.txt b/taglib/CMakeLists.txt
+index 563583ef..527c0073 100644
+--- a/taglib/CMakeLists.txt
++++ b/taglib/CMakeLists.txt
+@@ -344,7 +344,7 @@ endif()
+ set_target_properties(tag PROPERTIES
+ VERSION ${TAGLIB_SOVERSION_MAJOR}.${TAGLIB_SOVERSION_MINOR}.${TAGLIB_SOVERSION_PATCH}
+ SOVERSION ${TAGLIB_SOVERSION_MAJOR}
+- INSTALL_NAME_DIR ${LIB_INSTALL_DIR}
++ INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR}
+ DEFINE_SYMBOL MAKE_TAGLIB_LIB
+ LINK_INTERFACE_LIBRARIES ""
+ PUBLIC_HEADER "${tag_HDRS}"
+@@ -365,8 +365,8 @@ endif()
+
+ install(TARGETS tag
+ FRAMEWORK DESTINATION ${FRAMEWORK_INSTALL_DIR}
+- LIBRARY DESTINATION ${LIB_INSTALL_DIR}
+- RUNTIME DESTINATION ${BIN_INSTALL_DIR}
+- ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
+- PUBLIC_HEADER DESTINATION ${INCLUDE_INSTALL_DIR}/taglib
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/taglib
+ )
+--
+2.30.1
+
+
+From b23eb1f4208ca8a5806648bf1a442c55a06aeeae Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Mon, 15 Feb 2021 23:31:00 +0100
+Subject: [PATCH 4/7] Use FeatureSummary for a nice CMake summary output
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fb047350..0370bd05 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,6 +5,7 @@ project(taglib)
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
+
+ include(CTest)
++include(FeatureSummary)
+ include(GNUInstallDirs)
+
+ if(DEFINED ENABLE_STATIC)
+@@ -173,3 +174,5 @@ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" "${CMAKE_C
+ if(NOT TARGET uninstall)
+ add_custom_target(uninstall COMMAND "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
+ endif()
++
++feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+--
+2.30.1
+
+
+From bcdae81dee3ff7e044e862b31f92b4a281fa19d1 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Mon, 15 Feb 2021 23:44:11 +0100
+Subject: [PATCH 5/7] Just set CMAKE_MODULE_PATH instead of list(APPEND), drop
+ ENABLE_STATIC err
+
+ENABLE_STATIC error has been there since 2014, that is long enough.
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0370bd05..f5b1c479 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -2,16 +2,12 @@ cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR)
+
+ project(taglib)
+
+-list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
++set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
+
+ include(CTest)
+ include(FeatureSummary)
+ include(GNUInstallDirs)
+
+-if(DEFINED ENABLE_STATIC)
+- message(FATAL_ERROR "This option is no longer available, use BUILD_SHARED_LIBS instead")
+-endif()
+-
+ option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
+ if(APPLE)
+ option(BUILD_FRAMEWORK "Build an OS X framework" OFF)
+--
+2.30.1
+
+
+From 5b94ac436b02ee9280de7fd705e7d02d77bd1a43 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Mon, 15 Feb 2021 23:47:26 +0100
+Subject: [PATCH 6/7] Install examples after we selected to build them
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ examples/CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
+index f991739d..2360ada0 100644
+--- a/examples/CMakeLists.txt
++++ b/examples/CMakeLists.txt
+@@ -38,3 +38,8 @@ target_link_libraries(framelist tag)
+ add_executable(strip-id3v1 strip-id3v1.cpp)
+ target_link_libraries(strip-id3v1 tag)
+
++install(TARGETS tagreader tagreader_c tagwriter framelist strip-id3v1
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++)
+--
+2.30.1
+
+
+From b8ee92c5b53df4259fae6499a7e1f9d1cb275a85 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Tue, 16 Feb 2021 00:19:05 +0100
+Subject: [PATCH 7/7] Install taglib.png icon into html folder structure
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 2 +-
+ doc/api-header.html | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f5b1c479..759b23c9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -161,7 +161,7 @@ if(BUILD_EXAMPLES)
+ endif()
+
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.cmake" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile")
+-file(COPY doc/taglib.png DESTINATION doc)
++file(COPY doc/taglib.png DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/doc/html)
+ add_custom_target(docs doxygen)
+
+ # uninstall target
+diff --git a/doc/api-header.html b/doc/api-header.html
+index ab133c25..52617513 100644
+--- a/doc/api-header.html
++++ b/doc/api-header.html
+@@ -12,7 +12,7 @@
+ <table border="0" width="100%">
+ <tr>
+ <td width="1">
+- <img src="../taglib.png">
++ <img src="taglib.png">
+ </td>
+ <td>
+ <div id="intro">
+--
+2.30.1
+
diff --git a/media-libs/taglib/taglib-1.12.ebuild b/media-libs/taglib/taglib-1.12.ebuild
new file mode 100644
index 000000000000..22ad368018c4
--- /dev/null
+++ b/media-libs/taglib/taglib-1.12.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+inherit cmake-multilib
+
+DESCRIPTION="Library for reading and editing audio meta data"
+HOMEPAGE="https://taglib.github.io/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1 MPL-1.1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+SLOT="0"
+IUSE="debug doc examples test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+"
+RDEPEND="
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-util/cppunit-1.13.2[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=( "${FILESDIR}"/${P}-cmake.patch ) # PR#996
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/taglib-config
+)
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_EXAMPLES=$(multilib_native_usex examples)
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ if multilib_is_native_abi; then
+ use doc && cmake_build docs
+ fi
+}
+
+multilib_src_test() {
+ eninja check
+}
+
+multilib_src_install() {
+ cmake_src_install
+
+ if multilib_is_native_abi && use doc; then
+ HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+ fi
+}