summary refs log tree commit diff
diff options
context:
space:
mode:
authorPaul A. Patience <paul@apatience.com>2022-06-19 07:35:01 +0000
committerGuillaume Le Vaillant <glv@posteo.net>2022-06-20 14:02:27 +0200
commita606eea4bc68301fa310290cf6e62f1dfff7e928 (patch)
treeca3b02bfb45cd09c424a8cd4727bf66262b22fcc
parentceb508528fbc117b44acab0d57fef1afe6bd6603 (diff)
downloadguix-a606eea4bc68301fa310290cf6e62f1dfff7e928.tar.gz
gnu: Add cl-compiler-macro.
* gnu/packages/lisp-xyz.scm (sbcl-compiler-macro, cl-compiler-macro,
  ecl-compiler-macro): New variables.

Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
-rw-r--r--gnu/packages/lisp-xyz.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index ff84c34f1b..a88f19e28e 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -6241,6 +6241,42 @@ can and/or provide reasonable defaults.")
 (define-public ecl-introspect-environment
   (sbcl-package->ecl-package sbcl-introspect-environment))
 
+(define-public sbcl-compiler-macro
+  (let ((commit "7796bda64aec5af3ca175170ad3565167868789c")
+        (revision "0"))
+    (package
+      (name "sbcl-compiler-macro")
+      (version (git-version "0.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Bike/compiler-macro")
+               (commit commit)))
+         (file-name (git-file-name "cl-compiler-macro" version))
+         (sha256
+          (base32 "13sswps7s0qy6939mvj8q57hkx0qkga6rl6xjhjr7pk7by0xdsjq"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       (list sbcl-fiveam))
+      (inputs
+       (list sbcl-introspect-environment))
+      (home-page "https://github.com/Bike/compiler-macro")
+      (synopsis "Common Lisp compiler macro utilities")
+      (description "This library is a collection of utilities for writing
+compiler macros.  It is intended to make it possible to make compiler macros
+much more useful, by granting them access to lexical type information, making
+the protocol for declining expansion more convenient, and establishing some
+information for signaling optimization advice to programmers.  Some utilities
+to support this, especially for reasoning on types, are also included.")
+      (license license:cc0))))
+
+(define-public cl-compiler-macro
+  (sbcl-package->cl-source-package sbcl-compiler-macro))
+
+(define-public ecl-compiler-macro
+  (sbcl-package->ecl-package sbcl-compiler-macro))
+
 (define-public sbcl-type-i
   (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
         (revision "2"))