commit:     0518c6760f02e240b61d02cea7188585a8c7f6cc
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Tue Oct 26 16:34:38 2021 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Tue Oct 26 16:35:07 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=0518c676

media-libs/libjxl: add 0.6

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 media-libs/libjxl/Manifest                         |  1 +
 .../libjxl/files/libjxl-0.6-system-libs.patch      | 87 ++++++++++++++++++++++
 media-libs/libjxl/libjxl-0.6.ebuild                | 87 ++++++++++++++++++++++
 media-libs/libjxl/metadata.xml                     | 11 +++
 4 files changed, 186 insertions(+)

diff --git a/media-libs/libjxl/Manifest b/media-libs/libjxl/Manifest
new file mode 100644
index 000000000..63de49120
--- /dev/null
+++ b/media-libs/libjxl/Manifest
@@ -0,0 +1 @@
+DIST libjxl-0.6.tar.gz 16953410 BLAKE2B 
8941987f6d31096a7286f9d98cdcc16e5fe338e6b3d966343f97fc5b5b932ec92c994fab5781448aa7d96324e5c9ce5c83754b01cf6e752d0702ce9fc0a2087f
 SHA512 
934c86d079c7a1f5382fad158efac225b9d1b27e551ea85ea7ec43e7ffd5cba85ddbfa35658b242a9f9c9589decf245568349abfa8a4fe12898af78d51608852

diff --git a/media-libs/libjxl/files/libjxl-0.6-system-libs.patch 
b/media-libs/libjxl/files/libjxl-0.6-system-libs.patch
new file mode 100644
index 000000000..6aa776078
--- /dev/null
+++ b/media-libs/libjxl/files/libjxl-0.6-system-libs.patch
@@ -0,0 +1,87 @@
+diff '--color=auto' -ru 
/var/tmp/portage/media-libs/libjxl-0.6/work/libjxl-0.6/lib/jxl.cmake 
libjxl-0.6/lib/jxl.cmake
+--- /var/tmp/portage/media-libs/libjxl-0.6/work/libjxl-0.6/lib/jxl.cmake       
2021-10-04 20:02:44.000000000 +0200
++++ libjxl-0.6/lib/jxl.cmake   2021-10-26 16:20:37.332839340 +0200
+@@ -387,17 +387,6 @@
+ target_link_libraries(jxl_enc-obj PUBLIC jxl_profiler)
+ endif()
+ 
+-#TODO(lode): don't depend on CMS for the core library
+-if (JPEGXL_ENABLE_SKCMS)
+-  target_include_directories(jxl_enc-obj PRIVATE
+-    $<TARGET_PROPERTY:skcms,INCLUDE_DIRECTORIES>
+-  )
+-else ()
+-  target_include_directories(jxl_enc-obj PRIVATE
+-    $<TARGET_PROPERTY:lcms2,INCLUDE_DIRECTORIES>
+-  )
+-endif ()
+-
+ # Headers for exporting/importing public headers
+ include(GenerateExportHeader)
+ set_target_properties(jxl_dec-obj PROPERTIES
+diff '--color=auto' -ru 
/var/tmp/portage/media-libs/libjxl-0.6/work/libjxl-0.6/plugins/gdk-pixbuf/CMakeLists.txt
 libjxl-0.6/plugins/gdk-pixbuf/CMakeLists.txt
+--- 
/var/tmp/portage/media-libs/libjxl-0.6/work/libjxl-0.6/plugins/gdk-pixbuf/CMakeLists.txt
   2021-10-26 15:59:28.124828026 +0200
++++ libjxl-0.6/plugins/gdk-pixbuf/CMakeLists.txt       2021-10-26 
16:24:08.540453940 +0200
+@@ -23,7 +23,7 @@
+ 
+ # Note: This only needs the decoder library, but we don't install the decoder
+ # shared library.
+-target_link_libraries(pixbufloader-jxl jxl jxl_threads skcms-interface 
PkgConfig::Gdk-Pixbuf)
++target_link_libraries(pixbufloader-jxl jxl jxl_threads skcms 
PkgConfig::Gdk-Pixbuf)
+ 
+ pkg_get_variable(GDK_PIXBUF_MODULEDIR gdk-pixbuf-2.0 gdk_pixbuf_moduledir)
+ install(TARGETS pixbufloader-jxl LIBRARY DESTINATION 
"${GDK_PIXBUF_MODULEDIR}")
+diff '--color=auto' -ru 
/var/tmp/portage/media-libs/libjxl-0.6/work/libjxl-0.6/third_party/CMakeLists.txt
 libjxl-0.6/third_party/CMakeLists.txt
+--- 
/var/tmp/portage/media-libs/libjxl-0.6/work/libjxl-0.6/third_party/CMakeLists.txt
  2021-10-26 15:59:28.123828010 +0200
++++ libjxl-0.6/third_party/CMakeLists.txt      2021-10-26 16:13:51.758212796 
+0200
+@@ -113,15 +113,6 @@
+   endif()  # JPEGXL_DEP_LICENSE_DIR
+ endif()
+ 
+-# lodepng
+-if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lodepng/lodepng.h" )
+-  message(FATAL_ERROR "Please run ${PROJECT_SOURCE_DIR}/deps.sh to fetch the "
+-          "build dependencies.")
+-endif()
+-include(lodepng.cmake)
+-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/lodepng/LICENSE"
+-               ${PROJECT_BINARY_DIR}/LICENSE.lodepng COPYONLY)
+-
+ # brotli
+ if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/brotli/c/include/brotli/decode.h" 
OR
+     JPEGXL_FORCE_SYSTEM_BROTLI)
+@@ -190,34 +181,3 @@
+     endforeach()
+   endif()  # BROTLI_EMSCRIPTEN
+ endif()
+-
+-# *cms
+-if (JPEGXL_ENABLE_SKCMS OR JPEGXL_ENABLE_PLUGINS)
+-  if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/skcms/skcms.h" )
+-    message(FATAL_ERROR "Please run ${PROJECT_SOURCE_DIR}/deps.sh to fetch 
the "
+-            "build dependencies.")
+-  endif()
+-  include(skcms.cmake)
+-  configure_file("${CMAKE_CURRENT_SOURCE_DIR}/skcms/LICENSE"
+-                 ${PROJECT_BINARY_DIR}/LICENSE.skcms COPYONLY)
+-endif ()
+-if (JPEGXL_ENABLE_VIEWERS OR NOT JPEGXL_ENABLE_SKCMS)
+-  if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lcms/.git" )
+-    message(SEND_ERROR "Please run git submodule update --init")
+-  endif()
+-  include(lcms2.cmake)
+-  configure_file("${CMAKE_CURRENT_SOURCE_DIR}/lcms/COPYING"
+-                 ${PROJECT_BINARY_DIR}/LICENSE.lcms COPYONLY)
+-endif()
+-
+-# sjpeg
+-if (JPEGXL_ENABLE_SJPEG)
+-  if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/sjpeg/CMakeLists.txt")
+-    message(FATAL_ERROR "Please run ${PROJECT_SOURCE_DIR}/deps.sh to fetch 
the "
+-            "build dependencies.")
+-  endif()
+-  include(sjpeg.cmake)
+-  configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sjpeg/COPYING"
+-                 ${PROJECT_BINARY_DIR}/LICENSE.sjpeg COPYONLY)
+-endif ()
+-

