summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorKonrad Hinsen <konrad.hinsen@fastmail.net>2020-02-11 08:53:14 +0100
committerGuillaume Le Vaillant <glv@posteo.net>2020-02-11 14:02:49 +0100
commit06327c3035517d5c50b30fce411149e758de047e (patch)
tree1c0e1b4841302e83ffa95c872febe6b67d119a2c /gnu/packages
parentd5a964141341369bec177b81c2a2ec1706c40af1 (diff)
downloadguix-06327c3035517d5c50b30fce411149e758de047e.tar.gz
gnu: Add cl-function-cache.
* gnu/packages/lisp-xyz.scm (sbcl-function-cache,
  cl-function-cache, ecl-function-cache): New variables.

Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/lisp-xyz.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 15e181d5f2..6d9ee6bea1 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -10307,3 +10307,43 @@ covered by the Common Lisp standard.")
 
 (define-public ecl-float-features
   (sbcl-package->ecl-package sbcl-float-features))
+
+(define-public sbcl-function-cache
+  (package
+    (name "sbcl-function-cache")
+    (version "1.0.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/AccelerationNet/function-cache.git")
+             (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
+    (build-system asdf-build-system/sbcl)
+    (synopsis "Function caching / memoization library for Common Lisp")
+    (description
+     "A common lisp library that provides extensible function result
+caching based on arguments (an expanded form of memoization).")
+    (home-page "https://github.com/AccelerationNet/function-cache")
+    (license
+     (license:non-copyleft
+      "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
+    (inputs
+     `(("alexandria" ,sbcl-alexandria)
+       ("cl-interpol" ,sbcl-cl-interpol)
+       ("iterate" ,sbcl-iterate)
+       ("symbol-munger" ,sbcl-symbol-munger)
+       ("closer-mop" ,sbcl-closer-mop)))
+    (arguments
+     `(#:asd-system-name "function-cache"
+       #:asd-file "function-cache.asd"
+       #:tests? #f))))
+
+(define-public cl-function-cache
+  (sbcl-package->cl-source-package sbcl-function-cache))
+
+(define-public ecl-function-cache
+  (sbcl-package->ecl-package sbcl-function-cache))