From 71ecc8c1bbf99749fdbcc77e41efc8cd4bf34868 Mon Sep 17 00:00:00 2001 From: Daniel Novomesky Date: Thu, 10 Mar 2022 12:40:00 +0100 Subject: media-libs/libjxl: new package, moved from ::guru Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Daniel Novomesky Signed-off-by: Joonas Niilola --- media-libs/libjxl/Manifest | 1 + media-libs/libjxl/libjxl-0.7.0_pre20220311.ebuild | 89 +++++++++++++++++++++++ media-libs/libjxl/libjxl-9999.ebuild | 82 +++++++++++++++++++++ media-libs/libjxl/metadata.xml | 21 ++++++ 4 files changed, 193 insertions(+) create mode 100644 media-libs/libjxl/Manifest create mode 100644 media-libs/libjxl/libjxl-0.7.0_pre20220311.ebuild create mode 100644 media-libs/libjxl/libjxl-9999.ebuild create mode 100644 media-libs/libjxl/metadata.xml diff --git a/media-libs/libjxl/Manifest b/media-libs/libjxl/Manifest new file mode 100644 index 000000000000..dff7d80ef035 --- /dev/null +++ b/media-libs/libjxl/Manifest @@ -0,0 +1 @@ +DIST libjxl-0.7.0_pre20220311.tar.gz 17322724 BLAKE2B a3cf970ea3db67e0890e94a5c74ea66610d4fed608fa3d079e6934a1d5f2bdc3ef4264c1df85e4b4efcd22c060087c712009f6c4a6b69a41f6e96ff3674c6de5 SHA512 f3e46ddea462b31de6df3c615c3cd628adc58c7ff41588e2ec4cc8929590c9272603a66ed4620b9ba550d85b3d1a6da3f51b1c4f8650ef8901347fea8af5d474 diff --git a/media-libs/libjxl/libjxl-0.7.0_pre20220311.ebuild b/media-libs/libjxl/libjxl-0.7.0_pre20220311.ebuild new file mode 100644 index 000000000000..f55c42c90382 --- /dev/null +++ b/media-libs/libjxl/libjxl-0.7.0_pre20220311.ebuild @@ -0,0 +1,89 @@ +# Copyright 2021-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_ECLASS=cmake +inherit cmake-multilib xdg + +DESCRIPTION="JPEG XL image format reference implementation" +HOMEPAGE="https://github.com/libjxl/libjxl" + +SRC_URI="https://api.github.com/repos/libjxl/libjxl/tarball/3f8e77fcfabe8ca8ddee6be4e662de525667c570 -> ${P}.tar.gz" +KEYWORDS="~amd64 ~x86" + +LICENSE="BSD" +SLOT="0" +IUSE="examples openexr" + +DEPEND="app-arch/brotli[${MULTILIB_USEDEP}] + dev-cpp/gflags[${MULTILIB_USEDEP}] + >=dev-cpp/highway-0.16.0[${MULTILIB_USEDEP}] + media-libs/giflib[${MULTILIB_USEDEP}] + media-libs/lcms[${MULTILIB_USEDEP}] + media-libs/libpng[${MULTILIB_USEDEP}] + openexr? ( media-libs/openexr:= ) + sys-libs/zlib[${MULTILIB_USEDEP}] + virtual/jpeg[${MULTILIB_USEDEP}] + x11-misc/shared-mime-info +" + +BDEPEND="" + +RDEPEND="${DEPEND}" + +S=${WORKDIR}/libjxl-libjxl-3f8e77f + +multilib_src_configure() { + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DBUILD_TESTING=OFF + -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_ENABLE_PLUGINS=OFF + -DJPEGXL_FORCE_SYSTEM_BROTLI=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_TCMALLOC=OFF + ) + + if multilib_is_native_abi; then + mycmakeargs+=( + -DJPEGXL_ENABLE_TOOLS=ON + -DJPEGXL_ENABLE_EXAMPLES=$(usex examples) + -DJPEGXL_ENABLE_OPENEXR=$(usex openexr) + ) + else + mycmakeargs+=( + -DJPEGXL_ENABLE_TOOLS=OFF + -DJPEGXL_ENABLE_EXAMPLES=OFF + -DJPEGXL_ENABLE_OPENEXR=OFF + ) + fi + + cmake_src_configure +} + +multilib_src_install() { + cmake_src_install + + if multilib_is_native_abi; then + if use examples; then + dobin "${BUILD_DIR}/jxlinfo" + fi + + insinto /usr/share/mime/packages + doins -r "${S}"/plugins/mime/image-jxl.xml + fi + + find "${D}" -name '*.a' -delete || die +} diff --git a/media-libs/libjxl/libjxl-9999.ebuild b/media-libs/libjxl/libjxl-9999.ebuild new file mode 100644 index 000000000000..3bd059b1fd3d --- /dev/null +++ b/media-libs/libjxl/libjxl-9999.ebuild @@ -0,0 +1,82 @@ +# Copyright 2021-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_ECLASS=cmake +inherit cmake-multilib git-r3 xdg + +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/skcms) + +LICENSE="BSD" +SLOT="0" +IUSE="examples gdk-pixbuf gimp210 openexr" + +DEPEND="app-arch/brotli[${MULTILIB_USEDEP}] + dev-cpp/gflags[${MULTILIB_USEDEP}] + >=dev-cpp/highway-0.16.0[${MULTILIB_USEDEP}] + media-libs/giflib[${MULTILIB_USEDEP}] + media-libs/libpng[${MULTILIB_USEDEP}] + openexr? ( media-libs/openexr:= ) + sys-libs/zlib[${MULTILIB_USEDEP}] + virtual/jpeg[${MULTILIB_USEDEP}] + x11-misc/shared-mime-info + gdk-pixbuf? ( x11-libs/gdk-pixbuf:2 ) + gimp210? ( >=media-gfx/gimp-2.10.28:0/2 ) +" + +BDEPEND="" + +RDEPEND="${DEPEND}" + +multilib_src_configure() { + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DBUILD_TESTING=OFF + -DJPEGXL_ENABLE_BENCHMARK=OFF + -DJPEGXL_ENABLE_COVERAGE=OFF + -DJPEGXL_ENABLE_FUZZERS=OFF + -DJPEGXL_ENABLE_SJPEG=OFF + -DJPEGXL_WARNINGS_AS_ERRORS=OFF + + -DJPEGXL_ENABLE_SKCMS=ON + -DJPEGXL_ENABLE_VIEWERS=OFF + -DJPEGXL_FORCE_SYSTEM_BROTLI=ON + -DJPEGXL_FORCE_SYSTEM_HWY=ON + -DJPEGXL_ENABLE_DOXYGEN=OFF + -DJPEGXL_ENABLE_MANPAGES=OFF + -DJPEGXL_ENABLE_JNI=OFF + -DJPEGXL_ENABLE_TCMALLOC=OFF + ) + + if multilib_is_native_abi; then + mycmakeargs+=( + -DJPEGXL_ENABLE_TOOLS=ON + -DJPEGXL_ENABLE_EXAMPLES=$(usex examples) + -DJPEGXL_ENABLE_OPENEXR=$(usex openexr) + -DJPEGXL_ENABLE_PLUGINS=ON + -DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=$(usex gdk-pixbuf) + -DJPEGXL_ENABLE_PLUGIN_GIMP210=$(usex gimp210) + ) + else + mycmakeargs+=( + -DJPEGXL_ENABLE_TOOLS=OFF + -DJPEGXL_ENABLE_EXAMPLES=OFF + -DJPEGXL_ENABLE_OPENEXR=OFF + -DJPEGXL_ENABLE_PLUGINS=OFF + ) + fi + + cmake_src_configure +} + +multilib_src_install() { + cmake_src_install + if use examples && multilib_is_native_abi; then + dobin "${BUILD_DIR}/jxlinfo" + fi +} diff --git a/media-libs/libjxl/metadata.xml b/media-libs/libjxl/metadata.xml new file mode 100644 index 000000000000..fe211671a1a3 --- /dev/null +++ b/media-libs/libjxl/metadata.xml @@ -0,0 +1,21 @@ + + + + + dnovomesky@gmail.com + Daniel Novomesky + + + proxy-maint@gentoo.org + Proxy Maintainers + + + JPEG XL reference implementation + (encoder and decoder), called libjxl. + Contains command line utilities: cjxl, djxl, jxlinfo. + + + Build a gdk-pixbuf loader + Enable plugin for GIMP 2.10.x series + + -- cgit v1.2.3-65-gdbad