commit: 567bd29baed6d7dc3430d4eaa187170fe9027a4c Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Wed Jun 5 10:50:48 2024 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Wed Jun 5 11:03:03 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=567bd29b
media-libs/libjxl: Add flags to control GIF, JPEG and PNG codecs Bug: https://bugs.gentoo.org/933165 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> ...{libjxl-9999.ebuild => libjxl-0.10.2-r1.ebuild} | 35 +++++++----- .../{libjxl-9999.ebuild => libjxl-0.8.2-r2.ebuild} | 66 +++++++++------------- .../{libjxl-9999.ebuild => libjxl-0.9.2-r1.ebuild} | 39 ++++++++----- media-libs/libjxl/libjxl-9999.ebuild | 14 +++-- media-libs/libjxl/metadata.xml | 6 +- 5 files changed, 89 insertions(+), 71 deletions(-) diff --git a/media-libs/libjxl/libjxl-9999.ebuild b/media-libs/libjxl/libjxl-0.10.2-r1.ebuild similarity index 70% copy from media-libs/libjxl/libjxl-9999.ebuild copy to media-libs/libjxl/libjxl-0.10.2-r1.ebuild index aef3acb16445..3430ddbc8d00 100644 --- a/media-libs/libjxl/libjxl-9999.ebuild +++ b/media-libs/libjxl/libjxl-0.10.2-r1.ebuild @@ -3,35 +3,40 @@ EAPI=8 -inherit cmake-multilib git-r3 gnome2-utils +inherit cmake-multilib gnome2-utils +# 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/" - -EGIT_REPO_URI="https://github.com/libjxl/libjxl.git" -EGIT_SUBMODULES=( - third_party/libjpeg-turbo - third_party/skcms - third_party/testdata -) +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" -IUSE="+gdk-pixbuf openexr test" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc64 ~riscv ~sparc ~x86" +IUSE="+gdk-pixbuf gif jpeg openexr +png test" +REQUIRED_USE="test? ( png )" 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}] gdk-pixbuf? ( dev-libs/glib:2 x11-libs/gdk-pixbuf:2 ) + gif? ( media-libs/giflib:=[${MULTILIB_USEDEP}] ) + jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) openexr? ( media-libs/openexr:= ) + png? ( media-libs/libpng:=[${MULTILIB_USEDEP}] ) " RDEPEND=" ${DEPEND} @@ -49,6 +54,10 @@ multilib_src_configure() { -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_WARNINGS_AS_ERRORS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_GIF=$(usex !gif) + -DCMAKE_DISABLE_FIND_PACKAGE_JPEG=$(usex !jpeg) + -DCMAKE_DISABLE_FIND_PACKAGE_PNG=$(usex !png) + -DJPEGXL_ENABLE_SKCMS=OFF -DJPEGXL_ENABLE_VIEWERS=OFF -DJPEGXL_FORCE_SYSTEM_BROTLI=ON diff --git a/media-libs/libjxl/libjxl-9999.ebuild b/media-libs/libjxl/libjxl-0.8.2-r2.ebuild similarity index 53% copy from media-libs/libjxl/libjxl-9999.ebuild copy to media-libs/libjxl/libjxl-0.8.2-r2.ebuild index aef3acb16445..ff3f34b606fb 100644 --- a/media-libs/libjxl/libjxl-9999.ebuild +++ b/media-libs/libjxl/libjxl-0.8.2-r2.ebuild @@ -3,35 +3,30 @@ EAPI=8 -inherit cmake-multilib git-r3 gnome2-utils +inherit cmake-multilib +# This changes frequently. Please check the testdata submodule when bumping. +TESTDATA_COMMIT="d6168ffb9e1cc24007e64b65dd84d822ad1fc759" DESCRIPTION="JPEG XL image format reference implementation" -HOMEPAGE="https://github.com/libjxl/libjxl/" - -EGIT_REPO_URI="https://github.com/libjxl/libjxl.git" -EGIT_SUBMODULES=( - third_party/libjpeg-turbo - third_party/skcms - third_party/testdata -) +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" -IUSE="+gdk-pixbuf openexr test" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc64 ~riscv ~sparc ~x86" +IUSE="gif jpeg openexr +png test" RESTRICT="!test? ( test )" DEPEND=" app-arch/brotli:=[${MULTILIB_USEDEP}] - >=dev-cpp/highway-1.0.7[${MULTILIB_USEDEP}] - media-libs/giflib:=[${MULTILIB_USEDEP}] + >=dev-cpp/highway-1.0.0[${MULTILIB_USEDEP}] >=media-libs/lcms-2.13:2[${MULTILIB_USEDEP}] - media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] - media-libs/libpng:=[${MULTILIB_USEDEP}] - gdk-pixbuf? ( - dev-libs/glib:2 - x11-libs/gdk-pixbuf:2 - ) + gif? ( media-libs/giflib:=[${MULTILIB_USEDEP}] ) + jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) openexr? ( media-libs/openexr:= ) + png? ( media-libs/libpng:=[${MULTILIB_USEDEP}] ) " RDEPEND=" ${DEPEND} @@ -41,6 +36,11 @@ DEPEND+=" test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] ) " +PATCHES=( + "${FILESDIR}/${PN}-0.8.2-backport-pr2596.patch" + "${FILESDIR}/${PN}-0.8.2-backport-pr2617.patch" +) + multilib_src_configure() { local mycmakeargs=( -DJPEGXL_ENABLE_BENCHMARK=OFF @@ -49,8 +49,13 @@ multilib_src_configure() { -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_WARNINGS_AS_ERRORS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_GIF=$(usex !gif) + -DCMAKE_DISABLE_FIND_PACKAGE_JPEG=$(usex !jpeg) + -DCMAKE_DISABLE_FIND_PACKAGE_PNG=$(usex !png) + -DJPEGXL_ENABLE_SKCMS=OFF -DJPEGXL_ENABLE_VIEWERS=OFF + -DJPEGXL_ENABLE_PLUGINS=OFF -DJPEGXL_FORCE_SYSTEM_BROTLI=ON -DJPEGXL_FORCE_SYSTEM_GTEST=ON -DJPEGXL_FORCE_SYSTEM_HWY=ON @@ -58,33 +63,24 @@ multilib_src_configure() { -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) ) - if use test; then - mycmakeargs+=( - -DJPEGXL_TEST_DATA_PATH="${WORKDIR}/testdata-${TESTDATA_COMMIT}" - ) - fi - 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 + -DBUILD_TESTING=$(usex test ON OFF) ) + use test && + mycmakeargs+=( -DJPEGXL_TEST_DATA_PATH="${WORKDIR}/testdata-${TESTDATA_COMMIT}" ) else mycmakeargs+=( -DJPEGXL_ENABLE_TOOLS=OFF -DJPEGXL_ENABLE_OPENEXR=OFF - -DJPEGXL_ENABLE_PLUGINS=OFF + -DBUILD_TESTING=OFF ) fi @@ -96,11 +92,3 @@ multilib_src_install() { find "${ED}" -name '*.a' -delete || die } - -pkg_postinst() { - use gdk-pixbuf && multilib_foreach_abi gnome2_gdk_pixbuf_update -} - -pkg_postrm() { - use gdk-pixbuf && multilib_foreach_abi gnome2_gdk_pixbuf_update -} diff --git a/media-libs/libjxl/libjxl-9999.ebuild b/media-libs/libjxl/libjxl-0.9.2-r1.ebuild similarity index 68% copy from media-libs/libjxl/libjxl-9999.ebuild copy to media-libs/libjxl/libjxl-0.9.2-r1.ebuild index aef3acb16445..00adab4f5232 100644 --- a/media-libs/libjxl/libjxl-9999.ebuild +++ b/media-libs/libjxl/libjxl-0.9.2-r1.ebuild @@ -3,35 +3,40 @@ EAPI=8 -inherit cmake-multilib git-r3 gnome2-utils +inherit cmake-multilib gnome2-utils +# 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/" - -EGIT_REPO_URI="https://github.com/libjxl/libjxl.git" -EGIT_SUBMODULES=( - third_party/libjpeg-turbo - third_party/skcms - third_party/testdata -) +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" -IUSE="+gdk-pixbuf openexr test" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc64 ~riscv ~sparc ~x86" +IUSE="+gdk-pixbuf gif jpeg openexr +png test" +REQUIRED_USE="test? ( png )" 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}] gdk-pixbuf? ( dev-libs/glib:2 x11-libs/gdk-pixbuf:2 ) + gif? ( media-libs/giflib:=[${MULTILIB_USEDEP}] ) + jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) openexr? ( media-libs/openexr:= ) + png? ( media-libs/libpng:=[${MULTILIB_USEDEP}] ) " RDEPEND=" ${DEPEND} @@ -41,6 +46,10 @@ DEPEND+=" test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] ) " +PATCHES=( + "${FILESDIR}/${PN}-0.9.1-backport-pr3143.patch" +) + multilib_src_configure() { local mycmakeargs=( -DJPEGXL_ENABLE_BENCHMARK=OFF @@ -49,6 +58,10 @@ multilib_src_configure() { -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_WARNINGS_AS_ERRORS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_GIF=$(usex !gif) + -DCMAKE_DISABLE_FIND_PACKAGE_JPEG=$(usex !jpeg) + -DCMAKE_DISABLE_FIND_PACKAGE_PNG=$(usex !png) + -DJPEGXL_ENABLE_SKCMS=OFF -DJPEGXL_ENABLE_VIEWERS=OFF -DJPEGXL_FORCE_SYSTEM_BROTLI=ON diff --git a/media-libs/libjxl/libjxl-9999.ebuild b/media-libs/libjxl/libjxl-9999.ebuild index aef3acb16445..5841fd207bc5 100644 --- a/media-libs/libjxl/libjxl-9999.ebuild +++ b/media-libs/libjxl/libjxl-9999.ebuild @@ -10,28 +10,28 @@ HOMEPAGE="https://github.com/libjxl/libjxl/" EGIT_REPO_URI="https://github.com/libjxl/libjxl.git" EGIT_SUBMODULES=( - third_party/libjpeg-turbo third_party/skcms third_party/testdata ) LICENSE="BSD" SLOT="0" -IUSE="+gdk-pixbuf openexr test" +IUSE="+gdk-pixbuf gif jpeg openexr +png test" +REQUIRED_USE="test? ( png )" 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}] gdk-pixbuf? ( dev-libs/glib:2 x11-libs/gdk-pixbuf:2 ) + gif? ( media-libs/giflib:=[${MULTILIB_USEDEP}] ) + jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) openexr? ( media-libs/openexr:= ) + png? ( media-libs/libpng:=[${MULTILIB_USEDEP}] ) " RDEPEND=" ${DEPEND} @@ -49,6 +49,10 @@ multilib_src_configure() { -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_WARNINGS_AS_ERRORS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_GIF=$(usex !gif) + -DCMAKE_DISABLE_FIND_PACKAGE_JPEG=$(usex !jpeg) + -DCMAKE_DISABLE_FIND_PACKAGE_PNG=$(usex !png) + -DJPEGXL_ENABLE_SKCMS=OFF -DJPEGXL_ENABLE_VIEWERS=OFF -DJPEGXL_FORCE_SYSTEM_BROTLI=ON diff --git a/media-libs/libjxl/metadata.xml b/media-libs/libjxl/metadata.xml index 1f058f4c648f..faffa19f3221 100644 --- a/media-libs/libjxl/metadata.xml +++ b/media-libs/libjxl/metadata.xml @@ -19,7 +19,11 @@ Contains command line utilities: cjxl, djxl, jxlinfo. </longdescription> <use> - <flag name="gdk-pixbuf">Build a gdk-pixbuf loader</flag> + <flag name="jpeg"> + Enable full support for JPEG images. When disabled, only + lossless conversion between JPEG and JPEG-XL is supported. + </flag> + <flag name="gdk-pixbuf">Build a gdk-pixbuf loader.</flag> </use> <upstream> <remote-id type="github">libjxl/libjxl</remote-id>
