summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2020-11-30 11:28:36 +0100
committerPierre Neidhardt <mail@ambrevar.xyz>2020-11-30 11:28:36 +0100
commit85821dcd33d7856ab57459f9afb46b32a862bf52 (patch)
tree399dc896cfe94ce43edda2fd7b33f70c2a9638f2 /gnu/packages/lisp-xyz.scm
parenta748984797ad278c9598be21283ed0ba40cf679b (diff)
gnu: Add generic-cl.
* gnu/packages/lisp-xyz.scm (cl-generic-cl, ecl-generic-cl, sbcl-generic-cl): New variables.
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r--gnu/packages/lisp-xyz.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 7539f51bda..2e6c059777 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -11459,6 +11459,54 @@ and comparison operations when used heavily in numeric code.")
(define-public ecl-static-dispatch
(sbcl-package->ecl-package sbcl-static-dispatch))
+(define-public sbcl-generic-cl
+ ;; Latest commit includes a necessary fix for our Guix build.
+ (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
+ (package
+ (name "sbcl-generic-cl")
+ (version (git-version "0.7.1" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alex-gutev/generic-cl")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("agutil" ,sbcl-agutil)
+ ("alexandria" ,sbcl-alexandria)
+ ("anaphora" ,sbcl-anaphora)
+ ("arrows" ,sbcl-arrows)
+ ("cl-custom-hash-table" ,sbcl-custom-hash-table)
+ ("trivia" ,sbcl-trivia)))
+ (propagated-inputs
+ ;; FIXME: Same error as for `sbcl-static-dispatch'.
+ `(("static-dispatch" ,cl-static-dispatch)))
+ (native-inputs
+ `(("prove" ,sbcl-prove)))
+ (arguments
+ ;; Tests fail because SBCL head size is not high enough.
+ ;; https://github.com/alex-gutev/generic-cl/issues/6
+ `(#:tests? #f))
+ (home-page "https://alex-gutev.github.io/generic-cl/")
+ (synopsis "Generic function interface to standard Common Lisp functions")
+ (description "@code{generic-cl} provides a generic function wrapper over
+various functions in the Common Lisp standard, such as equality predicates and
+sequence operations. The goal of this wrapper is to provide a standard
+interface to common operations, such as testing for the equality of two
+objects, which is extensible to user-defined types.")
+ (license license:expat))))
+
+(define-public cl-generic-cl
+ (sbcl-package->cl-source-package sbcl-generic-cl))
+
+(define-public ecl-generic-cl
+ (sbcl-package->ecl-package sbcl-generic-cl))
+
(define-public sbcl-defpackage-plus
(let ((revision "0")
(commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))