aboutsummaryrefslogtreecommitdiff
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
guix-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")))))