Subject: [PATCH] gnu: libavif: Restrict dependency on rav1e to x86_64.

From: Vinicius Monego <[email-masked]>
Date: Mon, 8 Nov 2021 04:26:04 +0000

* gnu/packages/image.scm (libavif)[arguments]<#:configure-flags>: Pass
"-DAVIF_CODEC_RAV1E=ON" only on x84_64.
<#:phases>: Don't return #t.
[inputs]: Add rav1e only on x86_64.
---
 gnu/packages/image.scm | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index fc021dd2db..ff3963e6f5 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -2182,7 +2182,11 @@ This package can be used to create @code{favicon.ico} files for web sites.")
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags '("-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON"
-                           "-DAVIF_CODEC_RAV1E=ON"
+                           ,@(if (string-prefix? "x86_64"
+                                                 (or (%current-target-system)
+                                                     (%current-system)))
+                                 '("-DAVIF_CODEC_RAV1E=ON")
+                                 '())
                            "-DAVIF_BUILD_TESTS=ON")
        #:phases
        (modify-phases %standard-phases
@@ -2193,12 +2197,16 @@ This package can be used to create @code{favicon.ico} files for web sites.")
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (doc (string-append out "/share/doc/libavif-" ,version)))
-               (install-file "../source/README.md" doc)
-               #t))))))
+               (install-file "../source/README.md" doc)))))))
     (inputs
      `(("dav1d" ,dav1d)
        ("libaom" ,libaom)
-       ("rav1e" ,rav1e)))
+       ;; XXX: rav1e depends on rust, which currently only works on x86_64.
+       ;; See also the related configure flag when changing this.
+       ,@(if (string-prefix? "x86_64" (or (%current-target-system)
+                                          (%current-system)))
+             `(("rav1e" ,rav1e))
+             '())))
     (synopsis "Encode and decode AVIF files")
     (description "Libavif is a C implementation of @acronym{AVIF, the AV1 Image
 File Format}.  It can encode and decode all YUV formats and bit depths supported

base-commit: b96ae47bb08f315be8c22f0ee4248dc36c0d6d29
-- 
2.30.2