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:
parent
27ebd5c4f9
commit
4bddcae94b
|
@ -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"))
|
||||||
|
|
Loading…
Reference in New Issue