mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-17 11:04:10 -04:00
media-libs/libjxl: add 0.6
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
1
media-libs/libjxl/Manifest
Normal file
1
media-libs/libjxl/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST libjxl-0.6.tar.gz 16953410 BLAKE2B 8941987f6d31096a7286f9d98cdcc16e5fe338e6b3d966343f97fc5b5b932ec92c994fab5781448aa7d96324e5c9ce5c83754b01cf6e752d0702ce9fc0a2087f SHA512 934c86d079c7a1f5382fad158efac225b9d1b27e551ea85ea7ec43e7ffd5cba85ddbfa35658b242a9f9c9589decf245568349abfa8a4fe12898af78d51608852
|
||||
87
media-libs/libjxl/files/libjxl-0.6-system-libs.patch
Normal file
87
media-libs/libjxl/files/libjxl-0.6-system-libs.patch
Normal file
@@ -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 ()
|
||||
-
|
||||
87
media-libs/libjxl/libjxl-0.6.ebuild
Normal file
87
media-libs/libjxl/libjxl-0.6.ebuild
Normal file
@@ -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
|
||||
}
|
||||
@@ -5,4 +5,15 @@
|
||||
<email>dnovomesky@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>
|
||||
|
||||
Reference in New Issue
Block a user