1 |
commit: 0518c6760f02e240b61d02cea7188585a8c7f6cc |
2 |
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
3 |
AuthorDate: Tue Oct 26 16:34:38 2021 +0000 |
4 |
Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
5 |
CommitDate: Tue Oct 26 16:35:07 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=0518c676 |
7 |
|
8 |
media-libs/libjxl: add 0.6 |
9 |
|
10 |
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> |
11 |
|
12 |
media-libs/libjxl/Manifest | 1 + |
13 |
.../libjxl/files/libjxl-0.6-system-libs.patch | 87 ++++++++++++++++++++++ |
14 |
media-libs/libjxl/libjxl-0.6.ebuild | 87 ++++++++++++++++++++++ |
15 |
media-libs/libjxl/metadata.xml | 11 +++ |
16 |
4 files changed, 186 insertions(+) |
17 |
|
18 |
diff --git a/media-libs/libjxl/Manifest b/media-libs/libjxl/Manifest |
19 |
new file mode 100644 |
20 |
index 000000000..63de49120 |
21 |
--- /dev/null |
22 |
+++ b/media-libs/libjxl/Manifest |
23 |
@@ -0,0 +1 @@ |
24 |
+DIST libjxl-0.6.tar.gz 16953410 BLAKE2B 8941987f6d31096a7286f9d98cdcc16e5fe338e6b3d966343f97fc5b5b932ec92c994fab5781448aa7d96324e5c9ce5c83754b01cf6e752d0702ce9fc0a2087f SHA512 934c86d079c7a1f5382fad158efac225b9d1b27e551ea85ea7ec43e7ffd5cba85ddbfa35658b242a9f9c9589decf245568349abfa8a4fe12898af78d51608852 |
25 |
|
26 |
diff --git a/media-libs/libjxl/files/libjxl-0.6-system-libs.patch b/media-libs/libjxl/files/libjxl-0.6-system-libs.patch |
27 |
new file mode 100644 |
28 |
index 000000000..6aa776078 |
29 |
--- /dev/null |
30 |
+++ b/media-libs/libjxl/files/libjxl-0.6-system-libs.patch |
31 |
@@ -0,0 +1,87 @@ |
32 |
+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 |
33 |
+--- /var/tmp/portage/media-libs/libjxl-0.6/work/libjxl-0.6/lib/jxl.cmake 2021-10-04 20:02:44.000000000 +0200 |
34 |
++++ libjxl-0.6/lib/jxl.cmake 2021-10-26 16:20:37.332839340 +0200 |
35 |
+@@ -387,17 +387,6 @@ |
36 |
+ target_link_libraries(jxl_enc-obj PUBLIC jxl_profiler) |
37 |
+ endif() |
38 |
+ |
39 |
+-#TODO(lode): don't depend on CMS for the core library |
40 |
+-if (JPEGXL_ENABLE_SKCMS) |
41 |
+- target_include_directories(jxl_enc-obj PRIVATE |
42 |
+- $<TARGET_PROPERTY:skcms,INCLUDE_DIRECTORIES> |
43 |
+- ) |
44 |
+-else () |
45 |
+- target_include_directories(jxl_enc-obj PRIVATE |
46 |
+- $<TARGET_PROPERTY:lcms2,INCLUDE_DIRECTORIES> |
47 |
+- ) |
48 |
+-endif () |
49 |
+- |
50 |
+ # Headers for exporting/importing public headers |
51 |
+ include(GenerateExportHeader) |
52 |
+ set_target_properties(jxl_dec-obj PROPERTIES |
53 |
+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 |
54 |
+--- /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 |
55 |
++++ libjxl-0.6/plugins/gdk-pixbuf/CMakeLists.txt 2021-10-26 16:24:08.540453940 +0200 |
56 |
+@@ -23,7 +23,7 @@ |
57 |
+ |
58 |
+ # Note: This only needs the decoder library, but we don't install the decoder |
59 |
+ # shared library. |
60 |
+-target_link_libraries(pixbufloader-jxl jxl jxl_threads skcms-interface PkgConfig::Gdk-Pixbuf) |
61 |
++target_link_libraries(pixbufloader-jxl jxl jxl_threads skcms PkgConfig::Gdk-Pixbuf) |
62 |
+ |
63 |
+ pkg_get_variable(GDK_PIXBUF_MODULEDIR gdk-pixbuf-2.0 gdk_pixbuf_moduledir) |
64 |
+ install(TARGETS pixbufloader-jxl LIBRARY DESTINATION "${GDK_PIXBUF_MODULEDIR}") |
65 |
+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 |
66 |
+--- /var/tmp/portage/media-libs/libjxl-0.6/work/libjxl-0.6/third_party/CMakeLists.txt 2021-10-26 15:59:28.123828010 +0200 |
67 |
++++ libjxl-0.6/third_party/CMakeLists.txt 2021-10-26 16:13:51.758212796 +0200 |
68 |
+@@ -113,15 +113,6 @@ |
69 |
+ endif() # JPEGXL_DEP_LICENSE_DIR |
70 |
+ endif() |
71 |
+ |
72 |
+-# lodepng |
73 |
+-if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lodepng/lodepng.h" ) |
74 |
+- message(FATAL_ERROR "Please run ${PROJECT_SOURCE_DIR}/deps.sh to fetch the " |
75 |
+- "build dependencies.") |
76 |
+-endif() |
77 |
+-include(lodepng.cmake) |
78 |
+-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/lodepng/LICENSE" |
79 |
+- ${PROJECT_BINARY_DIR}/LICENSE.lodepng COPYONLY) |
80 |
+- |
81 |
+ # brotli |
82 |
+ if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/brotli/c/include/brotli/decode.h" OR |
83 |
+ JPEGXL_FORCE_SYSTEM_BROTLI) |
84 |
+@@ -190,34 +181,3 @@ |
85 |
+ endforeach() |
86 |
+ endif() # BROTLI_EMSCRIPTEN |
87 |
+ endif() |
88 |
+- |
89 |
+-# *cms |
90 |
+-if (JPEGXL_ENABLE_SKCMS OR JPEGXL_ENABLE_PLUGINS) |
91 |
+- if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/skcms/skcms.h" ) |
92 |
+- message(FATAL_ERROR "Please run ${PROJECT_SOURCE_DIR}/deps.sh to fetch the " |
93 |
+- "build dependencies.") |
94 |
+- endif() |
95 |
+- include(skcms.cmake) |
96 |
+- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/skcms/LICENSE" |
97 |
+- ${PROJECT_BINARY_DIR}/LICENSE.skcms COPYONLY) |
98 |
+-endif () |
99 |
+-if (JPEGXL_ENABLE_VIEWERS OR NOT JPEGXL_ENABLE_SKCMS) |
100 |
+- if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lcms/.git" ) |
101 |
+- message(SEND_ERROR "Please run git submodule update --init") |
102 |
+- endif() |
103 |
+- include(lcms2.cmake) |
104 |
+- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/lcms/COPYING" |
105 |
+- ${PROJECT_BINARY_DIR}/LICENSE.lcms COPYONLY) |
106 |
+-endif() |
107 |
+- |
108 |
+-# sjpeg |
109 |
+-if (JPEGXL_ENABLE_SJPEG) |
110 |
+- if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/sjpeg/CMakeLists.txt") |
111 |
+- message(FATAL_ERROR "Please run ${PROJECT_SOURCE_DIR}/deps.sh to fetch the " |
112 |
+- "build dependencies.") |
113 |
+- endif() |
114 |
+- include(sjpeg.cmake) |
115 |
+- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sjpeg/COPYING" |
116 |
+- ${PROJECT_BINARY_DIR}/LICENSE.sjpeg COPYONLY) |
117 |
+-endif () |
118 |
+- |
119 |
|
120 |
diff --git a/media-libs/libjxl/libjxl-0.6.ebuild b/media-libs/libjxl/libjxl-0.6.ebuild |
121 |
new file mode 100644 |
122 |
index 000000000..52c54ec86 |
123 |
--- /dev/null |
124 |
+++ b/media-libs/libjxl/libjxl-0.6.ebuild |
125 |
@@ -0,0 +1,87 @@ |
126 |
+# Copyright 2021 Gentoo Authors |
127 |
+# Distributed under the terms of the GNU General Public License v2 |
128 |
+ |
129 |
+EAPI=8 |
130 |
+ |
131 |
+inherit xdg cmake |
132 |
+ |
133 |
+DESCRIPTION="JPEG XL image format reference implementation" |
134 |
+HOMEPAGE="https://github.com/libjxl/libjxl" |
135 |
+SRC_URI="https://github.com/libjxl/libjxl/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" |
136 |
+ |
137 |
+KEYWORDS="~amd64" |
138 |
+LICENSE="Apache-2.0" |
139 |
+SLOT="0" |
140 |
+IUSE="abi_x86_64 cpu_flags_arm_neon benchmark devtools examples man +openexr plugins profile +sjpeg +skcms tcmalloc tools viewers" |
141 |
+ |
142 |
+RDEPEND=" |
143 |
+ app-arch/brotli |
144 |
+ dev-cpp/highway:= |
145 |
+ media-libs/libpng |
146 |
+ media-libs/lodepng:= |
147 |
+ media-libs/giflib |
148 |
+ sys-libs/zlib |
149 |
+ virtual/jpeg |
150 |
+ |
151 |
+ !skcms? ( media-libs/lcms ) |
152 |
+ openexr? ( media-libs/openexr:= ) |
153 |
+ plugins? ( |
154 |
+ dev-libs/glib:2 |
155 |
+ media-gfx/gimp |
156 |
+ media-libs/babl |
157 |
+ media-libs/gegl |
158 |
+ media-libs/skcms:= |
159 |
+ x11-libs/gdk-pixbuf |
160 |
+ x11-misc/shared-mime-info |
161 |
+ ) |
162 |
+ sjpeg? ( media-libs/sjpeg:= ) |
163 |
+ skcms? ( media-libs/skcms:= ) |
164 |
+ tcmalloc? ( dev-util/google-perftools ) |
165 |
+ viewers? ( media-libs/lcms ) |
166 |
+" |
167 |
+DEPEND=" |
168 |
+ ${RDEPEND} |
169 |
+ dev-cpp/gtest |
170 |
+ plugins? ( x11-misc/xdg-utils ) |
171 |
+" |
172 |
+BDEPEND="man? ( app-text/asciidoc )" |
173 |
+ |
174 |
+PATCHES=( "${FILESDIR}/${P}-system-libs.patch" ) |
175 |
+REQUIRED_USE="tcmalloc? ( abi_x86_64 )" |
176 |
+ |
177 |
+src_prepare() { |
178 |
+ # remove bundled libs cmake |
179 |
+ rm third_party/*.cmake || die |
180 |
+ cmake_src_prepare |
181 |
+} |
182 |
+ |
183 |
+src_configure() { |
184 |
+ local mycmakeargs=( |
185 |
+ -DJPEGXL_ENABLE_BENCHMARK=$(usex benchmark) |
186 |
+ -DJPEGXL_ENABLE_DEVTOOLS=$(usex devtools) |
187 |
+ -DJPEGXL_ENABLE_EXAMPLES=$(usex examples) |
188 |
+ -DJPEGXL_ENABLE_MANPAGES=$(usex man) |
189 |
+ -DJPEGXL_ENABLE_OPENEXR=$(usex openexr) |
190 |
+ -DJPEGXL_ENABLE_PLUGINS=$(usex plugins) |
191 |
+ -DJPEGXL_ENABLE_PROFILER=$(usex profile) |
192 |
+ -DJPEGXL_ENABLE_SJPEG=$(usex sjpeg) |
193 |
+ -DJPEGXL_ENABLE_SKCMS=$(usex skcms) |
194 |
+ -DJPEGXL_ENABLE_TCMALLOC=$(usex tcmalloc) |
195 |
+ -DJPEGXL_ENABLE_TOOLS=$(usex tools) |
196 |
+ -DJPEGXL_ENABLE_VIEWERS=$(usex viewers) |
197 |
+ -DJPEGXL_FORCE_NEON=$(usex cpu_flags_arm_neon) |
198 |
+ |
199 |
+ -DBUILD_SHARED_LIBS=ON |
200 |
+ -DJPEGXL_BUNDLE_SKCMS=OFF |
201 |
+ -DJPEGXL_ENABLE_COVERAGE=OFF |
202 |
+ -DJPEGXL_ENABLE_FUZZERS=OFF |
203 |
+ -DJPEGXL_ENABLE_TRANSCODE_JPEG=ON |
204 |
+ -DJPEGXL_FORCE_SYSTEM_BROTLI=ON |
205 |
+ -DJPEGXL_FORCE_SYSTEM_GTEST=ON |
206 |
+ -DJPEGXL_FORCE_SYSTEM_HWY=ON |
207 |
+ -DJPEGXL_STATIC=OFF |
208 |
+ -DJPEGXL_WARNINGS_AS_ERRORS=OFF |
209 |
+ ) |
210 |
+ |
211 |
+ cmake_src_configure |
212 |
+} |
213 |
|
214 |
diff --git a/media-libs/libjxl/metadata.xml b/media-libs/libjxl/metadata.xml |
215 |
index d9a1e3c6e..ac9483923 100644 |
216 |
--- a/media-libs/libjxl/metadata.xml |
217 |
+++ b/media-libs/libjxl/metadata.xml |
218 |
@@ -5,4 +5,15 @@ |
219 |
<email>dnovomesky@×××××.com</email> |
220 |
<name>Daniel Novomesky</name> |
221 |
</maintainer> |
222 |
+ <use> |
223 |
+ <flag name="benchmark">Build JPEGXL benchmark tools</flag> |
224 |
+ <flag name="devtools">Build JPEGXL developer tools</flag> |
225 |
+ <flag name="openexr">Build JPEGXL with support for OpenEXR</flag> |
226 |
+ <flag name="plugins">Build third-party plugins to support JPEG XL in other applications</flag> |
227 |
+ <flag name="sjpeg">Build JPEGXL with support for encoding with sjpeg</flag> |
228 |
+ <flag name="skcms">Build with skcms instead of lcms2</flag> |
229 |
+ <flag name="tcmalloc">Build JPEGXL using gperftools (tcmalloc) allocator</flag> |
230 |
+ <flag name="tools">Build JPEGXL user tools: cjxl and djxl</flag> |
231 |
+ <flag name="viewers">Build JPEGXL viewer tools for evaluation</flag> |
232 |
+ </use> |
233 |
</pkgmetadata> |