commit:     494b6503b761cf25a2d0eee71436eb4309b6a6f7
Author:     Daniel Novomeský <dnovomesky <AT> gmail <DOT> com>
AuthorDate: Sun Jan 14 15:15:23 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan 19 13:34:05 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=494b6503

media-libs/libjxl: add 0.9.1

Signed-off-by: Daniel Novomeský <dnovomesky <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/34799
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 media-libs/libjxl/Manifest                         |   2 +
 .../files/libjxl-0.9.1-backport-pr3138.patch       |  46 ++++++++++
 .../files/libjxl-0.9.1-backport-pr3143.patch       |  23 +++++
 media-libs/libjxl/libjxl-0.9.1.ebuild              | 102 +++++++++++++++++++++
 4 files changed, 173 insertions(+)

diff --git a/media-libs/libjxl/Manifest b/media-libs/libjxl/Manifest
index 627513cfca74..337f34ffd734 100644
--- a/media-libs/libjxl/Manifest
+++ b/media-libs/libjxl/Manifest
@@ -3,4 +3,6 @@ DIST libjxl-0.7.0_pre20220825.tar.gz 1505499 BLAKE2B 
67b1f33112c85c8ccf1187cc444
 DIST libjxl-0.8.0.tar.gz 1611824 BLAKE2B 
e16fb51c7938be22754cad70ccab1e0e965b218993aa2fe9646b6b8958887b2e868bdc9631a9d3ff5c24ca1b02f9e262c4d531238d78a7d80f23ed5911a95b1e
 SHA512 
ef472ddc5e277f3d41491c2acc03ed0152ec3ea87efb9e3320cfd830ceb383728658318444b06a3e9f8662bc11c0014675966572ce33f49c8e5cb13c5ed48de1
 DIST libjxl-0.8.1.tar.gz 1611905 BLAKE2B 
75d7b4987c211e747520688a700744a0996483546b5929e8b765a66fc603b4d6edea8556bb427b8c7440ef447161fc38ef5ea390775f185df577da920711a009
 SHA512 
8011f2181cb627c2b516c7e1b8ecec78a201f357f3be6e568f7814a6a9c42d5979f4bb4ed040a67d68f6649d1f5c564f3cb2fac7e52702f755749084d903a737
 DIST libjxl-0.8.2.tar.gz 1612062 BLAKE2B 
2b5e65cde6c85881c5f26f676afec825c974f6919c3cc3f056ca4a9679162e89f2de35ab7d0b2a60782d39eca1f4ddad779f8d25d3f520417f6d9dea71e854db
 SHA512 
769f102c46755d11a705ce47ae9e2ef49627ae708f416693bf1293aeeb713934baf4466e45b9c70b04ec1fc8b4a00d5ca7688c8ca03f0a91c9a15252c522a887
+DIST libjxl-0.9.1.tar.gz 1872279 BLAKE2B 
723a098c07d61e7d1f4a7fda04d8be60594cf5a21307242e6d06deca64f8a2343078248d280fc8eb3fc9bb2277f7ffc6cc547b57a605a7aa95a0b21095450ccf
 SHA512 
a3169dac40b297617075a49cc5cdfa25e793a34b5dfe95db9c2560bdc967743882f0014d1d0fd508b8d2ea02cb3766d2f295af7a2cf9def8f5370f97b24aa16f
 DIST libjxl-testdata-d6168ffb9e1cc24007e64b65dd84d822ad1fc759.tar.gz 67553075 
BLAKE2B 
779fee87386e617edd93bca7a523fa1ab223ae88114c3cc5484987a7c92cca2d0bb3d668fa3c8064b2a0255c17a06447c009f4fbf9ef379692ddfa37dee1be97
 SHA512 
a48d74a1ccff404eb7675225b59965e056dc3fc09930572785d83bae03fa1c38e105336dbf5ecfc3f0995e8b8bfb1097b451ae661f2933590b2b152192c8aa2f
+DIST libjxl-testdata-ff8d743aaba05b3014f17e5475e576242fa979fc.tar.gz 69105882 
BLAKE2B 
a80fce437b810e7b99b4c7bd106ec7eba01a1eeddc90e1b82cb8d75f3ca194c357ef8e7b7e1e9da65aa39dc2cd11d32cb6de8558188c5258c7446d58787603ff
 SHA512 
0d237e706fd8d001a9cb245b685e8e39085416daedec019c348ccc64cf15a34cecdb0c245f94f57507f5934e487ee5157f51f59bb6a000f5899862c582336384

