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")