commit: fd7b9099b103ed4b880d41491a5559ab9f709ecb Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> AuthorDate: Fri Nov 5 08:29:16 2021 +0000 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> CommitDate: Fri Nov 5 08:29:59 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=fd7b9099
media-libs/libjxl: add 0.6.1 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> media-libs/libjxl/Manifest | 1 + media-libs/libjxl/libjxl-0.6.1.ebuild | 156 ++++++++++++++++++++++++++++++++++ 2 files changed, 157 insertions(+) diff --git a/media-libs/libjxl/Manifest b/media-libs/libjxl/Manifest index 63de49120..fc7f70713 100644 --- a/media-libs/libjxl/Manifest +++ b/media-libs/libjxl/Manifest @@ -1 +1,2 @@ +DIST libjxl-0.6.1.tar.gz 16953185 BLAKE2B d1e906480e80458635a65bd89ce79f13d463e8cf4fb0dfccf6c473e7649fdc5593669effdf85afbb176920c89e61c65c4907834225f7c9e6da4c611996b201e3 SHA512 302935d722160b0b288ac63301f9e95caf82eccf6ad76c4f4da6316a0314ee3562115932b1ceacb0d02708de0a07788992d3478cae73af0b90193f5769f9fb52 DIST libjxl-0.6.tar.gz 16953410 BLAKE2B 8941987f6d31096a7286f9d98cdcc16e5fe338e6b3d966343f97fc5b5b932ec92c994fab5781448aa7d96324e5c9ce5c83754b01cf6e752d0702ce9fc0a2087f SHA512 934c86d079c7a1f5382fad158efac225b9d1b27e551ea85ea7ec43e7ffd5cba85ddbfa35658b242a9f9c9589decf245568349abfa8a4fe12898af78d51608852 diff --git a/media-libs/libjxl/libjxl-0.6.1.ebuild b/media-libs/libjxl/libjxl-0.6.1.ebuild new file mode 100644 index 000000000..2ac499ef3 --- /dev/null +++ b/media-libs/libjxl/libjxl-0.6.1.ebuild @@ -0,0 +1,156 @@ +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit xdg cmake java-pkg-opt-2 + +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" + +KEYWORDS="~amd64" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="abi_x86_64 cpu_flags_arm_neon benchmark devtools examples java man +openexr plugins profile +sjpeg +skcms tcmalloc tools viewers" #emscripten fuzzers + +CDEPEND=" + app-arch/brotli + dev-cpp/highway:= + media-libs/libpng + media-libs/lodepng:= + media-libs/giflib + sys-libs/zlib + + benchmark? ( + media-libs/libavif + media-libs/libwebp + virtual/jpeg + ) + openexr? ( media-libs/openexr:= ) + plugins? ( + dev-libs/glib:2 + media-gfx/gimp + media-libs/babl + media-libs/gegl + media-libs/skcms:= + x11-libs/gdk-pixbuf + x11-misc/shared-mime-info + ) + sjpeg? ( media-libs/sjpeg:= ) + !skcms? ( media-libs/lcms ) + skcms? ( media-libs/skcms:= ) + tcmalloc? ( dev-util/google-perftools ) + viewers? ( + dev-qt/qtconcurrent + dev-qt/qtwidgets + dev-qt/qtx11extras + media-libs/lcms + x11-libs/libxcb + ) +" +RDEPEND=" + ${CDEPEND} + java? ( virtual/jre:1.8 ) +" +DEPEND=" + ${CDEPEND} + dev-cpp/gtest + kde-frameworks/extra-cmake-modules + java? ( virtual/jdk:1.8 ) + plugins? ( x11-misc/xdg-utils ) +" +BDEPEND=" + virtual/pkgconfig + man? ( app-text/asciidoc ) +" + +PATCHES=( "${FILESDIR}/${PN}-0.6-system-libs.patch" ) +REQUIRED_USE="tcmalloc? ( abi_x86_64 )" +DOCS=( AUTHORS README.md SECURITY.md PATENTS CONTRIBUTORS CHANGELOG.md ) + +CMAKE_IN_SOURCE_BUILD=1 + +src_prepare() { + # remove bundled libs cmake + rm third_party/*.cmake || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DJPEGXL_ENABLE_BENCHMARK=$(usex benchmark) + -DJPEGXL_ENABLE_DEVTOOLS=$(usex devtools) + -DJPEGXL_ENABLE_EXAMPLES=$(usex examples) + -DJPEGXL_ENABLE_JNI=$(usex java) + -DJPEGXL_ENABLE_MANPAGES=$(usex man) + -DJPEGXL_ENABLE_OPENEXR=$(usex openexr) + -DJPEGXL_ENABLE_PLUGINS=$(usex plugins) + -DJPEGXL_ENABLE_PROFILER=$(usex profile) + -DJPEGXL_ENABLE_SJPEG=$(usex sjpeg) + -DJPEGXL_ENABLE_SKCMS=$(usex skcms) + -DJPEGXL_ENABLE_TCMALLOC=$(usex tcmalloc) + -DJPEGXL_ENABLE_TOOLS=$(usex tools) + -DJPEGXL_ENABLE_VIEWERS=$(usex viewers) + -DJPEGXL_FORCE_NEON=$(usex cpu_flags_arm_neon) + + -DBUILD_SHARED_LIBS=ON + -DJPEGXL_BUNDLE_SKCMS=OFF + -DJPEGXL_ENABLE_COVERAGE=OFF + -DJPEGXL_ENABLE_FUZZERS=OFF + -DJPEGXL_ENABLE_TRANSCODE_JPEG=ON + -DJPEGXL_FORCE_SYSTEM_BROTLI=ON + -DJPEGXL_FORCE_SYSTEM_GTEST=ON + -DJPEGXL_FORCE_SYSTEM_HWY=ON + -DJPEGXL_STATIC=OFF + -DJPEGXL_WARNINGS_AS_ERRORS=OFF + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + einstalldocs + #TODO: install documentation + exeinto "/usr/libexec/${PN}" + if use examples; then + doexe {en,de}code_oneshot + dobin jxlinfo + fi + pushd "${BUILD_DIR}/tools" || die + insinto "/usr/share/${PN}" + doins progressive_saliency.conf example_tree.txt + if use java; then + dolib.so libjxl_jni.so + rm libjxl_jni.so || die + doins *.jar + fi + if use benchmark; then + docinto "/usr/share/doc/${PF}/benchmark/hm" + dodoc benchmark/hm/README.md + else + rm -r benchmark || die + fi + # remove non executable or non .m files + find . -type f \! -name '*.m' \! -executable -delete || die + # delete empty dirs + find . -type d -empty -print -delete || die + mkdir -p "${ED}/usr/libexec/${PN}/tools/" || die + # install tools + cp -r . "${ED}/usr/libexec/${PN}/tools/" || die + + # keep in /usr/bin only the executables with jxl in the name + rm -f "${ED}"/usr/libexec/${PN}/tools/*jxl* || die + rm -f "${ED}"/usr/bin/{fuzzer_corpus,*_main,decode_and_encode,*_hlg,tone_map,xyb_range} || die + + find "${D}" -name '*.a' -delete || die +} + +pkg_postinst() { + xdg_mimeinfo_database_update +} + +pkg_postrm() { + xdg_mimeinfo_database_update +}
