Subject: [PATCH] gnu: Add cl-charms
From: Foo Chuan Wei <[email-masked]>
To: [email-masked]
Date: Wed, 13 Oct 2021 20:00:42 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/lisp-xyz.scm (cl-charms, ecl-charms, sbcl-charms):
  New variables.
---
 gnu/packages/lisp-xyz.scm | 42 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 29d79e481e..0a21dd87b8 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -19072,3 +19072,45 @@ libyaml.")
 
 (define-public ecl-cl-yaml
   (sbcl-package->ecl-package sbcl-cl-yaml))
+
+(define-public sbcl-charms
+  (let ((commit "64aba59d89f85bc5c9402e445873965338a66a02")
+        (revision "1"))
+    (package
+      (name "sbcl-charms")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/HiTECNOLOGYs/cl-charms")
+                       (commit commit)))
+                (file-name (git-file-name "cl-charms" version))
+                (sha256
+                  (base32
+                    "1jczaypa9dhxr34yyhsxb6lrdnircjx8am4iqkc3shfpjn32q323"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs `(("alexandria" ,sbcl-alexandria)
+                ("cffi" ,sbcl-cffi)
+                ("ncurses" ,ncurses)))
+      (arguments '(#:asd-systems '("cl-charms")
+                   #:phases
+                   (modify-phases %standard-phases
+                     (add-after 'unpack 'fix-paths
+                       (lambda* (#:key inputs #:allow-other-keys)
+                         (substitute* "src/low-level/curses-bindings.lisp"
+                           (("libncursesw.so")
+                            (string-append (assoc-ref inputs "ncurses")
+                                           "/lib/libncursesw.so"))))))))
+      (home-page "https://github.com/HiTECNOLOGYs/cl-charms")
+      (synopsis "An interface to libcurses in Common Lisp")
+      (description
+        "cl-charms is an interface to libcurses in Common Lisp. It provides
+both a raw, low-level interface to libcurses via CFFI, and a more higher-level
+lispier interface.")
+      (license license:expat))))
+
+(define-public cl-charms
+  (sbcl-package->cl-source-package sbcl-charms))
+
+(define-public ecl-charms
+  (sbcl-package->ecl-package sbcl-charms))

base-commit: 393315a98ef0b1cbafb661be5c36bbd4f30dba2e
-- 
2.25.1