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

Reply via email to