guix_mirror_bot pushed a commit to branch ocaml-team
in repository guix.

commit 34deb991438fd5416f290c8d9e34343165a8ad6a
Author: Jason Conroy <[email protected]>
AuthorDate: Sat Jan 10 17:16:33 2026 -0500

    gnu: ocaml5: Add ocaml-lwt.
    
    * gnu/packages/ocaml5.scm (ocaml-lwt): New variable.
    
    Change-Id: I5918d78b27db11e541a50ee85bad012a9f9dc3a9
    Signed-off-by: Julien Lepiller <[email protected]>
---
 gnu/packages/ocaml5.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/ocaml5.scm b/gnu/packages/ocaml5.scm
index 15a989a713..0c7186afff 100644
--- a/gnu/packages/ocaml5.scm
+++ b/gnu/packages/ocaml5.scm
@@ -52,6 +52,8 @@
 (define-module (gnu packages ocaml5)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages libevent)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages parallel)
   #:use-module (gnu packages perl)
@@ -595,6 +597,35 @@ strings, bytes and bigstring (Bigarrys of chars), and 
provides submodules for
 big- and little-endian, with their unsafe counter-parts.")
     (license license:lgpl2.1)))
 
+(define-public ocaml-lwt
+  (package
+    (name "ocaml5-lwt")
+    (version "5.6.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ocsigen/lwt";)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0cfmhw4nsnwba49p06l9fbnbcq75w9fd3kvrr615ihjc9frlmjsy"))))
+    (build-system dune-build-system)
+    (arguments
+     `(#:package "lwt"))
+    (native-inputs (list ocaml-cppo pkg-config))
+    (inputs (list glib))
+    (propagated-inputs (list ocaml-mmap ocaml-ocplib-endian ocaml-result
+                             ocaml-seq libev))
+    (home-page "https://github.com/ocsigen/lwt";)
+    (synopsis "Cooperative threads and I/O in monadic style")
+    (description
+     "Lwt provides typed, composable cooperative threads.  These
+make it easy to run normally-blocking I/O operations concurrently in a single
+process.  Also, in many cases, Lwt threads can interact without the need for
+locks or other synchronization primitives.")
+    (license license:lgpl2.1)))
+
 (define-public ocaml5.3-dune-bootstrap
   (package
     (name "ocaml5.3-dune")

Reply via email to