Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/libjxl/files/, media-libs/libjxl/
Date: Sat, 14 May 2022 01:02:51
Message-Id: 1652490143.f4d5c2477709118c9d59c90ccc49d540a7dd69cd.sam@gentoo
1 commit: f4d5c2477709118c9d59c90ccc49d540a7dd69cd
2 Author: Daniel Novomesky <dnovomesky <AT> gmail <DOT> com>
3 AuthorDate: Wed May 11 16:02:57 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Sat May 14 01:02:23 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f4d5c247
7
8 media-libs/libjxl: version bump to 20220511 snapshot
9
10 - Drop old 0.7.0_pre20220311
11 - Depend on media-libs/libjpeg-turbo instead virtual/jpeg
12 - -DCMAKE_SKIP_RPATH=ON is no longer needed
13
14 Closes: https://bugs.gentoo.org/843629
15 Package-Manager: Portage-3.0.30, Repoman-3.0.3
16 Signed-off-by: Daniel Novomesky <dnovomesky <AT> gmail.com>
17 Closes: https://github.com/gentoo/gentoo/pull/25447
18 Signed-off-by: Sam James <sam <AT> gentoo.org>
19
20 media-libs/libjxl/Manifest | 2 +-
21 media-libs/libjxl/files/libjxl-0.7.0-atomic.patch | 136 ---------------------
22 ...0311.ebuild => libjxl-0.7.0_pre20220511.ebuild} | 31 ++---
23 media-libs/libjxl/libjxl-9999.ebuild | 3 +-
24 4 files changed, 10 insertions(+), 162 deletions(-)
25
26 diff --git a/media-libs/libjxl/Manifest b/media-libs/libjxl/Manifest
27 index 2614d99687a0..a6ca3a295453 100644
28 --- a/media-libs/libjxl/Manifest
29 +++ b/media-libs/libjxl/Manifest
30 @@ -1,2 +1,2 @@
31 -DIST libjxl-0.7.0_pre20220311.tar.gz 17322724 BLAKE2B a3cf970ea3db67e0890e94a5c74ea66610d4fed608fa3d079e6934a1d5f2bdc3ef4264c1df85e4b4efcd22c060087c712009f6c4a6b69a41f6e96ff3674c6de5 SHA512 f3e46ddea462b31de6df3c615c3cd628adc58c7ff41588e2ec4cc8929590c9272603a66ed4620b9ba550d85b3d1a6da3f51b1c4f8650ef8901347fea8af5d474
32 DIST libjxl-0.7.0_pre20220329.tar.gz 21282311 BLAKE2B 8ced9811adba47e5ccac4d55cb7133a863bedceebeb51e649fa79ecb17b785e747532f1f36fd39e3627d0a29406f5f403dee8fa42a9958c713c1296c2f83260a SHA512 deb17dd2eb3e2c39d624d97c6959940aee5beafcb009f6cb2ac14dd83c73d2601df8c81f6cec5d8032d9e66d1fdabfe620dcbf9bfa5e90eb9978265896816242
33 +DIST libjxl-0.7.0_pre20220511.tar.gz 1488860 BLAKE2B 63cc0d8161eb83efbae9c4ef238ec7300a8354ee7e030fafb96efca9c50216edfaf45bf276403df41a1bf4add533cb7031074c62faafc2f8d2e499290525f332 SHA512 605299cd4294c524b703bd163c083cb04c1f247aab5a6756d2e68482dab98c8d9585f248c03290e67c6cadf8692ead0c00abce7162d8dd7bf26b2cd4bfd1f736
34
35 diff --git a/media-libs/libjxl/files/libjxl-0.7.0-atomic.patch b/media-libs/libjxl/files/libjxl-0.7.0-atomic.patch
36 deleted file mode 100644
37 index 44d76fcfb10f..000000000000
38 --- a/media-libs/libjxl/files/libjxl-0.7.0-atomic.patch
39 +++ /dev/null
40 @@ -1,136 +0,0 @@
41 -include following patches :
42 -
43 -fde214c5f4dc5ffd0360401a68df33182edf9226 Refactor c11/atomic patch for riscv64
44 -326711f86719e6ce7b0422a7970ce8f8b1598f25 Make sure to list Threads::Threads in JPEGXL_DEC_INTERNAL_LIBS
45 -b12bb7a5f37d6bcaf134cfab7828ae08c4a0e60d Remove duplicate reference to hwy library
46 -87fe7c16e1fb2e21b6a1dca26782950ae1559d99 libjxl implementation rely on c11 atomics
47 -
48 -diff --git a/CMakeLists.txt b/CMakeLists.txt
49 -index fc1bbac..cce9748 100644
50 ---- a/CMakeLists.txt
51 -+++ b/CMakeLists.txt
52 -@@ -191,6 +191,15 @@ endif() # JPEGXL_STATIC
53 - set(THREADS_PREFER_PTHREAD_FLAG YES)
54 - find_package(Threads REQUIRED)
55 -
56 -+# These settings are important to drive check_cxx_source_compiles
57 -+# See CMP0067 (min cmake version is 3.10 anyway)
58 -+set(CMAKE_CXX_STANDARD 11)
59 -+set(CMAKE_CXX_EXTENSIONS OFF)
60 -+set(CMAKE_CXX_STANDARD_REQUIRED YES)
61 -+
62 -+# Atomics
63 -+find_package(Atomics REQUIRED)
64 -+
65 - if(JPEGXL_STATIC)
66 - if (MINGW)
67 - # In MINGW libstdc++ uses pthreads directly. When building statically a
68 -@@ -298,10 +307,6 @@ endif () # !MSVC
69 -
70 - include(GNUInstallDirs)
71 -
72 --set(CMAKE_CXX_STANDARD 11)
73 --set(CMAKE_CXX_EXTENSIONS OFF)
74 --set(CMAKE_CXX_STANDARD_REQUIRED YES)
75 --
76 - add_subdirectory(third_party)
77 -
78 - # Copy the JXL license file to the output build directory.
79 -diff --git a/cmake/FindAtomics.cmake b/cmake/FindAtomics.cmake
80 -new file mode 100644
81 -index 0000000..9a6cdc3
82 ---- /dev/null
83 -+++ b/cmake/FindAtomics.cmake
84 -@@ -0,0 +1,53 @@
85 -+# Original issue:
86 -+# * https://gitlab.kitware.com/cmake/cmake/-/issues/23021#note_1098733
87 -+#
88 -+# For reference:
89 -+# * https://gcc.gnu.org/wiki/Atomic/GCCMM
90 -+#
91 -+# riscv64 specific:
92 -+# * https://lists.debian.org/debian-riscv/2022/01/msg00009.html
93 -+#
94 -+# ATOMICS_FOUND - system has c++ atomics
95 -+# ATOMICS_LIBRARIES - libraries needed to use c++ atomics
96 -+
97 -+include(CheckCXXSourceCompiles)
98 -+
99 -+# RISC-V only has 32-bit and 64-bit atomic instructions. GCC is supposed
100 -+# to convert smaller atomics to those larger ones via masking and
101 -+# shifting like LLVM, but it’s a known bug that it does not. This means
102 -+# anything that wants to use atomics on 1-byte or 2-byte types needs
103 -+# -latomic, but not 4-byte or 8-byte (though it does no harm).
104 -+set(atomic_code
105 -+ "
106 -+ #include <atomic>
107 -+ #include <cstdint>
108 -+ std::atomic<uint8_t> n8 (0); // riscv64
109 -+ std::atomic<uint64_t> n64 (0); // armel, mipsel, powerpc
110 -+ int main() {
111 -+ ++n8;
112 -+ ++n64;
113 -+ return 0;
114 -+ }")
115 -+
116 -+check_cxx_source_compiles("${atomic_code}" ATOMICS_LOCK_FREE_INSTRUCTIONS)
117 -+
118 -+if(ATOMICS_LOCK_FREE_INSTRUCTIONS)
119 -+ set(ATOMICS_FOUND TRUE)
120 -+ set(ATOMICS_LIBRARIES)
121 -+else()
122 -+ set(CMAKE_REQUIRED_LIBRARIES "-latomic")
123 -+ check_cxx_source_compiles("${atomic_code}" ATOMICS_IN_LIBRARY)
124 -+ set(CMAKE_REQUIRED_LIBRARIES)
125 -+ if(ATOMICS_IN_LIBRARY)
126 -+ set(ATOMICS_LIBRARY atomic)
127 -+ include(FindPackageHandleStandardArgs)
128 -+ find_package_handle_standard_args(Atomics DEFAULT_MSG ATOMICS_LIBRARY)
129 -+ set(ATOMICS_LIBRARIES ${ATOMICS_LIBRARY})
130 -+ unset(ATOMICS_LIBRARY)
131 -+ else()
132 -+ if(Atomics_FIND_REQUIRED)
133 -+ message(FATAL_ERROR "Neither lock free instructions nor -latomic found.")
134 -+ endif()
135 -+ endif()
136 -+endif()
137 -+unset(atomic_code)
138 -diff --git a/lib/jxl.cmake b/lib/jxl.cmake
139 -index 97dfd73..8f69894 100644
140 ---- a/lib/jxl.cmake
141 -+++ b/lib/jxl.cmake
142 -@@ -346,6 +346,8 @@ set(JPEGXL_DEC_INTERNAL_LIBS
143 - brotlidec-static
144 - brotlicommon-static
145 - hwy
146 -+ Threads::Threads
147 -+ ${ATOMICS_LIBRARIES}
148 - )
149 -
150 - if(JPEGXL_ENABLE_PROFILER)
151 -@@ -355,7 +357,6 @@ endif()
152 - set(JPEGXL_INTERNAL_LIBS
153 - ${JPEGXL_DEC_INTERNAL_LIBS}
154 - brotlienc-static
155 -- Threads::Threads
156 - )
157 -
158 - # strips the -static suffix from all the elements in LIST
159 -@@ -467,7 +468,7 @@ add_library(jxl_dec-static STATIC
160 - $<TARGET_OBJECTS:jxl_dec-obj>
161 - )
162 - target_link_libraries(jxl_dec-static
163 -- PUBLIC ${JPEGXL_COVERAGE_FLAGS} ${JPEGXL_DEC_INTERNAL_LIBS} hwy)
164 -+ PUBLIC ${JPEGXL_COVERAGE_FLAGS} ${JPEGXL_DEC_INTERNAL_LIBS})
165 - target_include_directories(jxl_dec-static PUBLIC
166 - "${PROJECT_SOURCE_DIR}"
167 - "${CMAKE_CURRENT_SOURCE_DIR}/include"
168 -@@ -488,7 +489,7 @@ endif()
169 - # to do, remove $<TARGET_OBJECTS:jxl_dec-obj> here and depend on jxl_dec-static
170 - add_library(jxl-static STATIC ${JPEGXL_INTERNAL_OBJECTS})
171 - target_link_libraries(jxl-static
172 -- PUBLIC ${JPEGXL_COVERAGE_FLAGS} ${JPEGXL_INTERNAL_LIBS} hwy)
173 -+ PUBLIC ${JPEGXL_COVERAGE_FLAGS} ${JPEGXL_INTERNAL_LIBS})
174 - target_include_directories(jxl-static PUBLIC
175 - "${PROJECT_SOURCE_DIR}"
176 - "${CMAKE_CURRENT_SOURCE_DIR}/include"
177
178 diff --git a/media-libs/libjxl/libjxl-0.7.0_pre20220311.ebuild b/media-libs/libjxl/libjxl-0.7.0_pre20220511.ebuild
179 similarity index 69%
180 rename from media-libs/libjxl/libjxl-0.7.0_pre20220311.ebuild
181 rename to media-libs/libjxl/libjxl-0.7.0_pre20220511.ebuild
182 index 9c909deddbe6..5ab1265c2bf0 100644
183 --- a/media-libs/libjxl/libjxl-0.7.0_pre20220311.ebuild
184 +++ b/media-libs/libjxl/libjxl-0.7.0_pre20220511.ebuild
185 @@ -3,40 +3,35 @@
186
187 EAPI=8
188
189 -CMAKE_ECLASS=cmake
190 -inherit cmake-multilib xdg
191 +inherit cmake-multilib
192
193 DESCRIPTION="JPEG XL image format reference implementation"
194 HOMEPAGE="https://github.com/libjxl/libjxl"
195
196 -SRC_URI="https://api.github.com/repos/libjxl/libjxl/tarball/3f8e77fcfabe8ca8ddee6be4e662de525667c570 -> ${P}.tar.gz"
197 +SRC_URI="https://api.github.com/repos/libjxl/libjxl/tarball/105bf1a20be35c2d0d7dd302c008f3669c2f998c -> ${P}.tar.gz"
198 KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
199
200 LICENSE="BSD"
201 SLOT="0"
202 -IUSE="examples openexr"
203 +IUSE="openexr"
204
205 DEPEND="app-arch/brotli:=[${MULTILIB_USEDEP}]
206 dev-cpp/gflags:=[${MULTILIB_USEDEP}]
207 >=dev-cpp/highway-0.16.0[${MULTILIB_USEDEP}]
208 media-libs/giflib:=[${MULTILIB_USEDEP}]
209 - media-libs/lcms:=[${MULTILIB_USEDEP}]
210 + >=media-libs/lcms-2.13:=[${MULTILIB_USEDEP}]
211 media-libs/libpng:=[${MULTILIB_USEDEP}]
212 sys-libs/zlib[${MULTILIB_USEDEP}]
213 - virtual/jpeg[${MULTILIB_USEDEP}]
214 - x11-misc/shared-mime-info
215 + media-libs/libjpeg-turbo[${MULTILIB_USEDEP}]
216 + >=x11-misc/shared-mime-info-2.2
217 openexr? ( media-libs/openexr:= )
218 "
219 -
220 RDEPEND="${DEPEND}"
221
222 -PATCHES=( "${FILESDIR}/${PN}-0.7.0-atomic.patch" )
223 -
224 -S="${WORKDIR}/libjxl-libjxl-3f8e77f"
225 +S="${WORKDIR}/libjxl-libjxl-105bf1a"
226
227 multilib_src_configure() {
228 local mycmakeargs=(
229 - -DCMAKE_SKIP_RPATH=ON
230 -DBUILD_TESTING=OFF
231 -DJPEGXL_ENABLE_BENCHMARK=OFF
232 -DJPEGXL_ENABLE_COVERAGE=OFF
233 @@ -54,18 +49,17 @@ multilib_src_configure() {
234 -DJPEGXL_ENABLE_MANPAGES=OFF
235 -DJPEGXL_ENABLE_JNI=OFF
236 -DJPEGXL_ENABLE_TCMALLOC=OFF
237 + -DJPEGXL_ENABLE_EXAMPLES=OFF
238 )
239
240 if multilib_is_native_abi; then
241 mycmakeargs+=(
242 -DJPEGXL_ENABLE_TOOLS=ON
243 - -DJPEGXL_ENABLE_EXAMPLES=$(usex examples)
244 -DJPEGXL_ENABLE_OPENEXR=$(usex openexr)
245 )
246 else
247 mycmakeargs+=(
248 -DJPEGXL_ENABLE_TOOLS=OFF
249 - -DJPEGXL_ENABLE_EXAMPLES=OFF
250 -DJPEGXL_ENABLE_OPENEXR=OFF
251 )
252 fi
253 @@ -76,14 +70,5 @@ multilib_src_configure() {
254 multilib_src_install() {
255 cmake_src_install
256
257 - if multilib_is_native_abi; then
258 - if use examples; then
259 - dobin "${BUILD_DIR}/jxlinfo"
260 - fi
261 -
262 - insinto /usr/share/mime/packages
263 - doins -r "${S}"/plugins/mime/image-jxl.xml
264 - fi
265 -
266 find "${D}" -name '*.a' -delete || die
267 }
268
269 diff --git a/media-libs/libjxl/libjxl-9999.ebuild b/media-libs/libjxl/libjxl-9999.ebuild
270 index 87e4061707c8..88ff53d84586 100644
271 --- a/media-libs/libjxl/libjxl-9999.ebuild
272 +++ b/media-libs/libjxl/libjxl-9999.ebuild
273 @@ -21,7 +21,7 @@ DEPEND="app-arch/brotli:=[${MULTILIB_USEDEP}]
274 media-libs/giflib:=[${MULTILIB_USEDEP}]
275 media-libs/libpng:=[${MULTILIB_USEDEP}]
276 sys-libs/zlib[${MULTILIB_USEDEP}]
277 - virtual/jpeg[${MULTILIB_USEDEP}]
278 + media-libs/libjpeg-turbo[${MULTILIB_USEDEP}]
279 >=x11-misc/shared-mime-info-2.2
280 gdk-pixbuf? (
281 dev-libs/glib:2
282 @@ -34,7 +34,6 @@ RDEPEND="${DEPEND}"
283
284 multilib_src_configure() {
285 local mycmakeargs=(
286 - -DCMAKE_SKIP_RPATH=ON
287 -DBUILD_TESTING=OFF
288 -DJPEGXL_ENABLE_BENCHMARK=OFF
289 -DJPEGXL_ENABLE_COVERAGE=OFF