summary refs log tree commit diff
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
parenta748984797ad278c9598be21283ed0ba40cf679b (diff)
downloadguix-85821dcd33d7856ab57459f9afb46b32a862bf52.tar.gz
gnu: Add generic-cl.
* gnu/packages/lisp-xyz.scm (cl-generic-cl, ecl-generic-cl, sbcl-generic-cl):
New variables.
-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"))