summary refs log tree commit diff
diff options
context:
space:
mode:
authorraingloom <raingloom@riseup.net>2023-02-15 23:00:24 +0100
committerChristopher Baines <mail@cbaines.net>2023-02-17 15:44:58 +0000
commit1276f9da9a2bce286da6cdda5d1e4d3d1870b3c3 (patch)
treee2c3615812fac4338a45d1f3e77a72b39a7f9665
parent9c6809a6c41a5a3dd20f03d84b51ae13dbf08fe0 (diff)
downloadguix-1276f9da9a2bce286da6cdda5d1e4d3d1870b3c3.tar.gz
gnu: Add ocaml-io-page.
* gnu/packages/ocaml.scm (ocaml-io-page): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
-rw-r--r--gnu/packages/ocaml.scm23
1 files changed, 23 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8ea2827ae2..5b915a532a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3084,6 +3084,29 @@ The client and the server libraries have sets of unit-tests.")
     ;; Has a linking exception, see LICENSE.md.
     (license license:lgpl2.1)))
 
+(define-public ocaml-io-page
+  (package
+    (name "ocaml-io-page")
+    (version "3.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mirage/io-page")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0lmvm1whdw5s7rvi7jnjzicrp2j919dkjl856jwyjlq38f7qn0zm"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-cstruct))
+    (native-inputs (list pkg-config ocaml-ounit))
+    (home-page "https://github.com/mirage/io-page")
+    (synopsis "Support for efficient handling of I/O memory pages")
+    (description
+     "IO pages are page-aligned, and wrapped in the @code{Cstruct} library to
+avoid copying the data contained within the page.")
+    (license license:isc)))
+
 (define-public ocaml-luv
   (package
     (name "ocaml-luv")