Subject: [PATCH v2 04/10] gnu: Add clojure-core-memoize.

From: Roman Scherer <[email-masked]>
Date: Sat, 7 Sep 2024 11:51:29 +0200

* gnu/packages/clojure.scm (clojure-core-memoize): New variable.
---
 gnu/packages/clojure.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 005a7f2b4a..7323b0181f 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -370,6 +370,33 @@ (define-public clojure-core-match
     (home-page "https://github.com/clojure/core.match")
     (license license:epl1.0)))
 
+(define-public clojure-core-memoize
+  (package
+    (name "clojure-core-memoize")
+    (version "1.1.266")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/core.memoize")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0nys79zrvcnwgyxb91zlyl3nb4p6r6y4n5rbdvzqkvsxxazi9ji0"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("docs")))
+    (propagated-inputs (list clojure-core-cache))
+    (synopsis "Memoization framework for Clojure")
+    (description
+     "A manipulable, pluggable, memoization framework for Clojure implementing
+some common memoization caching strategies, such as First-in-first-out,
+Least-recently-used, Least-used and Time-to-live.")
+    (home-page "https://github.com/clojure/core.memoize")
+    (license license:epl1.0)))
+
 (define-public clojure-data-codec
   (package
     (name "clojure-data-codec")
-- 
2.45.2