summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2022-07-03 10:08:47 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2022-07-03 12:07:31 +0200
commite0d2f8164e6a1c15fdcae6f7dadb05c0c9e25352 (patch)
tree1f7c4e42823963aff32a829829da1c4704b13d81
parentf89b58114858cc80bb65f6d38dfe943e6783b9bf (diff)
downloadguix-e0d2f8164e6a1c15fdcae6f7dadb05c0c9e25352.tar.gz
gnu: sbcl: Disable SB-SIMD module.
SB-SIMD gets enabled only on x86_64 CPUs supporting AVX2 instructions,
and some x86_64 CPUs don't.

Fixes <https://issues.guix.gnu.org/56353>.
Reported by Wensheng Xie <xiewensheng@hotmail.com>.

* gnu/packages/lisp.scm (sbcl)[arguments]: Disable SB-SIMD in the 'build' and
  'build-doc' phases.
-rw-r--r--gnu/packages/lisp.scm21
1 files changed, 11 insertions, 10 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index af65d9327f..72b6accc29 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -567,7 +567,12 @@ an interpreter, a compiler, a debugger, and much more.")
                                     (assoc-ref outputs "out"))
                      "--dynamic-space-size=3072"
                      "--with-sb-core-compression"
-                     "--with-sb-xref-for-internals")))
+                     "--with-sb-xref-for-internals"
+                     ;; SB-SIMD will only be built on x86_64 CPUs supporting
+                     ;; AVX2 instructions. Some x86_64 CPUs don't, so for reproducibility
+                     ;; we disable it and we don't build its documentation (see the
+                     ;; 'build-doc' phase).
+                     "--without-sb-simd")))
          (add-after 'build 'build-shared-library
            (lambda* (#:key outputs #:allow-other-keys)
              (setenv "CC" "gcc")
@@ -577,15 +582,11 @@ an interpreter, a compiler, a debugger, and much more.")
              (invoke "sh" "install.sh")))
          (add-after 'build 'build-doc
            (lambda _
-             ;; Building the documentation for SB-SIMD only works when SB-SIMD
-             ;; is enabled, so far only on x86_64-linux.
-             ,@(match (%current-system)
-                 ("x86_64-linux"
-                  '())
-                 (_
-                  '((substitute* "doc/manual/generate-texinfo.lisp"
-                      (("exclude '\\(\"asdf\"\\)")
-                       "exclude '(\"asdf\" \"sb-simd\")")))))
+             ;; Don't build the documentation for SB-SIMD as it is disabled in
+             ;; the 'build' phase.
+             (substitute* "doc/manual/generate-texinfo.lisp"
+               (("exclude '\\(\"asdf\"\\)")
+                "exclude '(\"asdf\" \"sb-simd\")"))
              (with-directory-excursion "doc/manual"
                (and  (invoke "make" "info")
                      (invoke "make" "dist")))))