ambrevar pushed a commit to branch master
in repository guix.
commit d14070bd29de2edd25a57c4618cb3fae6445b47d
Author: Pierre Neidhardt <[email protected]>
AuthorDate: Thu Jul 7 09:58:49 2022 +0200
gnu: sbcl: Remove Coreutils reference from closure.
* gnu/packages/lisp.scm (sbcl)[arguments]: Add phase to do it.
This shrinks SBCL from 167MiB to 150MiB.
Most importantly, this propagates to all sbcl-* packages.
---
gnu/packages/lisp.scm | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 02abdd1e37..636221af35 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -605,6 +605,21 @@ an interpreter, a compiler, a debugger, and much more.")
(string-append "(sb-ext:set-sbcl-source-location \""
source-dir "\")") )))
#t)))
+ (add-after 'install 'remove-coreutils-references
+ ;; They are only useful on non-Linux, non-SBCL.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share-dir (string-append out "/share/sbcl/")))
+ (substitute* (string-append share-dir
"src/code/run-program.lisp")
+ (("\\(run-program \".*uname\"")
+ "(run-program \"uname\""))
+ (substitute* (string-append share-dir "contrib/asdf/asdf.lisp")
+ (("\\(\".*/usr/bin/env\"")
+ "(\"/usr/bin/env\""))
+ (substitute* (string-append share-dir "contrib/asdf/uiop.lisp")
+ (("\\(\".*/usr/bin/env\"")
+ "(\"/usr/bin/env\""))
+ #t)))
(add-after 'install 'install-shared-library
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))