diff --git a/media-libs/libjxl/files/libjxl-0.9.1-backport-pr3138.patch 
b/media-libs/libjxl/files/libjxl-0.9.1-backport-pr3138.patch
new file mode 100644
index 000000000000..0da0a9ba8ab8
--- /dev/null
+++ b/media-libs/libjxl/files/libjxl-0.9.1-backport-pr3138.patch
@@ -0,0 +1,46 @@
+https://github.com/libjxl/libjxl/issues/3137
+https://github.com/libjxl/libjxl/pull/3138
+
+From 5e5dda47aee0a6f480984cf13cfc2be0044316e4 Mon Sep 17 00:00:00 2001
+From: Moritz Firsching <[email protected]>
+Date: Mon, 15 Jan 2024 13:43:01 +0100
+Subject: [PATCH] disable tooling test when not JPEGXL_ENABLE_TOOLS
+
+---
+ tools/conformance/CMakeLists.txt | 25 ++++++++++++++-----------
+ 1 file changed, 14 insertions(+), 11 deletions(-)
+
+diff --git a/tools/conformance/CMakeLists.txt 
b/tools/conformance/CMakeLists.txt
+index 5766612abf9..36249048c59 100644
+--- a/tools/conformance/CMakeLists.txt
++++ b/tools/conformance/CMakeLists.txt
+@@ -4,15 +4,18 @@
+ # license that can be found in the LICENSE file.
+ 
+ if(BUILD_TESTING AND CMAKE_EXECUTABLE_SUFFIX STREQUAL "")
+-# Script to validate the tooling.
+-find_program (BASH_PROGRAM bash)
+-if(BASH_PROGRAM)
+-  add_test(
+-    NAME conformance_tooling_test
+-    COMMAND
+-        ${BASH_PROGRAM} ${CMAKE_CURRENT_SOURCE_DIR}/tooling_test.sh
+-        ${CMAKE_BINARY_DIR} ${JPEGXL_TEST_DATA_PATH})
+-  # Skip the test if dependencies are not available.
+-  set_tests_properties(conformance_tooling_test PROPERTIES SKIP_RETURN_CODE 
254)
+-endif()
++  # Script to validate the tooling.
++  # Only add it when djxl being build.
++  if(JPEGXL_ENABLE_TOOLS)
++    find_program (BASH_PROGRAM bash)
++    if(BASH_PROGRAM)
++      add_test(
++        NAME conformance_tooling_test
++        COMMAND
++            ${BASH_PROGRAM} ${CMAKE_CURRENT_SOURCE_DIR}/tooling_test.sh
++            ${CMAKE_BINARY_DIR} ${JPEGXL_TEST_DATA_PATH})
++      # Skip the test if dependencies are not available.
++      set_tests_properties(conformance_tooling_test PROPERTIES 
SKIP_RETURN_CODE 254)
++    endif() # BASH_PROGRAM
++  endif() # JPEGXL_ENABLE_TOOLS
+ endif() # BUILD_TESTING

diff --git a/media-libs/libjxl/files/libjxl-0.9.1-backport-pr3143.patch 
b/media-libs/libjxl/files/libjxl-0.9.1-backport-pr3143.patch
new file mode 100644
index 000000000000..06c1498f3fea
--- /dev/null
+++ b/media-libs/libjxl/files/libjxl-0.9.1-backport-pr3143.patch
@@ -0,0 +1,23 @@
+From 0bfdf5c5429dbb866142bd75e4877794dc723b25 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Daniel=20Novomesk=C3=BD?= <[email protected]>
+Date: Mon, 15 Jan 2024 17:18:33 +0100
+Subject: [PATCH] plugins: use JPEGXL_TEST_DATA_PATH instead of hard-coded
+ path.
+
+---
+ plugins/gdk-pixbuf/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/gdk-pixbuf/CMakeLists.txt 
b/plugins/gdk-pixbuf/CMakeLists.txt
+index 7b53b98c665..12c1a83753e 100644
+--- a/plugins/gdk-pixbuf/CMakeLists.txt
++++ b/plugins/gdk-pixbuf/CMakeLists.txt
+@@ -74,7 +74,7 @@ if(BUILD_TESTING AND NOT CMAKE_CROSSCOMPILING)
+         COMMAND
+           ${XVFB_PROGRAM_PREFIX} $<TARGET_FILE:pixbufloader_test>
+           "${CMAKE_CURRENT_SOURCE_DIR}/loaders_test.cache"
+-          
"${CMAKE_SOURCE_DIR}/testdata/jxl/blending/cropped_traffic_light.jxl"
++          "${JPEGXL_TEST_DATA_PATH}/jxl/blending/cropped_traffic_light.jxl"
+         WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+       )
+       set_tests_properties(pixbufloader_test_jxl PROPERTIES SKIP_RETURN_CODE 
254)

