summaryrefslogtreecommitdiff
path: root/media-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-02-27 19:26:40 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-02-27 19:26:40 +0000
commit4418da21bd05d610a3450f4aa75481785ca372a0 (patch)
tree05975a5e68e88b64b58ed4f9c416e36cd4dbff4e /media-libs
parentacfd7c956a7b45da7af1452ec12e0b2d5e6ac65b (diff)
gentoo auto-resync : 27:02:2025 - 19:26:39
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/Manifest.gzbin69953 -> 69793 bytes
-rw-r--r--media-libs/lerc/Manifest2
-rw-r--r--media-libs/lerc/lerc-4.0.0.ebuild2
-rw-r--r--media-libs/libva-intel-media-driver/Manifest2
-rw-r--r--media-libs/libva-intel-media-driver/libva-intel-media-driver-25.1.2.ebuild57
-rw-r--r--media-libs/mesa/Manifest2
-rw-r--r--media-libs/mesa/mesa-9999.ebuild2
-rw-r--r--media-libs/taglib-extras/Manifest6
-rw-r--r--media-libs/taglib-extras/files/taglib-extras-1.0.1-taglib110.patch28
-rw-r--r--media-libs/taglib-extras/files/taglib-extras-1.0.1-taglib2.patch283
-rw-r--r--media-libs/taglib-extras/metadata.xml11
-rw-r--r--media-libs/taglib-extras/taglib-extras-1.0.1-r1.ebuild20
-rw-r--r--media-libs/taglib-extras/taglib-extras-1.0.1-r2.ebuild23
-rw-r--r--media-libs/tiff/Manifest6
-rw-r--r--media-libs/tiff/files/tiff-4.7.0-fix-test-race.patch30
-rw-r--r--media-libs/tiff/files/tiff-4.7.0-test-directory-big-endian.patch328
-rw-r--r--media-libs/tiff/tiff-4.7.0-r1.ebuild7
-rw-r--r--media-libs/tiff/tiff-4.7.0.ebuild4
18 files changed, 434 insertions, 379 deletions
diff --git a/media-libs/Manifest.gz b/media-libs/Manifest.gz
index aecf1808477d..f9efb3737ac6 100644
--- a/media-libs/Manifest.gz
+++ b/media-libs/Manifest.gz
Binary files differ
diff --git a/media-libs/lerc/Manifest b/media-libs/lerc/Manifest
index af4915ae2fba..c5b7bd2ad91b 100644
--- a/media-libs/lerc/Manifest
+++ b/media-libs/lerc/Manifest
@@ -1,3 +1,3 @@
DIST lerc-4.0.0.tar.gz 4710408 BLAKE2B b4c593ab2d28ad4c03149267db7d181462bc2977f6c908c88e7f769fed720be900936550e27cecfe32ee16b410c8a7885c1e509ae26717b5719e602922de305a SHA512 36fe453b6e732f6bed554d1c1c5cd4668aec63593d6de11f12b659c7b9cbc059ac9aaacc6cea483b3257d522f1b07e13c299914d08b1f8aeb0bb2cde42ba47cf
-EBUILD lerc-4.0.0.ebuild 369 BLAKE2B d76e622b583ab2bccbe58944a17c79406165bce7978267fbae7e576c30a43b2acde30dc98db9c4de54ec0d74edb1269d0214dee6dcaf63f36760b037e6d9dc01 SHA512 5a62acd731a084a792f232c59c088dae1986700c572fce1c6221d5e6d5a110389c742128d507216445aa1a268c4f82aee766ef5f380f3d898d63cce8efeeaef0
+EBUILD lerc-4.0.0.ebuild 373 BLAKE2B cc4436b455527018a02b66ad8d70195a690201db7d4aea66093b81b3025f34d2c239f9658e99ca660f5d12e4900d3f900622dd4dad6cc7e017cbbafdd8e7b258 SHA512 f2e9aa3166106fcc1f8b5e6f4b74e755df246ebc52dbeb831834903d4a6300ef99480cbf101f737c570ac5db13bec17f27ca23cde3e32efc7500191f75965481
MISC metadata.xml 1013 BLAKE2B 7801443f012e1eaaedf3a7208ffb151dac6ca5226fb7872ade15a04c2d0290c0dbad36b74e566ad54772c0252d2f2472626db5d749a33d4f90350787e9dd8e98 SHA512 7b8c3516fe2000ed9965d5382d2eca90ac8247cd4bd44754a05574ae86c6da4c7fb4581cb08aa1d0b344d6624c45a81a42de7e8e8a468f3d4db07aac553739da
diff --git a/media-libs/lerc/lerc-4.0.0.ebuild b/media-libs/lerc/lerc-4.0.0.ebuild
index be7782337811..070a9bda6209 100644
--- a/media-libs/lerc/lerc-4.0.0.ebuild
+++ b/media-libs/lerc/lerc-4.0.0.ebuild
@@ -11,4 +11,4 @@ SRC_URI="https://github.com/Esri/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.t
LICENSE="Apache-2.0"
SLOT="0/4"
-KEYWORDS="amd64"
+KEYWORDS="amd64 x86"
diff --git a/media-libs/libva-intel-media-driver/Manifest b/media-libs/libva-intel-media-driver/Manifest
index 54ca8394fb98..f3a69b329537 100644
--- a/media-libs/libva-intel-media-driver/Manifest
+++ b/media-libs/libva-intel-media-driver/Manifest
@@ -4,8 +4,10 @@ AUX libva-intel-media-driver-24.4.4-c23-fix.patch 529 BLAKE2B d900912b2239c57ec1
DIST intel-media-24.4.4.tar.gz 27696988 BLAKE2B cf13b3d0feb005b204892a62402d2a044661279b419bbc47ac414691a5238ada5dc2d59e848a9d53219163420e6b2d364a563f57e10488325587405e2add8ef3 SHA512 0a34a707082a3d7032b472667640d40761f1c9425e291002d2bd2af42d57d69ec3cf6e835430e731ff6c7eb24b22b1843c0b83812001f4ed203fd55097a2c6dc
DIST intel-media-25.1.0.tar.gz 28243498 BLAKE2B 7b0982cf06c13754897c46ca3c54b3d0d0d9c1b8aff6066c148770946f83655185bc02f67d83c762a2843969f6f70b4fae56c6853930ff228059e6ff7484b7bd SHA512 20c0f7952a59ab86a6e6c1281c198961d835380e5d4f17fe2cc1c74a31da426560cc244950e6e91f0b4fb659133e461f5ba539c7000ad26e8032fc2aaf79c416
DIST intel-media-25.1.1.tar.gz 28255804 BLAKE2B 960c53a7f9920b782c2c4fa10a37c1de4b51271a37ec3b6eea1a814d842d4725564122e3d1b4b1a28dfa4beda80f13db20fe64831a5cdeeb5c299e754d2576f2 SHA512 dcdbbd5c7e2b5ae93784cc38229aab6bd9a330bcde08e6f7597264d9124a5044086c67e08828dfe81292b233e33148fe9b5426cf2d0003f62b3af6452f07de57
+DIST intel-media-25.1.2.tar.gz 28258215 BLAKE2B a3ca71d049f3a56d2e11f45009cfccc6fab7530449a4890b4082c2f4e1263e980b6d0717a2f2703290977886343b33122f88689e33814bb59405d21b09fedbe0 SHA512 ef8516c5a90ffc10199214d79a4725825ddd0e9050255c7ec6a7f118256a62b1faab28c301c8d64ee25cde137ed48500010c1b78a4aee105d5aa59b6ba6f346b
EBUILD libva-intel-media-driver-24.4.4-r1.ebuild 1553 BLAKE2B 8a00e4f58d7a1b69ed18c191a03d1342bbd330af9fd76c66953ea7d5d343e3c56be2732390fa4598dfcbc271bda5709b0d0df20af478f76ebba5672af311c49f SHA512 9d2241aab18bcab1430901a8bbfa501bdd5e28a31df264579108382e309589e961d66beb29f0a1d60ef0f4905b8019ed4d5bce558a45d94fdbe42b777a8b9a87
EBUILD libva-intel-media-driver-25.1.0.ebuild 1512 BLAKE2B 761266db69786809a3d777d5ef5c8698a5da93f5639b53227446a1ac5fc9f63a20a21ba4fe6e03495e05796b3f9cd768f68907f123a7a7fa49f6aa5ee1d3c01a SHA512 e1c28b94142609cf8b4eb29e18ba461ccb5fdf9b6a0b141a406b2ec0457d699faf06592d3d2eca4459c48b575e62b5bc0fc8387570bd7adf8902c635aa89ee0b
EBUILD libva-intel-media-driver-25.1.1.ebuild 1512 BLAKE2B 761266db69786809a3d777d5ef5c8698a5da93f5639b53227446a1ac5fc9f63a20a21ba4fe6e03495e05796b3f9cd768f68907f123a7a7fa49f6aa5ee1d3c01a SHA512 e1c28b94142609cf8b4eb29e18ba461ccb5fdf9b6a0b141a406b2ec0457d699faf06592d3d2eca4459c48b575e62b5bc0fc8387570bd7adf8902c635aa89ee0b
+EBUILD libva-intel-media-driver-25.1.2.ebuild 1512 BLAKE2B 761266db69786809a3d777d5ef5c8698a5da93f5639b53227446a1ac5fc9f63a20a21ba4fe6e03495e05796b3f9cd768f68907f123a7a7fa49f6aa5ee1d3c01a SHA512 e1c28b94142609cf8b4eb29e18ba461ccb5fdf9b6a0b141a406b2ec0457d699faf06592d3d2eca4459c48b575e62b5bc0fc8387570bd7adf8902c635aa89ee0b
EBUILD libva-intel-media-driver-9999.ebuild 1512 BLAKE2B 761266db69786809a3d777d5ef5c8698a5da93f5639b53227446a1ac5fc9f63a20a21ba4fe6e03495e05796b3f9cd768f68907f123a7a7fa49f6aa5ee1d3c01a SHA512 e1c28b94142609cf8b4eb29e18ba461ccb5fdf9b6a0b141a406b2ec0457d699faf06592d3d2eca4459c48b575e62b5bc0fc8387570bd7adf8902c635aa89ee0b
MISC metadata.xml 565 BLAKE2B e630d474342839898d53aef1849b002ef651c9f4fe3bfcfe72e809012e6c65153b1a6c14db922a45440ffd5717b90dddd6973185f8a625906e9d5571e50728d9 SHA512 22227f8a9cc39fff74f0bf2cdc8953f110e94ce0ab107076269d604c3cf8ae46c8496c9bcf47598e351cb9714e427f213ade5e446a5e8c67acfc87db5530b370
diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-25.1.2.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-25.1.2.ebuild
new file mode 100644
index 000000000000..a27f472ef10b
--- /dev/null
+++ b/media-libs/libva-intel-media-driver/libva-intel-media-driver-25.1.2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib flag-o-matic
+
+if [[ ${PV} == *9999 ]] ; then
+ : ${EGIT_REPO_URI:="https://github.com/intel/media-driver"}
+ if [[ ${PV%9999} != "" ]] ; then
+ : ${EGIT_BRANCH:="release/${PV%.9999}"}
+ fi
+ inherit git-r3
+else
+ MY_PV="${PV%_pre}"
+ SRC_URI="https://github.com/intel/media-driver/archive/intel-media-${MY_PV}.tar.gz"
+ S="${WORKDIR}/media-driver-intel-media-${MY_PV}"
+ if [[ ${PV} != *_pre* ]] ; then
+ KEYWORDS="~amd64"
+ fi
+fi
+
+DESCRIPTION="Intel Media Driver for VA-API (iHD)"
+HOMEPAGE="https://github.com/intel/media-driver"
+
+LICENSE="MIT BSD redistributable? ( no-source-code )"
+SLOT="0"
+IUSE="+redistributable test X"
+
+RESTRICT="!test? ( test )"
+
+DEPEND=">=media-libs/gmmlib-22.6.0:=[${MULTILIB_USEDEP}]
+ >=media-libs/libva-2.22.0[X?,${MULTILIB_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-23.3.4-Remove-unwanted-CFLAGS.patch
+ "${FILESDIR}"/${PN}-23.3.4_testing_in_src_test.patch
+)
+
+multilib_src_configure() {
+ # https://github.com/intel/media-driver/issues/356
+ append-cxxflags -D_FILE_OFFSET_BITS=64
+
+ local mycmakeargs=(
+ -DMEDIA_BUILD_FATAL_WARNINGS=OFF
+ -DMEDIA_RUN_TEST_SUITE=$(usex test)
+ -DBUILD_TYPE=Release
+ -DPLATFORM=linux
+ -DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex !X)
+ -DENABLE_NONFREE_KERNELS=$(usex redistributable)
+ -DLATEST_CPP_NEEDED=ON # Seems to be the best option for now
+ )
+ local CMAKE_BUILD_TYPE="Release"
+ cmake_src_configure
+}
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest
index f23262a01983..7dd5e8362767 100644
--- a/media-libs/mesa/Manifest
+++ b/media-libs/mesa/Manifest
@@ -11,5 +11,5 @@ DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542d
EBUILD mesa-24.1.7-r1.ebuild 13769 BLAKE2B cbdd0130cb55c039d1d81d67eeb2b0b8493fe25db50f938f08e2e437b3e0b0a9d50d2c6250bee66f081b7a3577da3ffab810ba636e8ebfe450a7e7c7b8dc8a7b SHA512 dd1de43ecd26536b96d753a479d509667382243ed536edd3c181207bd4b7fc1528d7ab53a3d491659a0866d4b9d4c90f06e5c5a61f4e3353a0f3fbb4ec81d90e
EBUILD mesa-24.3.4-r1.ebuild 13759 BLAKE2B 3b331a6b0b6533d1ed32678445bbe5faa88e8d2dc029f00884c2f4e5fb93d35a52075dd70cd9ab69766585322375f67c686a6adb19e05684ef5bd23945155cda SHA512 f957cc0aa810a306e6a292583d38de41bdaee5107a3bd982fb85eed0413c32fd5853601e393276b52b1f215a1b622e41acf8fa5657ff989257b84316d476e0f4
EBUILD mesa-25.0.0.ebuild 13758 BLAKE2B f590cfc8e5a3ca7403e2fa10f2598b9ddc73673e0df6ebf74add31eba52de2518932711eb4ead43fcf62857ec4812594544dee33935e76d8820ab0a41eb74909 SHA512 5e5afed4ab3e90bac5ae6b30aa0132ccff2e3f972d751a4b4a034217e569102192a1d20b69586ec0ee89e7ccac131e75e7b8025e7714cc21e2a42c6042f5feba
-EBUILD mesa-9999.ebuild 13783 BLAKE2B 4814e40fcc71ecba6abb88531bedb71691dec5081a976886aa6ef098eeb70f399c1394882d896160693893252db669c43cbe6ebc76e08c2601bd2ce040a0480e SHA512 3236a27fedc49f63087ebe1ea524d73eb75b9367a28a2b94754036928a3240d5a5e4d8f593891fc21f5503b0143fa38fa235178209f82cac5132f333fd23bdd1
+EBUILD mesa-9999.ebuild 13783 BLAKE2B c343920d7fd7b8518e27ea06a67c4be0dbcce192a491daf6401f20f2062dbc4bab74dae780264318a07b0f9fb83557435ecb85d87614f86583275c41b53e191d SHA512 de7d748dccfb0d4274f47d6e92ea3378c83edb1bdfb55ab0a36bfbbba12985d20cf51df4ca9efcea8ba1c1edd76df5d5ceb9d3a5b9bb1b0a8c82b4135507d30f
MISC metadata.xml 1303 BLAKE2B 348e84a15156bd8ae4634c1866f83f1b283b77f8478e66e57dd3f047a6346d1cc67a7c808ce159b82d292dfab62e8b6c4d17cefcae7aea6fa38739667947258b SHA512 448c3d73ded90117f38cec7c80eead4bdac1599c563798c91c96bca8543b9db2e5c2a06f26f9b7496af085a964aff51ed8b0882aa88f18404b64447de2f65598
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 004565b3e787..7eece800ac5c 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -151,7 +151,7 @@ RDEPEND="${RDEPEND}
DEPEND="${RDEPEND}
video_cards_d3d12? ( >=dev-util/directx-headers-1.614.1[${MULTILIB_USEDEP}] )
valgrind? ( dev-debug/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.38 )
+ wayland? ( >=dev-libs/wayland-protocols-1.41 )
X? (
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-base/xorg-proto
diff --git a/media-libs/taglib-extras/Manifest b/media-libs/taglib-extras/Manifest
deleted file mode 100644
index 9e22e22c377f..000000000000
--- a/media-libs/taglib-extras/Manifest
+++ /dev/null
@@ -1,6 +0,0 @@
-AUX taglib-extras-1.0.1-taglib110.patch 1221 BLAKE2B 9777a4031c09284fa959ced28e356af87de9c7799dea5f01c7674ef7cff0bd86320db694d27d5327692414fbc85ffb8bc8f898a4d1a1d900f6411e02ac25f2de SHA512 1099cd225ed9b248b71d10d4526272e2cc4df8a3f86f0bf464e21b10ff1166576f7e06763fe19a1b1caedc3711f5832dd0270d27d25d793437dba8c9b6fabbbf
-AUX taglib-extras-1.0.1-taglib2.patch 12515 BLAKE2B db7a75c403a0873e90d8ba6925195d030d78ff1bf4044fe074173ee8af9b49ff1d3454ab142c2819ac67a60f3d4e9deb01ca1e2f0c0d6cb27821957d01ae9a5a SHA512 5c6a37cf281e777bafa63ead4cb73cd7695994cb2dcc791917bd23c93af6d342d102f25c350979a2854851b0b74a39a0d83b3b80c01d430c8bba18faee2b4b2e
-DIST taglib-extras-1.0.1.tar.gz 31363 BLAKE2B 19150c26d06fad281f172c7f360155ced709d461b26431adf3a02d34cf029237855b21980b0bd2de026420a3f3a45bb0bc9fde3a5f6091f1219eff51a55f9b56 SHA512 282f9c9cde81a250d8d6f4416658167665044d53cd10d8ecfa490df60a1fb95e1309feb17f69963f8dbfccc83ebb76af7275c25339931117435f34a56c4f1a65
-EBUILD taglib-extras-1.0.1-r1.ebuild 500 BLAKE2B 6f35cee36a8b090dd64e6a5f86276cff35940a5b3ff4ce017e267b4c3b8473176c6205bd280b77faf5533b1d26003774a108f7d6cb56b9bfdf7fa442e9992420 SHA512 6e8a23bb57a7a3d5e2d680900b5e55cdbed6c4e81a4aaadfe2847dda32354b9c632f3b12b12462296b4b0f1082d76576ccd59dadeac85d42cc5f96818c84151b
-EBUILD taglib-extras-1.0.1-r2.ebuild 540 BLAKE2B 3a95fadf4c4381c2f9d24b26cbcdc165c8edfde59e221f3871149264df9e5ac0708685d42ae1b1c72b4e2f1d61159979f200b09db3f411a74d83f21b4e9dc403 SHA512 314369cc9692fb0189286902af12da9d891f54fbb0984c152c0464dd57880b4016c2cf81e7139e1a8c9aa432be5cb4dc45180fc54009a1488f71aa0f59c79e0f
-MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
diff --git a/media-libs/taglib-extras/files/taglib-extras-1.0.1-taglib110.patch b/media-libs/taglib-extras/files/taglib-extras-1.0.1-taglib110.patch
deleted file mode 100644
index 87f297511413..000000000000
--- a/media-libs/taglib-extras/files/taglib-extras-1.0.1-taglib110.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Fixes build with taglib-1.10
-
-Gentoo-bug: 571072
-
---- a/cmake/modules/FindTaglib.cmake 2015/11/16 18:32:25 1444332
-+++ b/cmake/modules/FindTaglib.cmake 2015/11/16 19:05:39 1444333
-@@ -29,10 +29,10 @@
-
- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_VERSION)
-
-- if(TAGLIB_VERSION STRLESS "${TAGLIB_MIN_VERSION}")
-+ if("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
- message(STATUS "TagLib version not found: version searched :${TAGLIB_MIN_VERSION}, found ${TAGLIB_VERSION}")
- set(TAGLIB_FOUND FALSE)
-- else(TAGLIB_VERSION STRLESS "${TAGLIB_MIN_VERSION}")
-+ else("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
-
- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_LIBRARIES)
-
-@@ -42,7 +42,7 @@
- set(TAGLIB_FOUND TRUE)
- endif(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS)
- string(REGEX REPLACE " *-I" ";" TAGLIB_INCLUDES "${TAGLIB_CFLAGS}")
-- endif(TAGLIB_VERSION STRLESS "${TAGLIB_MIN_VERSION}")
-+ endif("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
- mark_as_advanced(TAGLIB_CFLAGS TAGLIB_LIBRARIES TAGLIB_INCLUDES)
-
- else(TAGLIBCONFIG_EXECUTABLE)
diff --git a/media-libs/taglib-extras/files/taglib-extras-1.0.1-taglib2.patch b/media-libs/taglib-extras/files/taglib-extras-1.0.1-taglib2.patch
deleted file mode 100644
index 5a52b84ecca6..000000000000
--- a/media-libs/taglib-extras/files/taglib-extras-1.0.1-taglib2.patch
+++ /dev/null
@@ -1,283 +0,0 @@
-Source: https://aur.archlinux.org/cgit/aur.git/tree/taglib-2.0.diff?h=taglib-extras
-
-* asturm 2024-12-28:
- - Upstream repository still SVN: https://invent.kde.org/multimedia/amarok/-/issues/18
- - Cleaned up patch content already part of taglib-extras-1.0.1-taglib110.patch
- - Cleaned up the irrelevant taglib min version raising bits
-
-diff -U 3 -r a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt 2009-09-17 21:31:50.000000000 +0200
-+++ b/CMakeLists.txt 2024-03-18 20:05:05.486108470 +0100
-@@ -14,7 +14,7 @@
- if (CMAKE_COMPILER_IS_GNUCXX)
- if (CMAKE_SYSTEM_NAME MATCHES Linux)
- set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Werror-implicit-function-declaration -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common")
-- set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -fno-check-new -fno-common")
-+ set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -fno-check-new -fno-common -std=c++11")
- endif (CMAKE_SYSTEM_NAME MATCHES Linux)
- endif (CMAKE_COMPILER_IS_GNUCXX)
- if(MSVC)
-diff -U 3 -r a/taglib-extras/audible/audibletag.cpp b/taglib-extras/audible/audibletag.cpp
---- a/taglib-extras/audible/audibletag.cpp 2009-09-17 17:38:07.000000000 +0200
-+++ b/taglib-extras/audible/audibletag.cpp 2024-03-18 19:33:40.553079218 +0100
-@@ -40,11 +40,11 @@
- using namespace TagLibExtras;
-
- Audible::Tag::Tag() {
-- m_title = TagLib::String::null;
-- m_artist = TagLib::String::null;
-- m_album = TagLib::String::null;
-- m_comment = TagLib::String::null;
-- m_genre = TagLib::String::null;
-+ m_title = TagLib::String();
-+ m_artist = TagLib::String();
-+ m_album = TagLib::String();
-+ m_comment = TagLib::String();
-+ m_genre = TagLib::String();
- m_year = 0;
- m_track = 0;
- m_userID = 0;
-@@ -55,11 +55,11 @@
- }
-
- bool Audible::Tag::isEmpty() const {
-- return m_title == TagLib::String::null &&
-- m_artist == TagLib::String::null &&
-- m_album == TagLib::String::null &&
-- m_comment == TagLib::String::null &&
-- m_genre == TagLib::String::null &&
-+ return m_title == TagLib::String() &&
-+ m_artist == TagLib::String() &&
-+ m_album == TagLib::String() &&
-+ m_comment == TagLib::String() &&
-+ m_genre == TagLib::String() &&
- m_year == 0 &&
- m_track == 0 &&
- m_userID == 0;
-@@ -114,7 +114,7 @@
- }
- else if(!strcmp(name, "description"))
- {
-- if( m_comment.isNull() )
-+ if( m_comment.isEmpty() )
- m_comment = TagLib::String(value, TagLib::String::Latin1);
- }
- else if(!strcmp(name, "pubdate"))
-diff -U 3 -r a/taglib-extras/audible/audibletag.h b/taglib-extras/audible/audibletag.h
---- a/taglib-extras/audible/audibletag.h 2009-09-17 17:38:07.000000000 +0200
-+++ b/taglib-extras/audible/audibletag.h 2024-03-18 19:31:45.715118382 +0100
-@@ -52,30 +52,30 @@
-
- /*!
- * Returns the track name; if no track name is present in the tag
-- * TagLib::String::null will be returned.
-+ * TagLib::String() will be returned.
- */
- virtual TagLib::String title() const { return m_title; }
-
- /*!
- * Returns the artist name; if no artist name is present in the tag
-- * TagLib::String::null will be returned.
-+ * TagLib::String() will be returned.
- */
- virtual TagLib::String artist() const { return m_artist; }
-
- /*!
- * Returns the album name; if no album name is present in the tag
-- * TagLib::String::null will be returned.
-+ * TagLib::String() will be returned.
- */
- virtual TagLib::String album() const { return m_album; }
-
- /*!
- * Returns the track comment; if no comment is present in the tag
-- * TagLib::String::null will be returned.
-+ * TagLib::String() will be returned.
- */
- virtual TagLib::String comment() const { return m_comment; }
-
- /*!
-- * Returns the genre name; if no genre is present in the tag TagLib::String::null
-+ * Returns the genre name; if no genre is present in the tag TagLib::String()
- * will be returned.
- */
- virtual TagLib::String genre() const { return m_genre; }
-@@ -83,45 +83,45 @@
- /*!
- * Returns the year; if there is no year set, this will return 0.
- */
-- virtual TagLib::uint year() const { return m_year; }
-+ virtual unsigned int year() const { return m_year; }
-
- /*!
- * Returns the track number; if there is no track number set, this will
- * return 0.
- */
-- virtual TagLib::uint track() const { return m_track; }
-+ virtual unsigned int track() const { return m_track; }
-
- /*!
- * Returns the user id for this file.
- */
-- virtual TagLib::uint userID() const { return m_userID; }
-+ virtual unsigned int userID() const { return m_userID; }
-
- /*!
-- * Sets the title to \a s. If \a s is TagLib::String::null then this value will be
-+ * Sets the title to \a s. If \a s is TagLib::String() then this value will be
- * cleared.
- */
- virtual void setTitle(const TagLib::String &s) { m_title = s; }
-
- /*!
-- * Sets the artist to \a s. If \a s is TagLib::String::null then this value will be
-+ * Sets the artist to \a s. If \a s is TagLib::String() then this value will be
- * cleared.
- */
- virtual void setArtist(const TagLib::String &s) { m_artist = s; }
-
- /*!
-- * Sets the album to \a s. If \a s is TagLib::String::null then this value will be
-+ * Sets the album to \a s. If \a s is TagLib::String() then this value will be
- * cleared.
- */
- virtual void setAlbum(const TagLib::String &s) { m_album = s; }
-
- /*!
-- * Sets the album to \a s. If \a s is TagLib::String::null then this value will be
-+ * Sets the album to \a s. If \a s is TagLib::String() then this value will be
- * cleared.
- */
- virtual void setComment(const TagLib::String &s) { m_comment = s; }
-
- /*!
-- * Sets the genre to \a s. If \a s is TagLib::String::null then this value will be
-+ * Sets the genre to \a s. If \a s is TagLib::String() then this value will be
- * cleared. For tag formats that use a fixed set of genres, the appropriate
- * value will be selected based on a string comparison. A list of available
- * genres for those formats should be available in that type's
-@@ -132,12 +132,12 @@
- /*!
- * Sets the year to \a i. If \a s is 0 then this value will be cleared.
- */
-- virtual void setYear(TagLib::uint i) { m_year = i; }
-+ virtual void setYear(unsigned int i) { m_year = i; }
-
- /*!
- * Sets the track to \a i. If \a s is 0 then this value will be cleared.
- */
-- virtual void setTrack(TagLib::uint i) { m_track = i; }
-+ virtual void setTrack(unsigned int i) { m_track = i; }
-
- /*!
- * Returns true if the tag does not contain any data. This should be
-@@ -159,7 +159,7 @@
- */
- static void duplicate(const Tag *source, Tag *target, bool overwrite = true);
-
-- virtual void setUserID(TagLib::uint id) { m_userID = id; }
-+ virtual void setUserID(unsigned int id) { m_userID = id; }
-
- int getTagsEndOffset();
-
-@@ -171,9 +171,9 @@
- TagLib::String m_album;
- TagLib::String m_comment;
- TagLib::String m_genre;
-- TagLib::uint m_year;
-- TagLib::uint m_track;
-- TagLib::uint m_userID;
-+ unsigned int m_year;
-+ unsigned int m_track;
-+ unsigned int m_userID;
- bool readTag( FILE *fp, char **name, char **value);
- int m_tagsEndOffset;
- };
-diff -U 3 -r a/taglib-extras/rmff/realmediafile.cpp b/taglib-extras/rmff/realmediafile.cpp
---- a/taglib-extras/rmff/realmediafile.cpp 2009-09-17 17:38:07.000000000 +0200
-+++ b/taglib-extras/rmff/realmediafile.cpp 2024-03-18 19:25:30.819973309 +0100
-@@ -78,12 +78,12 @@
- return m_rmff->genre();
- }
-
--TagLib::uint RealMedia::Tag::year() const
-+unsigned int RealMedia::Tag::year() const
- {
- return m_rmff->year();
- }
-
--TagLib::uint RealMedia::Tag::track() const
-+unsigned int RealMedia::Tag::track() const
- {
- return m_rmff->track();
- }
-@@ -113,12 +113,12 @@
- // TODO: write support
- }
-
--void RealMedia::Tag::setYear( TagLib::uint )
-+void RealMedia::Tag::setYear( unsigned int )
- {
- // TODO: write support
- }
-
--void RealMedia::Tag::setTrack( TagLib::uint )
-+void RealMedia::Tag::setTrack( unsigned int )
- {
- // TODO: write support
- }
-diff -U 3 -r a/taglib-extras/rmff/realmediafile.h b/taglib-extras/rmff/realmediafile.h
---- a/taglib-extras/rmff/realmediafile.h 2009-09-21 16:34:45.000000000 +0200
-+++ b/taglib-extras/rmff/realmediafile.h 2024-03-18 19:25:44.642920743 +0100
-@@ -54,15 +54,15 @@
- virtual TagLib::String album () const;
- virtual TagLib::String comment () const;
- virtual TagLib::String genre () const;
-- virtual TagLib::uint year () const;
-- virtual TagLib::uint track () const;
-+ virtual unsigned int year () const;
-+ virtual unsigned int track () const;
- virtual void setTitle (const TagLib::String &s);
- virtual void setArtist (const TagLib::String &s);
- virtual void setAlbum (const TagLib::String &s);
- virtual void setComment (const TagLib::String &s);
- virtual void setGenre (const TagLib::String &s);
-- virtual void setYear (TagLib::uint i);
-- virtual void setTrack (TagLib::uint i);
-+ virtual void setYear (unsigned int i);
-+ virtual void setTrack (unsigned int i);
-
- bool isEmpty() const;
- void duplicate(const Tag *source, Tag *target, bool overwrite);
-diff -U 3 -r a/taglib-extras/rmff/rmff.cpp b/taglib-extras/rmff/rmff.cpp
---- a/taglib-extras/rmff/rmff.cpp 2009-09-17 17:38:07.000000000 +0200
-+++ b/taglib-extras/rmff/rmff.cpp 2024-03-18 19:25:59.039184503 +0100
-@@ -98,12 +98,12 @@
- return !m_err && m_id3v1tag ? m_id3v1tag->tag()->genre() : "";
- }
-
--TagLib::uint RealMedia::RealMediaFF::year() const
-+unsigned int RealMedia::RealMediaFF::year() const
- {
- return !m_err && m_id3v1tag ? m_id3v1tag->tag()->year() : 0;
- }
-
--TagLib::uint RealMedia::RealMediaFF::track() const
-+unsigned int RealMedia::RealMediaFF::track() const
- {
- return !m_err && m_id3v1tag ? m_id3v1tag->tag()->track() : 0;
- }
-diff -U 3 -r a/taglib-extras/rmff/rmff.h b/taglib-extras/rmff/rmff.h
---- a/taglib-extras/rmff/rmff.h 2009-09-17 17:38:07.000000000 +0200
-+++ b/taglib-extras/rmff/rmff.h 2024-03-18 19:26:08.022265920 +0100
-@@ -290,8 +290,8 @@
- TagLib::String album () const;
- TagLib::String comment () const;
- TagLib::String genre () const;
-- TagLib::uint year () const;
-- TagLib::uint track () const;
-+ unsigned int year () const;
-+ unsigned int track () const;
- // TODO write support
- //void setTitle (const String &s);
- //void setArtist (const String &s);
diff --git a/media-libs/taglib-extras/metadata.xml b/media-libs/taglib-extras/metadata.xml
deleted file mode 100644
index d925f2439758..000000000000
--- a/media-libs/taglib-extras/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
- </maintainer>
- <upstream>
- <bugs-to>https://bugs.kde.org/</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/media-libs/taglib-extras/taglib-extras-1.0.1-r1.ebuild b/media-libs/taglib-extras/taglib-extras-1.0.1-r1.ebuild
deleted file mode 100644
index 5922b954ae99..000000000000
--- a/media-libs/taglib-extras/taglib-extras-1.0.1-r1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Unofficial taglib plugins maintained by the Amarok team"
-HOMEPAGE="https://websvn.kde.org/trunk/kdesupport/taglib-extras/"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ppc ~ppc64 x86"
-IUSE=""
-
-DEPEND="media-libs/taglib"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${P}-taglib110.patch" ) # bug 571072
diff --git a/media-libs/taglib-extras/taglib-extras-1.0.1-r2.ebuild b/media-libs/taglib-extras/taglib-extras-1.0.1-r2.ebuild
deleted file mode 100644
index 9dc52b5511f7..000000000000
--- a/media-libs/taglib-extras/taglib-extras-1.0.1-r2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Unofficial taglib plugins maintained by the Amarok team"
-HOMEPAGE="https://websvn.kde.org/trunk/kdesupport/taglib-extras/"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-IUSE=""
-
-DEPEND="media-libs/taglib:="
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${P}-taglib110.patch" # bug 571072
- "${FILESDIR}/${P}-taglib2.patch"
-)
diff --git a/media-libs/tiff/Manifest b/media-libs/tiff/Manifest
index d93a3d4ae1a1..87dd6604f381 100644
--- a/media-libs/tiff/Manifest
+++ b/media-libs/tiff/Manifest
@@ -2,6 +2,8 @@ AUX tiff-4.5.0-CVE-2022-48281.patch 496 BLAKE2B 08d90ff28e2e4338db3aa65b6fc0ee2e
AUX tiff-4.5.0-CVE-2023-0795-CVE-2023-0796-CVE-2023-0797-CVE-2023-0798-CVE-2023-0799.patch 13741 BLAKE2B 0e95d28944143fd3dd315dd8f6dca16baf9819cd920802feae5bdba791976f758a890364e9d3b4dc5387220090589406135b6692f1e4b0a4a92c2ef6d7a5c17f SHA512 a3ee53a95b64989a2d2917c94b0fb9923f3308b9b670d712296733eeb06240231b3e419f70438f717199eb7c3e406ae0c1872f25767d7635a846b916e067b5ee
AUX tiff-4.5.0-CVE-2023-0800-CVE-2023-0801-CVE-2023-0802-CVE-2023-0803-CVE-2023-0804.patch 5925 BLAKE2B 82e499f28330cbf00f01b495485fc689e6f7eed26b2b16505857fb23c58ad62fee7020c48fc07d1e44b747ca8c7286e7f927b2c1a5520c79ba61d3029d28001f SHA512 097631e05e40f573880fe79623fbd3292641ee9f3431ef2fdb7285e3b8583e6e0d0a1bfff36dc1901ad6e4c34dff97da59904797f8f71ed4b965b2ae258daaa6
AUX tiff-4.5.0_rc1-skip-tools-tests-multilib.patch 1477 BLAKE2B d6daf36a65fcd2afbec2fd5e5f3b75fa4547f32079c0709e98a48b0ba28d993346dfc597ef46b37db5242f2e28c7dd87a1616fe9324ca2d9659a97040bcd23db SHA512 0c7b69ddd772d73fde800e610ed533804392d0ea4ddefa409f52abcf174cc77cd1f4160a03076043d654533e98812d642d5166030d97b273ec80f5288bf3eda3
+AUX tiff-4.7.0-fix-test-race.patch 1108 BLAKE2B 2a974a70fca5acd51f888429cc44ebc1e6104364720826cbede6763bdf22fc250a08b2348fc108dfc81ea54826ada3e8c45ace09572ff128638f1663da49aa8c SHA512 741c5d5394e8ecca09130d2884f4f883785c0d3aca9915cc746587a784105be0f97474ce620f5018297f7dd2644d10b9870c93161ddf3af3fe3325b60538892a
+AUX tiff-4.7.0-test-directory-big-endian.patch 14212 BLAKE2B d9be5513727114824b8bcbc2b5e42a57d71093996162742cda5dfe34fb051583f6b9451abb3b85a73c134f19b3a64b9ce820182cebf4d4e9129f9e1d20f47941 SHA512 375c912da1d86173fa9d60ff9486a05313ed9dc94ddb1200c4b0d85d67b4375644e05c3a8e679008e7572efbeaf10f7488d55d5d868629ca584db38f0d31438a
DIST tiff-4.5.0.tar.xz 2320900 BLAKE2B c69801ba9d55b1ed27a92d31d8cd16937fe69299fbf5450efb4a6caa60245b72ddade110daae78f2198613640383623f76ec2265ba785375d0a85c7909b73fe9 SHA512 c6c866064c2dd5d1711c6ece7bafe5f011f5ce26c0aeaecbff79c05b5671f44150324bea95a0665cc43331883114de855ee1cd87ed733bff0f4d0814515b9f10
DIST tiff-4.5.0.tar.xz.sig 310 BLAKE2B bbe7f9600061416227276424eb220714a1375d3e295cb0c5b7f76074324c1a2698a5029dde3e734331e9caf02d8a086273ded2ab09285857dbbfe3ad83506912 SHA512 8cef09755f4efe68db69591967e495852cf63c2d8113a877a2254f536d38c60b6dc864c07089249cd8109a8408672a297ae9e59d8233687bc2796dc158ccfb32
DIST tiff-4.5.1.tar.xz 2228040 BLAKE2B 793c03593c46d6f804f622f5ff7e799751ee79e87ec1575801d2238fbcd2e89ed657a5081d3651e337f1bb14603ff94a15aad878e7fdf2cf75ada38eed64d9d2 SHA512 fc6af93d36598527480c517ddc4f19fe72e9f07ef4997e5731604253c8db0b9bae816ba7a56985bf22fbbb48db1fab5ed4c2b32a5145bc9477ef24b221a61179
@@ -14,6 +16,6 @@ EBUILD tiff-4.5.0-r2.ebuild 2858 BLAKE2B 3b1fb10b0b37f4a7ea7a19e9c7efa97ca736c7f
EBUILD tiff-4.5.1.ebuild 2475 BLAKE2B ef048936037c7e6d152d463441c17e2c4a226076f22a90c031777eb3f08e1593e1a7c1a559907f8f40b7669b24547ec9cbe09f4e1286aceaa34ae1dcb80f75d7 SHA512 2a1f0f1998a41b825bdb2d5076b59b6ec4830e35d0973a7a272f53642ce29ea7f6c76d3b65af1db00d18fa9f2d3dead14bf82bd6c0b303c7288130aea8519438
EBUILD tiff-4.6.0-r1.ebuild 2459 BLAKE2B 1747a8a7d4587ad7fb98859eb194d4773b1363bfd05e214174aec71b9ad2dede65c0ef5b1a41e72dc28878dad2f68745c85cce3266e245680cc62d39c070ff13 SHA512 0f3066293cb56d4bf87704f20dda0c6f6dae6f30dd78a3386704a872908579fe743309e6bf7b0c79f04dafa24a7bb73f3eaa9c2e92f1774007a125c0210f5598
EBUILD tiff-4.6.0.ebuild 2422 BLAKE2B acff03408569324c3f48c18284e03b183e77b2c31bad2056a2ab72254ad9afe358331fd59aaa922bf96e14fe028df1b6dbbbbc50971ea5bd50100beacb3ff495 SHA512 e8ee04b2333164669167d81e38993bfbf7dfd76e7b0456dbd08b8ed84a5115bc2eb2a748022c83c97325b5932839e901f4851bb995e194b85daeaa4063187dee
-EBUILD tiff-4.7.0-r1.ebuild 2703 BLAKE2B e57beadb3e5cea57cb129ce5c7b7ed69d5952e7c4b66d59a10ddadacb8f246563d28690f2d11a58a0772702f8467f9239136714c6bb3d0525f81a799a96bd284 SHA512 c74eef4e38222d0454cf7dcc7ca8c130648f6b82e2f8441518721fe4bff5f136308786a0a61a50c51810bc5e537241bcae20e33fd199c6e9b48cbabe3e749485
-EBUILD tiff-4.7.0.ebuild 2546 BLAKE2B e887bc36de86276a6da1250ba9fb47c98ae0a5a3c9019188673930dd62ee047bfa99d0a66da8272f65228a776cfc7aec9e82e7adf951e28bf4c6f35a010e7dde SHA512 9cbe3015a6d90b069cd240474ac22fa31dff392dac6e4fdeea4e5d2d788da676731ff5600a6715336bc454de6031635f8755255d541618a3fcf1414b4f6fa392
+EBUILD tiff-4.7.0-r1.ebuild 2820 BLAKE2B 83076f704afe27b3cab95a786b12993df64a3372562fd23fa463469b3c3b0a04be6a7c7d9f66dad294d304d7af995e87b06ffeb0b10e8d16159cbea3373adf04 SHA512 6a7c372421cf1f30f8da3147a752838ae38018cb82752fe249d900d12609f70da3196d78f9f76080ea6f5de16efdce672b2026c46dda73b6dbb4a4b477d8f315
+EBUILD tiff-4.7.0.ebuild 2611 BLAKE2B d31958355f25260f13671a1ec0efb5ca966d9ebe80c2df7392e78822d186bca95af649cf3ad718db80e9b3380d658f39bee68f259c548e217fce36d088606af1 SHA512 3a3d4963e884dcc0629bd22e81bee44d74b562a1a5744a381198b6623289e97ba921095f010816c4f84c3a13edb0da9bcd7810a683838fc0070a88ae681e6e93
MISC metadata.xml 722 BLAKE2B 0d24bf901d5d89dfa15aff1ae88c5b55defe7e596cc214fa89404b9012ea4e7a0f722e4c7095e5fe1c57d7d18921daf21125853ebc66c34a531f057b96e8a8a5 SHA512 b68eddf4baed5d883038605a8493721bf80ff6a85075e45cc74e972937e88a18aabb6a7e2c661d457bf21a628fa3447bb71ae2da0481c76bc84cf95ee58ae615
diff --git a/media-libs/tiff/files/tiff-4.7.0-fix-test-race.patch b/media-libs/tiff/files/tiff-4.7.0-fix-test-race.patch
new file mode 100644
index 000000000000..3c26eb617b1b
--- /dev/null
+++ b/media-libs/tiff/files/tiff-4.7.0-fix-test-race.patch
@@ -0,0 +1,30 @@
+https://gitlab.com/libtiff/libtiff/-/merge_requests/701
+https://bugs.gentoo.org/943020
+
+From efadbbd8746d2c6c8129438716e2c1e8aeecafdb Mon Sep 17 00:00:00 2001
+From: Gabi Falk <gabifalk@gmx.com>
+Date: Wed, 26 Feb 2025 14:00:00 +0000
+Subject: [PATCH] test: Fix race condition in
+ {tiffcrop,tiffcp}-32bpp-None-jpeg.sh tests
+
+These tests used the same output path, which could cause failures
+when run in parallel. These were the only tests with a conflicting
+outfile= parameter.
+
+Link: https://bugs.gentoo.org/943020
+---
+ test/tiffcrop-32bpp-None-jpeg.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/tiffcrop-32bpp-None-jpeg.sh b/test/tiffcrop-32bpp-None-jpeg.sh
+index 9b0d1f5f..4a47f6ed 100755
+--- a/test/tiffcrop-32bpp-None-jpeg.sh
++++ b/test/tiffcrop-32bpp-None-jpeg.sh
+@@ -2,6 +2,6 @@
+ # Generated file, master is Makefile.am
+ . ${srcdir:-.}/common.sh
+ infile="$srcdir/images/32bpp-None-jpeg.tiff"
+-outfile="o-tiffcp-32bpp-None-jpeg-YCbCr.tiff"
++outfile="o-tiffcrop-32bpp-None-jpeg-YCbCr.tiff"
+ f_test_convert "${TIFFCROP} -c jpeg" $infile $outfile
+ f_tiffinfo_validate $outfile
diff --git a/media-libs/tiff/files/tiff-4.7.0-test-directory-big-endian.patch b/media-libs/tiff/files/tiff-4.7.0-test-directory-big-endian.patch
new file mode 100644
index 000000000000..0eca0b69954f
--- /dev/null
+++ b/media-libs/tiff/files/tiff-4.7.0-test-directory-big-endian.patch
@@ -0,0 +1,328 @@
+https://gitlab.com/libtiff/libtiff/-/issues/652
+https://gitlab.com/libtiff/libtiff/-/issues/656
+https://gitlab.com/libtiff/libtiff/-/merge_requests/673
+
+From 388be62f9e2167ea076579e2605ff8eb91117ad6 Mon Sep 17 00:00:00 2001
+From: Su_Laus <sulau@freenet.de>
+Date: Wed, 30 Oct 2024 21:03:17 +0100
+Subject: [PATCH 1/3] Update test/test_directory.c not to fail on big-endian
+ machines.
+
+Closes #652
+--- a/test/test_directory.c
++++ b/test/test_directory.c
+@@ -1986,9 +1986,12 @@ int test_current_dirnum_incrementing(int testcase, unsigned int openMode)
+ #define TIFFSeekFile_M(tif, off, whence) \
+ ((*TIFFGetSeekProc(tif))(TIFFClientdata(tif), (off), (whence)));
+
+- /* Code below does only handle Classic-TIFF without swapping". */
++ /* Code below does only handle Classic-TIFF without swapping. */
+ if (!(TIFFIsByteSwapped(tif) || TIFFIsBigTIFF(tif)))
+ {
++ /* Patch nextIFDOffset of IFD2, which is 0, with offset to itself.
++ * This generates an IFD3 without any elements at the end of file.
++ * Reading IFD3 should provoke reading error. */
+ uint64_t ss = TIFFSeekFile_M(tif, offsetBase[2], 0);
+ uint16_t cnt = 0;
+ uint64_t rr = TIFFReadFile_M(tif, &cnt, 2);
+@@ -1998,43 +2001,84 @@ int test_current_dirnum_incrementing(int testcase, unsigned int openMode)
+ (void)rr;
+
+ /* Now there are offsets to four IFDs in the file, where the last one is
+- * not existing and has a non-valid dircount and entries behind EOF. */
++ * not existing and has a non-valid dircount and entries behind EOF.
++ * For LE-machines dircount is 458 (as offset) and for BE-machines
++ * dircount is zero. */
++#ifdef WORDS_BIGENDIAN
++ fprintf(stderr, "----- Expect error messages about 'Error fetching "
++ "directory count.' -----\n");
++#else
+ fprintf(stderr, "----- Expect error messages about 'Error fetching "
+ "directory link.' -----\n");
++#endif
+ /* TIFFNumberOfDirectories() returns 3 */
+ lastdir = TIFFNumberOfDirectories(tif);
+ TIFFSetDirectory(tif, 0);
+ CHECKCURDIRNUM_M(tif, 0, __LINE__);
++
++ /* TIFFSetDirectory(3) fails with error messages:
++ * TIFFFetchDirectory: test_current_dirnum_incrementing_wl.tif:
++ * Can not read TIFF directory.
++ * TIFFReadDirectory: Failed to read directory at offset 458. */
+ fprintf(stderr, "----- Expect error messages about 'Cannot read TIFF "
+ "directory.' -----\n");
+ if (TIFFSetDirectory(tif, 3))
+ {
+ fprintf(stderr,
+- "TIFFSetDirectory(3) for IFD4 was expected to fail but "
++ "TIFFSetDirectory(3) for IFD3 was expected to fail but "
+ "succeeded for %s "
+ "at %d\n",
+ filename, __LINE__);
+ goto failure;
+ }
++
+ /* Fails in 4.6.0 */
+ CHECKCURDIRNUM_M(tif, (tdir_t)(-1), __LINE__);
+ offsetBase[3] = TIFFCurrentDirOffset(tif);
+
+- /* Point IFD3 to a location within the file, where it has now a
+- * non-valid dircount=0. */
++ /* Point IFD3 to a location within the file, where it has now:
++ * - for LE-machines a non-valid dircount=0.
++ * - for BE-machines a dircount!=0 and dir is read with errors. */
+ ss = TIFFSeekFile_M(tif, offsetBase[2] + cnt * 12 + 2, 0);
+ wt = (uint32_t)(offsetBase[1] + 8);
+ rr = TIFFWriteFile_M(tif, &wt, 4);
++
++#ifdef WORDS_BIGENDIAN
++ fprintf(stderr, "----- Expect error messages about 'Error fetching "
++ "directory count.' -----\n");
++#else
+ fprintf(stderr, "----- Expect error messages about 'Error fetching "
+ "directory link.' -----\n");
++#endif
+ /* TIFFNumberOfDirectories() returns now 4 */
+ lastdir = TIFFNumberOfDirectories(tif);
+ TIFFSetDirectory(tif, 0);
+ CHECKCURDIRNUM_M(tif, 0, __LINE__);
++
++ /* For LE-machines the next TIFFSetDirectory(3) fails with error
++ * messages:
++ * test_current_dirnum_incrementing_wl.tif: Failed to allocate
++ * memory for to read TIFF directory (0 elements of 12 bytes each).
++ * TIFFReadDirectory: Failed to read directory at offset 178.
++ *
++ * For BE-machines, next TIFFSetDirectory(3) results in an error
++ * but that TIFFSetDirectory(3) sets the IFD active. Warning messages:
++ * TIFFReadDirectory: Warning, Unknown field with tag 1 (0x1)
++ * encountered.
++ * MissingRequired: TIFF directory is missing required
++ * "ImageLength" field.
++ */
++#ifdef WORDS_BIGENDIAN
++ fprintf(stderr,
++ "----- Expect error messages about ' Unknown field with tag 1 "
++ "(0x1) encountered.' AND 'MissingRequired: TIFF directory is "
++ "missing required ImageLength field.' -----\n");
++#else
+ fprintf(stderr,
+ "----- Expect error messages about 'Failed to allocate "
+ "memory for to read TIFF directory.' AND 'Failed to read "
+ "directory ..' -----\n");
++#endif
+ if (TIFFSetDirectory(tif, 3))
+ {
+ fprintf(stderr,
+@@ -2044,8 +2088,13 @@ int test_current_dirnum_incrementing(int testcase, unsigned int openMode)
+ filename, __LINE__);
+ goto failure;
+ }
++
+ /* Fails in 4.6.0 */
++#ifdef WORDS_BIGENDIAN
++ CHECKCURDIRNUM_M(tif, (tdir_t)(3), __LINE__);
++#else
+ CHECKCURDIRNUM_M(tif, (tdir_t)(-1), __LINE__);
++#endif
+ }
+
+ unlink(filename);
+--
+GitLab
+
+
+From e201cd9d944fb18afdb385668008b0eb9d84cc80 Mon Sep 17 00:00:00 2001
+From: Su_Laus <sulau@freenet.de>
+Date: Sat, 16 Nov 2024 10:33:04 +0100
+Subject: [PATCH 2/3] Replace "#ifdef WORDS_BIGENDIAN" by restricting test on
+ little-endian TIFF files with swapping of patch data for BE-machines.
+
+--- a/test/test_directory.c
++++ b/test/test_directory.c
+@@ -1977,8 +1977,8 @@ int test_current_dirnum_incrementing(int testcase, unsigned int openMode)
+ TIFFSetSubDirectory(tif, 0);
+ CHECKCURDIRNUM_M(tif, (tdir_t)(-1), __LINE__);
+
+-/*-- Patch offset of IFD2 to not existing IFD3 without entries.
+- * Thus TIFFFetchDirectory() will fail. --*/
++ /*-- Patch offset of IFD2 to not existing IFD3 without entries.
++ * Thus TIFFFetchDirectory() will fail. --*/
+ #define TIFFReadFile_M(tif, buf, size) \
+ ((*TIFFGetReadProc(tif))(TIFFClientdata(tif), (buf), (size)));
+ #define TIFFWriteFile_M(tif, buf, size) \
+@@ -1986,8 +1986,15 @@ int test_current_dirnum_incrementing(int testcase, unsigned int openMode)
+ #define TIFFSeekFile_M(tif, off, whence) \
+ ((*TIFFGetSeekProc(tif))(TIFFClientdata(tif), (off), (whence)));
+
+- /* Code below does only handle Classic-TIFF without swapping. */
+- if (!(TIFFIsByteSwapped(tif) || TIFFIsBigTIFF(tif)))
++ /* ---------------------------------------------------------------------
++ * Test IFD index incrementing in case the functions return with certain
++ * errors. To provoke that errors, the file is patched by writing bytes
++ * directly into the file. Therefore, code below does only handle
++ * Classic-TIFF and little-endian files.
++ * The code works also on big endian machines, which have to swap some
++ * directly read/written values.
++ * --------------------------------------------------------------------- */
++ if (!(TIFFIsBigEndian(tif) || TIFFIsBigTIFF(tif)))
+ {
+ /* Patch nextIFDOffset of IFD2, which is 0, with offset to itself.
+ * This generates an IFD3 without any elements at the end of file.
+@@ -1995,23 +2002,22 @@ int test_current_dirnum_incrementing(int testcase, unsigned int openMode)
+ uint64_t ss = TIFFSeekFile_M(tif, offsetBase[2], 0);
+ uint16_t cnt = 0;
+ uint64_t rr = TIFFReadFile_M(tif, &cnt, 2);
++ if (TIFFIsByteSwapped(tif))
++ TIFFSwabShort(&cnt);
+ ss = TIFFSeekFile_M(tif, offsetBase[2] + cnt * 12 + 2, 0);
+ uint32_t wt = (uint32_t)ss;
++ if (TIFFIsByteSwapped(tif))
++ TIFFSwabLong(&wt);
+ rr = TIFFWriteFile_M(tif, &wt, 4);
+ (void)rr;
+
+ /* Now there are offsets to four IFDs in the file, where the last one is
+ * not existing and has a non-valid dircount and entries behind EOF.
+- * For LE-machines dircount is 458 (as offset) and for BE-machines
+- * dircount is zero. */
+-#ifdef WORDS_BIGENDIAN
+- fprintf(stderr, "----- Expect error messages about 'Error fetching "
+- "directory count.' -----\n");
+-#else
++ * (dircount is 458 (as offset) */
+ fprintf(stderr, "----- Expect error messages about 'Error fetching "
+ "directory link.' -----\n");
+-#endif
+- /* TIFFNumberOfDirectories() returns 3 */
++ /* TIFFNumberOfDirectories() returns 3 and omits the invalid fourth IFD.
++ */
+ lastdir = TIFFNumberOfDirectories(tif);
+ TIFFSetDirectory(tif, 0);
+ CHECKCURDIRNUM_M(tif, 0, __LINE__);
+@@ -2033,52 +2039,41 @@ int test_current_dirnum_incrementing(int testcase, unsigned int openMode)
+ }
+
+ /* Fails in 4.6.0 */
++ /* Reading invalid IFD 3 leads to an error and was not read in.
++ * Therefore, curdir shall be 65535 (non-existing directory) */
+ CHECKCURDIRNUM_M(tif, (tdir_t)(-1), __LINE__);
+ offsetBase[3] = TIFFCurrentDirOffset(tif);
+
+- /* Point IFD3 to a location within the file, where it has now:
+- * - for LE-machines a non-valid dircount=0.
+- * - for BE-machines a dircount!=0 and dir is read with errors. */
++ /* Point IFD3 to a location within the file, where it has now for
++ * little-endian TIFF files a non-valid dircount=0, which leads also to
++ * an error and the IFD is not read in. */
+ ss = TIFFSeekFile_M(tif, offsetBase[2] + cnt * 12 + 2, 0);
+ wt = (uint32_t)(offsetBase[1] + 8);
++ // wt = (uint32_t)(ss + 400);
++ if (TIFFIsByteSwapped(tif))
++ TIFFSwabLong(&wt);
+ rr = TIFFWriteFile_M(tif, &wt, 4);
+
+-#ifdef WORDS_BIGENDIAN
+- fprintf(stderr, "----- Expect error messages about 'Error fetching "
+- "directory count.' -----\n");
+-#else
+ fprintf(stderr, "----- Expect error messages about 'Error fetching "
+ "directory link.' -----\n");
+-#endif
+- /* TIFFNumberOfDirectories() returns now 4 */
++ /* TIFFNumberOfDirectories() returns now 4, because for an IFD linked
++ * list dircount=0 is not treated as an error and there is an offset
++ * (=1) to a next IFD. Then, at the fifth IFD a link error occurs. */
+ lastdir = TIFFNumberOfDirectories(tif);
+ TIFFSetDirectory(tif, 0);
+ CHECKCURDIRNUM_M(tif, 0, __LINE__);
+
+- /* For LE-machines the next TIFFSetDirectory(3) fails with error
+- * messages:
++ /* TIFFSetDirectory(3) fails with error messages:
+ * test_current_dirnum_incrementing_wl.tif: Failed to allocate
+ * memory for to read TIFF directory (0 elements of 12 bytes each).
+ * TIFFReadDirectory: Failed to read directory at offset 178.
+- *
+- * For BE-machines, next TIFFSetDirectory(3) results in an error
+- * but that TIFFSetDirectory(3) sets the IFD active. Warning messages:
+- * TIFFReadDirectory: Warning, Unknown field with tag 1 (0x1)
+- * encountered.
+- * MissingRequired: TIFF directory is missing required
+- * "ImageLength" field.
++ * The IFD 3 is not read in and curdir is set to 65535 (non-existing
++ * directory).
+ */
+-#ifdef WORDS_BIGENDIAN
+- fprintf(stderr,
+- "----- Expect error messages about ' Unknown field with tag 1 "
+- "(0x1) encountered.' AND 'MissingRequired: TIFF directory is "
+- "missing required ImageLength field.' -----\n");
+-#else
+ fprintf(stderr,
+ "----- Expect error messages about 'Failed to allocate "
+ "memory for to read TIFF directory.' AND 'Failed to read "
+ "directory ..' -----\n");
+-#endif
+ if (TIFFSetDirectory(tif, 3))
+ {
+ fprintf(stderr,
+@@ -2090,11 +2085,7 @@ int test_current_dirnum_incrementing(int testcase, unsigned int openMode)
+ }
+
+ /* Fails in 4.6.0 */
+-#ifdef WORDS_BIGENDIAN
+- CHECKCURDIRNUM_M(tif, (tdir_t)(3), __LINE__);
+-#else
+ CHECKCURDIRNUM_M(tif, (tdir_t)(-1), __LINE__);
+-#endif
+ }
+
+ unlink(filename);
+--
+GitLab
+
+
+From b470af83d549e890e4ace55620405d06cff20ae5 Mon Sep 17 00:00:00 2001
+From: Su_Laus <sulau@freenet.de>
+Date: Mon, 18 Nov 2024 19:52:26 +0100
+Subject: [PATCH 3/3] Add two missing TIFFClose() in order to avoid memory
+ leaks. Closes #656
+
+--- a/test/test_directory.c
++++ b/test/test_directory.c
+@@ -1365,6 +1365,7 @@ int test_rewrite_lastdir_offset(unsigned int openMode)
+ filename, N_DIRECTORIES, count);
+ goto failure;
+ }
++ /* hint: file was closed by count_directories() */
+ unlink(filename);
+ return 0;
+
+@@ -1511,6 +1512,8 @@ int test_lastdir_offset(unsigned int openMode)
+ }
+ }
+ }
++ /* hint: files are always closed by count_directories() and
++ * get_dir_offsets() */
+ unlink(filename_optimized);
+ unlink(filename_non_optimized);
+ return 0;
+@@ -2088,6 +2091,7 @@ int test_current_dirnum_incrementing(int testcase, unsigned int openMode)
+ CHECKCURDIRNUM_M(tif, (tdir_t)(-1), __LINE__);
+ }
+
++ TIFFClose(tif);
+ unlink(filename);
+ return 0;
+
+@@ -2176,6 +2180,7 @@ int test_curdircount_setting(unsigned int openMode)
+ CHECKCURDIRNUM_M(tif, (tdir_t)(-1), __LINE__);
+ }
+
++ TIFFClose(tif);
+ unlink(filename);
+ return 0;
+
+--
+GitLab
diff --git a/media-libs/tiff/tiff-4.7.0-r1.ebuild b/media-libs/tiff/tiff-4.7.0-r1.ebuild
index 838fe7bab110..7ae0f0d5a033 100644
--- a/media-libs/tiff/tiff-4.7.0-r1.ebuild
+++ b/media-libs/tiff/tiff-4.7.0-r1.ebuild
@@ -21,7 +21,7 @@ S="${WORKDIR}/${PN}-$(ver_cut 1-3)"
LICENSE="libtiff"
SLOT="0/6"
if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
IUSE="+cxx jbig jpeg lerc libdeflate lzma opengl static-libs test webp zlib zstd"
RESTRICT="!test? ( test )"
@@ -50,6 +50,11 @@ MULTILIB_WRAPPED_HEADERS=(
/usr/include/tiffconf.h
)
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-test-race.patch # bug#943020
+ "${FILESDIR}"/${P}-test-directory-big-endian.patch
+)
+
src_prepare() {
default
diff --git a/media-libs/tiff/tiff-4.7.0.ebuild b/media-libs/tiff/tiff-4.7.0.ebuild
index e1c35e00870a..84d12692c130 100644
--- a/media-libs/tiff/tiff-4.7.0.ebuild
+++ b/media-libs/tiff/tiff-4.7.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -45,6 +45,8 @@ MULTILIB_WRAPPED_HEADERS=(
/usr/include/tiffconf.h
)
+PATCHES=( "${FILESDIR}"/${P}-fix-test-race.patch ) # bug#943020
+
src_prepare() {
default