diff mbox series

[bug#53765,v2,01/18] gnu: Add clojure-data-priority-map.

Message ID 87czimdq4d.fsf@reilysiegel.com
State New
Headers show
Series [bug#53765,v2,01/18] gnu: Add clojure-data-priority-map. | expand

Commit Message

Reily Siegel March 16, 2022, 12:43 p.m. UTC
* gnu/packages/clojure.scm (clojure-data-priority-map): New variable.
---
 gnu/packages/clojure.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index f728083eb2..aa21ed7823 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -315,6 +315,36 @@  (define-public clojure-data-codec
 is on par with Java implementations, e.g., Apache commons-codec.")
     (license license:epl1.0)))
 
+(define-public clojure-data-priority-map
+  (package
+    (name "clojure-data-priority-map")
+    (version "1.1.0")
+    (home-page "https://github.com/clojure/data.priority-map")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url home-page)
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1i6mf59g2l3vamris869mndy9l1bp5mzfqv5gj5qzzb937iiykm0"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (synopsis "Clojure library implementing priority maps")
+    (description "A priority map is very similar to a sorted map, but whereas
+a sorted map produces a sequence of the entries sorted by key, a priority map
+produces the entries sorted by value.
+
+In addition to supporting all the functions a sorted map supports, a priority
+map can also be thought of as a queue of @code{[item priority]} pairs.  To
+support usage as a versatile priority queue, priority maps also support
+insert/peek/pop operations.")
+    (license license:epl1.0)))
+
 (define-public clojure-data-xml
   (package
     (name "clojure-data-xml")