diff --git a/media-libs/libjxl/libjxl-0.9.1.ebuild 
b/media-libs/libjxl/libjxl-0.9.1.ebuild
new file mode 100644
index 000000000000..a7270613e697
--- /dev/null
+++ b/media-libs/libjxl/libjxl-0.9.1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib flag-o-matic
+
+# This changes frequently.  Please check the testdata submodule when bumping.
+TESTDATA_COMMIT="ff8d743aaba05b3014f17e5475e576242fa979fc"
+DESCRIPTION="JPEG XL image format reference implementation"
+HOMEPAGE="https://github.com/libjxl/libjxl";
+SRC_URI="
+       https://github.com/libjxl/libjxl/archive/refs/tags/v${PV}.tar.gz -> 
${P}.tar.gz
+       test? (
+               
https://github.com/libjxl/testdata/archive/${TESTDATA_COMMIT}.tar.gz
+                       -> ${PN}-testdata-${TESTDATA_COMMIT}.tar.gz
+       )
+"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv 
~sparc ~x86"
+IUSE="gdk-pixbuf openexr test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+       app-arch/brotli:=[${MULTILIB_USEDEP}]
+       >=dev-cpp/highway-1.0.7[${MULTILIB_USEDEP}]
+       media-libs/giflib:=[${MULTILIB_USEDEP}]
+       >=media-libs/lcms-2.13:2[${MULTILIB_USEDEP}]
+       media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}]
+       media-libs/libpng:=[${MULTILIB_USEDEP}]
+       >=x11-misc/shared-mime-info-2.2
+       gdk-pixbuf? (
+               dev-libs/glib:2
+               x11-libs/gdk-pixbuf:2
+       )
+       openexr? ( media-libs/openexr:= )
+       test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )
+"
+RDEPEND="${DEPEND}"
+PATCHES=(
+       "${FILESDIR}/${PN}-0.9.1-backport-pr3138.patch"
+       "${FILESDIR}/${PN}-0.9.1-backport-pr3143.patch"
+)
+
+multilib_src_configure() {
+       filter-lto
+
+       local mycmakeargs=(
+               -DJPEGXL_ENABLE_BENCHMARK=OFF
+               -DJPEGXL_ENABLE_COVERAGE=OFF
+               -DJPEGXL_ENABLE_FUZZERS=OFF
+               -DJPEGXL_ENABLE_SJPEG=OFF
+               -DJPEGXL_WARNINGS_AS_ERRORS=OFF
+
+               -DJPEGXL_ENABLE_SKCMS=OFF
+               -DJPEGXL_ENABLE_VIEWERS=OFF
+               -DJPEGXL_FORCE_SYSTEM_BROTLI=ON
+               -DJPEGXL_FORCE_SYSTEM_GTEST=ON
+               -DJPEGXL_FORCE_SYSTEM_HWY=ON
+               -DJPEGXL_FORCE_SYSTEM_LCMS2=ON
+               -DJPEGXL_ENABLE_DOXYGEN=OFF
+               -DJPEGXL_ENABLE_MANPAGES=OFF
+               -DJPEGXL_ENABLE_JNI=OFF
+               -DJPEGXL_ENABLE_JPEGLI=OFF
+               -DJPEGXL_ENABLE_JPEGLI_LIBJPEG=OFF
+               -DJPEGXL_ENABLE_TCMALLOC=OFF
+               -DJPEGXL_ENABLE_EXAMPLES=OFF
+               -DBUILD_TESTING=$(usex test ON OFF)
+       )
+
+       use test &&
+               mycmakeargs+=(
+                       
-DJPEGXL_TEST_DATA_PATH="${WORKDIR}/testdata-${TESTDATA_COMMIT}"
+               )
+
+       if multilib_is_native_abi; then
+               mycmakeargs+=(
+                       -DJPEGXL_ENABLE_TOOLS=ON
+                       -DJPEGXL_ENABLE_OPENEXR=$(usex openexr)
+                       -DJPEGXL_ENABLE_PLUGINS=ON
+                       -DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=$(usex gdk-pixbuf)
+                       -DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF
+                       -DJPEGXL_ENABLE_PLUGIN_MIME=OFF
+               )
+       else
+               mycmakeargs+=(
+                       -DJPEGXL_ENABLE_TOOLS=OFF
+                       -DJPEGXL_ENABLE_OPENEXR=OFF
+                       -DJPEGXL_ENABLE_PLUGINS=OFF
+               )
+       fi
+
+       cmake_src_configure
+}
+
+multilib_src_install() {
+       cmake_src_install
+
+       find "${ED}" -name '*.a' -delete || die
+}

Reply via email to