aboutsummaryrefslogtreecommitdiff
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
guix-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"))