summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@friendly-machines.com>2025-01-20 00:19:27 +0100
committerDanny Milosavljevic <dannym@friendly-machines.com>2025-01-20 22:18:45 +0100
commitff87f8aeeee65fe84ca726c080b8622e9873d2a2 (patch)
tree36c507730d04935a79c0a0c4f05cebb849826704
parent395c0af00eae4d4ec72d69598eed0569e924e406 (diff)
gnu: libjxl: Update to 0.10.4.
* gnu/packages/image.scm (libjxl-0.10): New variable. Change-Id: Ie74cefe214e5587fc250b6595fb109ea7b7008c0
-rw-r--r--gnu/packages/image.scm45
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 2742427c7a..99face4546 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -2629,6 +2629,51 @@ Format) file format decoder and encoder.")
(encoder and decoder).")
(license license:bsd-3)))
+(define-public libjxl-0.10
+ (package
+ (inherit libjxl)
+ (name "libjxl")
+ (version "0.10.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libjxl/libjxl")
+ (commit (string-append "v" version))
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0la5xkb3zsz8df1x2phld275w2j847hwpy4vlb249g2cqaqnvg9f"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Delete the bundles that will not be used.
+ '(begin
+ (for-each (lambda (directory)
+ (delete-file-recursively
+ (string-append "third_party/" directory)))
+ '("brotli" "googletest" "highway" "lcms" "libpng"
+ "zlib"))))))
+ (arguments
+ `(;; Otherwise gcc segfaults after using up all memory available.
+ #:parallel-build? #f
+ #:configure-flags
+ (list "-DJPEGXL_FORCE_SYSTEM_GTEST=true"
+ "-DJPEGXL_FORCE_SYSTEM_BROTLI=true"
+ "-DJPEGXL_FORCE_SYSTEM_LCMS2=true"
+ "-DJPEGXL_FORCE_SYSTEM_HWY=true"
+ "-DJPEGXL_BUNDLE_LIBPNG=false")
+ ,@(if (target-riscv64?)
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-atomic
+ (lambda _
+ (substitute* "lib/jxl/enc_xyb.cc"
+ (("#include \"lib/jxl/enc_xyb.h\"" a)
+ (string-append a "\n#include <atomic>")))))))
+ '())))
+ (native-inputs
+ (list asciidoc doxygen googletest pkg-config python))))
+
(define-public mtpaint
(package
(name "mtpaint")