guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: sbcl: Include source so that standard symbol definitions can


From: guix-commits
Subject: 01/01: gnu: sbcl: Include source so that standard symbol definitions can be examined.
Date: Sun, 25 Aug 2019 06:34:23 -0400 (EDT)

ambrevar pushed a commit to branch master
in repository guix.

commit d0480ca1a218361c449defbc653fe460f5f2f329
Author: Pierre Neidhardt <address@hidden>
Date:   Sun Aug 25 12:28:28 2019 +0200

    gnu: sbcl: Include source so that standard symbol definitions can be 
examined.
    
    * gnu/packages/lisp.scm (sbcl)[arguments]: Add build-source phase to install
    source directories "src" and "contrib".
---
 gnu/packages/lisp.scm | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 1945a1b..d32f4b1 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -423,8 +423,6 @@ an interpreter, a compiler, a debugger, and much more.")
          ;; them in HOME, so it needs to be writeable.
          (add-before 'build 'set-HOME
            (lambda _ (setenv "HOME" "/tmp") #t))
-         ;; TODO: We need to install the source as well (`src/code' directory)
-         ;; so that "go do definition" can work.
          (replace 'build
            (lambda* (#:key outputs #:allow-other-keys)
              (setenv "CC" "gcc")
@@ -445,6 +443,21 @@ an interpreter, a compiler, a debugger, and much more.")
              (with-directory-excursion "doc/manual"
                (and  (invoke "make" "info")
                      (invoke "make" "dist")))))
+         (add-after 'build 'build-source
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (rc (string-append out "/lib/sbcl/sbclrc"))
+                    (source-dir (string-append out "/share/sbcl")))
+               (for-each (lambda (p)
+                           (copy-recursively p (string-append source-dir "/" 
p)))
+                         '("src" "contrib"))
+               (mkdir-p (dirname rc))
+               (with-output-to-file rc
+                 (lambda ()
+                   (display
+                    (string-append "(sb-ext:set-sbcl-source-location \""
+                                   source-dir "\")") )))
+               #t)))
          (add-after 'install 'install-doc
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]