gnu: sbcl: bootstrap with clisp on non-Intel machines.

* gnu/packages/lisp.scm (sbcl)[native-inputs]: If the current system is
not x86_64-linux or i686-linux, use clisp in place of ccl.
[arguments]: In the custom build phase, use the correct bootstrap lisp.
This commit is contained in:
Efraim Flashner 2018-11-29 11:54:57 +02:00
parent 1e20c25ec5
commit 76d520facb
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
1 changed files with 13 additions and 5 deletions

View File

@ -333,7 +333,6 @@ an interpreter, a compiler, a debugger, and much more.")
#t)))) #t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
;; Bootstrap with CLISP.
(native-inputs (native-inputs
;; From INSTALL: ;; From INSTALL:
;; Supported build hosts are: ;; Supported build hosts are:
@ -343,15 +342,20 @@ an interpreter, a compiler, a debugger, and much more.")
;; ABCL (recent versions only) ;; ABCL (recent versions only)
;; CLISP (only some versions: 2.44.1 is OK, 2.47 is not) ;; CLISP (only some versions: 2.44.1 is OK, 2.47 is not)
;; XCL ;; XCL
;; CCL seems ideal then. ;; CCL seems ideal then, but it unfortunately only builds reliably
`(("ccl" ,ccl) ;; on some architectures.
`(,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
`(("ccl" ,ccl)))
(_
`(("clisp" ,clisp))))
("which" ,which) ("which" ,which)
("inetutils" ,inetutils) ;for hostname(1) ("inetutils" ,inetutils) ;for hostname(1)
("ed" ,ed) ("ed" ,ed)
("texlive" ,(texlive-union (list texlive-tex-texinfo))) ("texlive" ,(texlive-union (list texlive-tex-texinfo)))
("texinfo" ,texinfo))) ("texinfo" ,texinfo)))
(arguments (arguments
'(#:modules ((guix build gnu-build-system) `(#:modules ((guix build gnu-build-system)
(guix build utils) (guix build utils)
(srfi srfi-1)) (srfi srfi-1))
#:phases #:phases
@ -410,7 +414,11 @@ an interpreter, a compiler, a debugger, and much more.")
(replace 'build (replace 'build
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(setenv "CC" "gcc") (setenv "CC" "gcc")
(invoke "sh" "make.sh" "ccl" (invoke "sh" "make.sh" ,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
`("ccl"))
(_
`("clisp")))
(string-append "--prefix=" (string-append "--prefix="
(assoc-ref outputs "out"))))) (assoc-ref outputs "out")))))
(replace 'install (replace 'install