summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Pierre De Jesus DIAZ <jean@foundation.xyz>2024-05-07 17:57:22 +0200
committerAndreas Enge <andreas@enge.fr>2024-05-15 16:26:22 +0200
commit3b9e1cdc709155da7ac5dc5a13e60ea77fa5ef68 (patch)
tree6f25b486ff103a9820ebdedc0d5d88761061a475
parent2ce67731fc5c929cc9fda2836bdaeda98d079f1c (diff)
gnu: Add ocaml-unionfind.
* gnu/packages/ocaml.scm (ocaml-unionfind): New variable. Change-Id: Ib101e67576c000dad1d4a73d008ca0376e7da95a Signed-off-by: Andreas Enge <andreas@enge.fr>
-rw-r--r--gnu/packages/ocaml.scm28
1 files changed, 28 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 04a9ee47c3..a9842ff4fa 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3186,6 +3186,34 @@ OCaml with fibers.")
(define-public ocaml5.0-eio-luv
(package-with-ocaml5.0 ocaml-eio-luv))
+(define-public ocaml-unionfind
+ (package
+ (name "ocaml-unionfind")
+ (version "20220122")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.inria.fr/fpottier/unionfind")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hdh56rbg8vfjd61q09cbmh8l5wmry5ykivg7gsm0v5ckkb3531r"))))
+ (build-system dune-build-system)
+ (arguments
+ (list ;; The test allocates an Array that is too large for OCaml when on a
+ ;; 32-bit architecture.
+ #:tests? (target-64bit?)))
+ (home-page "https://gitlab.inria.fr/fpottier/unionFind")
+ (synopsis "Union-find data structure")
+ (description "This package provides two union-find data structure
+implementations for OCaml. Both implementations are based on disjoint sets
+forests, with path compression and linking-by-rank, so as to guarantee good
+asymptotic complexity: every operation requires a quasi-constant number of
+accesses to the store.")
+ ;; Version 2 only, with linking exception.
+ (license license:lgpl2.0)))
+
(define-public ocaml-uring
(package
(name "ocaml-uring")