summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2022-07-12 20:07:34 +0300
committerEfraim Flashner <efraim@flashner.co.il>2022-07-12 21:37:09 +0300
commit40095549f4ee69b6c3314dc03ae4464c5f0b44f3 (patch)
tree8e63f5aefb9a92d73ddc5a80f7ca4ffdd4efe5dc /gnu
parentf0c8abe85787a0018c0adeb0bc4a6672d46686e4 (diff)
downloadguix-40095549f4ee69b6c3314dc03ae4464c5f0b44f3.tar.gz
gnu: sbcl: Fix building on powerpc-linux.
* gnu/packages/lisp.scm (sbcl)[native-inputs]: Remove clisp, add ecl.
[arguments]: In custom 'build phase replace 'clisp' with 'ecl' for
powerpc-linux and adjust the dynamic-space-size to closer to the maximum
RAM for the architecture.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/lisp.scm17
1 files changed, 10 insertions, 7 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 2906c50646..8e59ec956b 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -441,13 +441,13 @@ an interpreter, a compiler, a debugger, and much more.")
      ;; ECL too.  As of 2020-07-01, ECL was last updated in 2020 while CLISP
      ;; was last updated in 2010, and both take about the same time to build SBCL.
      ;;
-     ;; For now we stick to CLISP for all systems.  We keep the `match' here
-     ;; to make it easier to change the host compiler for various
+     ;; For now we stick to CLISP as the default for all systems.  In any event, keep
+     ;; the `match' here to make it easier to change the host compiler for various
      ;; architectures.  Consider switching to ECL if it gets faster than CLISP
      ;; (maybe post 2020 release).
      (list (match (%current-system)
-             ((or "x86_64-linux" "i686-linux")
-              clisp)
+             ("powerpc-linux"       ; CLISP fails to build, needs investigating.
+              ecl)
              (_
               clisp))
            cl-asdf
@@ -566,13 +566,16 @@ an interpreter, a compiler, a debugger, and much more.")
            (lambda* (#:key outputs #:allow-other-keys)
              (setenv "CC" "gcc")
              (invoke "sh" "make.sh" ,@(match (%current-system)
-                                        ((or "x86_64-linux" "i686-linux")
-                                         `("clisp"))
+                                        ("powerpc-linux"
+                                         `("ecl"))
                                         (_
                                          `("clisp")))
                      (string-append "--prefix="
                                     (assoc-ref outputs "out"))
-                     "--dynamic-space-size=3072"
+                     ,@(if (target-ppc32?)
+                         ;; 3072 is too much for this architecture.
+                         `("--dynamic-space-size=2048")
+                         `("--dynamic-space-size=3072"))
                      "--with-sb-core-compression"
                      "--with-sb-xref-for-internals"
                      ;; SB-SIMD will only be built on x86_64 CPUs supporting