summary refs log tree commit diff
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2018-11-24 18:34:22 +0100
committerPierre Neidhardt <mail@ambrevar.xyz>2018-11-24 18:36:14 +0100
commit4bddcae94bb9d19112354f8f0b93f6e381e67768 (patch)
treed5fa5bcb8a8613f091db257e156f16bc520641aa
parent27ebd5c4f9361a3964f2cde647f5afa70fd9f2af (diff)
downloadguix-4bddcae94bb9d19112354f8f0b93f6e381e67768.tar.gz
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.
-rw-r--r--gnu/packages/lisp.scm33
1 files changed, 23 insertions, 10 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index ea839ef58b..a3649e5bd6 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -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"))