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 +}
