summaryrefslogtreecommitdiff
path: root/gnu/system/shadow.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-12-08 17:31:22 +0100
committerLudovic Courtès <ludo@gnu.org>2017-12-08 18:18:59 +0100
commit2ba2c98d8aa695cce608313833a36c61b0fb3428 (patch)
treefe99008018c9ae6532d1ea96776e9533cb8d6956 /gnu/system/shadow.scm
parent9e111db4535b3cd5729e37294ae51d95240334b4 (diff)
downloadguix-patches-2ba2c98d8aa695cce608313833a36c61b0fb3428.tar
guix-patches-2ba2c98d8aa695cce608313833a36c61b0fb3428.tar.gz
gnu: guile: Move Readline support to a separate 'guile-readline' package.
This reduces the closure of Guile from 131 MiB to 116 MiB and removes extra readline/ncurses builds from the bootstrap path. * gnu/packages/guile.scm (guile-2.0)[inputs]: Remove READLINE. (make-guile-readline): New procedure. (guile-readline): New variable. * gnu/system/shadow.scm (default-skeletons): Adjust '.guile' so that it gracefully deals with missing (ice-9 readline).
Diffstat (limited to 'gnu/system/shadow.scm')
-rw-r--r--gnu/system/shadow.scm12
1 files changed, 8 insertions, 4 deletions
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index b66239787e..938de8dd41 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -193,10 +193,14 @@ set debug-file-directory ~/.guix-profile/lib/debug\n")))
(".zlogin" ,zlogin)
(".Xdefaults" ,xdefaults)
(".guile" ,(plain-file "dot-guile"
- (string-append
- "(use-modules (ice-9 readline))\n\n"
- ";; Enable completion at the REPL.\n"
- "(activate-readline)\n")))
+ "(cond ((false-if-exception (resolve-interface '(ice-9 readline)))
+ =>
+ (lambda (module)
+ ;; Enable completion and input history at the REPL.
+ ((module-ref module 'activate-readline))))
+ (else
+ (display \"Consider installing the 'guile-readline' package for
+convenient interactive line editing and input history.\\n\\n\")))\n"))
(".guile-wm" ,guile-wm)
(".gdbinit" ,gdbinit))))