[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"))