Subject: [bug#68040] [PATCH] gnu: libjxl: Fix build on riscv64-linux.

From: Zheng Junjie <[email-masked]>
Date: Tue, 26 Dec 2023 20:43:18 +0800

* gnu/packages/image.scm (libjxl)
[arguments]: Add fix-atomic phase when target riscv64-linux.

Change-Id: I442c668c3d52c241f0d405f51ea8d995bfefd3fd
---
 gnu/packages/image.scm | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index ebabd1c973..babaf9e625 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -2547,7 +2547,16 @@ (define-public libjxl
              "-DJPEGXL_FORCE_SYSTEM_BROTLI=true"
              "-DJPEGXL_FORCE_SYSTEM_LCMS2=true"
              "-DJPEGXL_FORCE_SYSTEM_HWY=true"
-             "-DJPEGXL_BUNDLE_LIBPNG=false")))
+             "-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))
     (inputs

base-commit: 0d13d095420861022e68e87ceebd5e037e12a8b3
-- 
2.41.0