summary refs log tree commit diff
diff options
context:
space:
mode:
authorFoo Chuan Wei <chuanwei.foo@hotmail.com>2021-10-13 10:22:19 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2021-10-13 10:22:39 +0200
commitf0c8cdb56519371432ed8b62c8eff446d8c5be6f (patch)
tree41062b890e59d6e9ce8a449bf7e1db72bf068c18
parentcfc2471159740d0a5560bbe598ff7b70a131ee19 (diff)
downloadguix-f0c8cdb56519371432ed8b62c8eff446d8c5be6f.tar.gz
gnu: Add cl-readline.
* gnu/packages/lisp-xyz.scm (cl-readline, ecl-cl-readline, sbcl-cl-readline):
  New variables.

Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
-rw-r--r--gnu/packages/lisp-xyz.scm47
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index ed9f3f8503..48027095d0 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -85,6 +85,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages readline)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tcl)
@@ -18903,3 +18904,49 @@ tasks in Common Lisp.  It is fork of SWANK-BACKEND.")
 
 (define-public ecl-conium
   (sbcl-package->ecl-package sbcl-conium))
+
+(define-public sbcl-cl-readline
+  (let ((commit "8438c9ebd92ccc95ebab9cc9cbe6c72d44fccc58")
+        (revision "1"))
+    (package
+      (name "sbcl-cl-readline")
+      (version (git-version "0.1.2" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/vindarel/cl-readline")
+               (commit commit)))
+         (file-name (git-file-name "cl-readline" version))
+         (sha256
+          (base32 "14iskvqfw71ssaav483vmqw62lrpznysjs800gjjppxs785p1fa0"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("cffi" ,sbcl-cffi)
+         ("readline" ,readline)))
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'fix-paths
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "cl-readline.lisp"
+                 (("libreadline.so")
+                  (string-append (assoc-ref inputs "readline")
+                                 "/lib/libreadline.so"))))))))
+      (home-page "https://github.com/vindarel/cl-readline")
+      (synopsis "Common Lisp bindings to the GNU Readline library")
+      (description
+        "The Readline library provides a set of functions for use by
+applications that allow users to edit command lines as they are typed in.
+Both Emacs and vi editing modes are available.  The Readline library includes
+additional functions to maintain a list of previously-entered command lines, to
+recall and perhaps reedit those lines, and perform csh-like history expansion on
+previous commands.")
+      (license license:gpl3+))))
+
+(define-public cl-readline
+  (sbcl-package->cl-source-package sbcl-cl-readline))
+
+(define-public ecl-cl-readline
+  (sbcl-package->ecl-package sbcl-cl-readline))