gnu: sbcl: Update to 1.4.13.

* gnu/packages/lisp.scm (sbcl): Update to 1.4.13.
[native-inputs]: Use minimal texlive-union instead of full texlive.
[native-inputs]: Use CCL instead of buggy CLISP.
[arguments]: Replace all (zero? (system* ...)) by invoke.
This commit is contained in:
Pierre Neidhardt 2018-11-24 18:34:22 +01:00
parent 27ebd5c4f9
commit 4bddcae94b
No known key found for this signature in database
GPG Key ID: 9BDCF497A4BBCC7F
1 changed files with 23 additions and 10 deletions

View File

@ -316,14 +316,14 @@ an interpreter, a compiler, a debugger, and much more.")
(define-public sbcl (define-public sbcl
(package (package
(name "sbcl") (name "sbcl")
(version "1.4.4") (version "1.4.13")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-" (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
version "-source.tar.bz2")) version "-source.tar.bz2"))
(sha256 (sha256
(base32 "1k6v5b8qv7vyxvh8asx6phf2hbapx5pp5p5j47hgnq123fwnh4fa")) (base32 "120rnnz8367lk7ljqlf8xidm4b0d738xqsib4kq0q5ms5r7fzgvm"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Add sbcl-bundle-systems to 'default-system-source-registry'. ;; Add sbcl-bundle-systems to 'default-system-source-registry'.
@ -335,11 +335,20 @@ an interpreter, a compiler, a debugger, and much more.")
(outputs '("out" "doc")) (outputs '("out" "doc"))
;; Bootstrap with CLISP. ;; Bootstrap with CLISP.
(native-inputs (native-inputs
`(("clisp" ,clisp) ;; From INSTALL:
;; Supported build hosts are:
;; SBCL
;; CMUCL
;; CCL (formerly known as OpenMCL)
;; ABCL (recent versions only)
;; CLISP (only some versions: 2.44.1 is OK, 2.47 is not)
;; XCL
;; CCL seems ideal then.
`(("ccl" ,ccl)
("which" ,which) ("which" ,which)
("inetutils" ,inetutils) ;for hostname(1) ("inetutils" ,inetutils) ;for hostname(1)
("ed" ,ed) ("ed" ,ed)
("texlive" ,texlive) ("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)
@ -394,20 +403,24 @@ an interpreter, a compiler, a debugger, and much more.")
(string-append "#+nil ;disabled by Guix\n" all)) (string-append "#+nil ;disabled by Guix\n" all))
(("\\(deftest grent\\.[12]" all) (("\\(deftest grent\\.[12]" all)
(string-append "#+nil ;disabled by Guix\n" all)))))) (string-append "#+nil ;disabled by Guix\n" all))))))
;; FIXME: the texlive-union insists on regenerating fonts. It stores
;; them in HOME, so it needs to be writeable.
(add-before 'build 'set-HOME
(lambda _ (setenv "HOME" "/tmp") #t))
(replace 'build (replace 'build
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(setenv "CC" "gcc") (setenv "CC" "gcc")
(zero? (system* "sh" "make.sh" "clisp" (invoke "sh" "make.sh" "ccl"
(string-append "--prefix=" (string-append "--prefix="
(assoc-ref outputs "out")))))) (assoc-ref outputs "out")))))
(replace 'install (replace 'install
(lambda _ (lambda _
(zero? (system* "sh" "install.sh")))) (invoke "sh" "install.sh")))
(add-after 'build 'build-doc (add-after 'build 'build-doc
(lambda _ (lambda _
(with-directory-excursion "doc/manual" (with-directory-excursion "doc/manual"
(and (zero? (system* "make" "info")) (and (invoke "make" "info")
(zero? (system* "make" "dist")))))) (invoke "make" "dist")))))
(add-after 'install 'install-doc (add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))