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.
master
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
(package
(name "sbcl")
(version "1.4.4")
(version "1.4.13")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
version "-source.tar.bz2"))
(sha256
(base32 "1k6v5b8qv7vyxvh8asx6phf2hbapx5pp5p5j47hgnq123fwnh4fa"))
(base32 "120rnnz8367lk7ljqlf8xidm4b0d738xqsib4kq0q5ms5r7fzgvm"))
(modules '((guix build utils)))
(snippet
;; 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"))
;; Bootstrap with CLISP.
(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)
("inetutils" ,inetutils) ;for hostname(1)
("ed" ,ed)
("texlive" ,texlive)
("texlive" ,(texlive-union (list texlive-tex-texinfo)))
("texinfo" ,texinfo)))
(arguments
'(#: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))
(("\\(deftest grent\\.[12]" 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
(lambda* (#:key outputs #:allow-other-keys)
(setenv "CC" "gcc")
(zero? (system* "sh" "make.sh" "clisp"
(string-append "--prefix="
(assoc-ref outputs "out"))))))
(invoke "sh" "make.sh" "ccl"
(string-append "--prefix="
(assoc-ref outputs "out")))))
(replace 'install
(lambda _
(zero? (system* "sh" "install.sh"))))
(invoke "sh" "install.sh")))
(add-after 'build 'build-doc
(lambda _
(with-directory-excursion "doc/manual"
(and (zero? (system* "make" "info"))
(zero? (system* "make" "dist"))))))
(and (invoke "make" "info")
(invoke "make" "dist")))))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))