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.
This commit is contained in:
Efraim Flashner 2022-07-12 20:07:34 +03:00
parent f0c8abe857
commit 40095549f4
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -441,13 +441,13 @@ (define-public sbcl
;; ECL too. As of 2020-07-01, ECL was last updated in 2020 while CLISP ;; 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. ;; 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 ;; For now we stick to CLISP as the default for all systems. In any event, keep
;; to make it easier to change the host compiler for various ;; 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 ;; architectures. Consider switching to ECL if it gets faster than CLISP
;; (maybe post 2020 release). ;; (maybe post 2020 release).
(list (match (%current-system) (list (match (%current-system)
((or "x86_64-linux" "i686-linux") ("powerpc-linux" ; CLISP fails to build, needs investigating.
clisp) ecl)
(_ (_
clisp)) clisp))
cl-asdf cl-asdf
@ -566,13 +566,16 @@ (define (quoted-path input path)
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(setenv "CC" "gcc") (setenv "CC" "gcc")
(invoke "sh" "make.sh" ,@(match (%current-system) (invoke "sh" "make.sh" ,@(match (%current-system)
((or "x86_64-linux" "i686-linux") ("powerpc-linux"
`("clisp")) `("ecl"))
(_ (_
`("clisp"))) `("clisp")))
(string-append "--prefix=" (string-append "--prefix="
(assoc-ref outputs "out")) (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-core-compression"
"--with-sb-xref-for-internals" "--with-sb-xref-for-internals"
;; SB-SIMD will only be built on x86_64 CPUs supporting ;; SB-SIMD will only be built on x86_64 CPUs supporting