diff --git a/media-libs/libjxl/libjxl-0.6.ebuild 
b/media-libs/libjxl/libjxl-0.6.ebuild
new file mode 100644
index 000000000..52c54ec86
--- /dev/null
+++ b/media-libs/libjxl/libjxl-0.6.ebuild
@@ -0,0 +1,87 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit xdg cmake
+
+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 man +openexr 
plugins profile +sjpeg +skcms tcmalloc tools viewers"
+
+RDEPEND="
+       app-arch/brotli
+       dev-cpp/highway:=
+       media-libs/libpng
+       media-libs/lodepng:=
+       media-libs/giflib
+       sys-libs/zlib
+       virtual/jpeg
+
+       !skcms? ( media-libs/lcms )
+       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/skcms:= )
+       tcmalloc? ( dev-util/google-perftools )
+       viewers? ( media-libs/lcms )
+"
+DEPEND="
+       ${RDEPEND}
+       dev-cpp/gtest
+       plugins? ( x11-misc/xdg-utils )
+"
+BDEPEND="man? ( app-text/asciidoc )"
+
+PATCHES=( "${FILESDIR}/${P}-system-libs.patch" )
+REQUIRED_USE="tcmalloc? ( abi_x86_64 )"
+
+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_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
+}

diff --git a/media-libs/libjxl/metadata.xml b/media-libs/libjxl/metadata.xml
index d9a1e3c6e..ac9483923 100644
--- a/media-libs/libjxl/metadata.xml
+++ b/media-libs/libjxl/metadata.xml
@@ -5,4 +5,15 @@
                <email>dnovome...@gmail.com</email>
                <name>Daniel Novomesky</name>
        </maintainer>
+       <use>
+               <flag name="benchmark">Build JPEGXL benchmark tools</flag>
+               <flag name="devtools">Build JPEGXL developer tools</flag>
+               <flag name="openexr">Build JPEGXL with support for 
OpenEXR</flag>
+               <flag name="plugins">Build third-party plugins to support JPEG 
XL in other applications</flag>
+               <flag name="sjpeg">Build JPEGXL with support for encoding with 
sjpeg</flag>
+               <flag name="skcms">Build with skcms instead of lcms2</flag>
+               <flag name="tcmalloc">Build JPEGXL using gperftools (tcmalloc) 
allocator</flag>
+               <flag name="tools">Build JPEGXL user tools: cjxl and djxl</flag>
+               <flag name="viewers">Build JPEGXL viewer tools for 
evaluation</flag>
+       </use>
 </pkgmetadata>

Reply via email to