summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorpukkamustard <pukkamustard@posteo.net>2022-12-16 13:25:21 +0000
committerJulien Lepiller <julien@lepiller.eu>2022-12-21 22:10:22 +0100
commitc9865228778941fcee95c501a414e270c6b31fa3 (patch)
treea6f9533fe6bf00e241e5921fbb4dbb523dfb0603 /gnu
parent2b335e87f7f25bfa5e51f3d840673a3bf8d6d014 (diff)
downloadguix-c9865228778941fcee95c501a414e270c6b31fa3.tar.gz
gnu: Add ocaml-uring.
* gnu/packages/ocaml.scm (ocaml-uring): New variable.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/ocaml.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c78d8a2b6d..d69ffaa969 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2848,6 +2848,38 @@ OCaml with fibers.")
 (define-public ocaml5.0-eio-luv
   (package-with-ocaml5.0 ocaml-eio-luv))
 
+(define-public ocaml-uring
+  (package
+    (name "ocaml-uring")
+    (version "0.4")
+    (home-page "https://github.com/ocaml-multicore/ocaml-uring")
+    (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
+                 "0k70y7nb2wrk2yql0pwnrhsp1x7k9ld4gd8iihbv6r34kcm3a5m1"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     (list ocaml-cstruct
+           ocaml-fmt
+           ocaml-optint))
+    (native-inputs
+     (list ocaml-lwt
+           ocaml-bechamel
+           ocaml-logs
+           ocaml-cmdliner
+           ocaml-mdx))
+    (synopsis "OCaml bindings for Linux io_uring")
+    (description "This package provides OCaml bindings to the Linux
+@code{io_uring} kernel IO interfaces.")
+    (license
+     (list license:isc license:expat))))
+
 (define-public ocaml-lwt
   (package
     (name "ocaml-lwt")