[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/07: gnu: Add ocaml-luv.
From: |
guix-commits |
Subject: |
01/07: gnu: Add ocaml-luv. |
Date: |
Wed, 3 Aug 2022 02:23:48 -0400 (EDT) |
iyzsong pushed a commit to branch master
in repository guix.
commit e2020eb24ad0eddd228ce4a26463d881c4e79d0b
Author: John Kehayias <john.kehayias@protonmail.com>
AuthorDate: Wed Jul 27 23:31:26 2022 -0400
gnu: Add ocaml-luv.
* gnu/packages/ocaml.scm (ocaml-luv): New variable.
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
---
gnu/packages/ocaml.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ff24861eb0..895b99320e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2624,6 +2625,48 @@ process. Also, in many cases, Lwt threads can interact
without the need for
locks or other synchronization primitives.")
(license license:lgpl2.1)))
+(define-public ocaml-luv
+ (package
+ (name "ocaml-luv")
+ (version "0.5.11")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
"https://github.com/aantron/luv/releases/download/"
+ version "/luv-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0hrsi8n2l31bcwgj847df4chjgqb9lmwkaky8fvvi15k25rz9v6c"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove bundled configure and libuv.
+ (delete-file-recursively "src/c/vendor")
+ #t))))
+ (build-system dune-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'use-system-libuv
+ (lambda _
+ (setenv "LUV_USE_SYSTEM_LIBUV" "yes")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "dune" "runtest" "--no-buffer" "--force")))))))
+ (inputs (list libuv))
+ (propagated-inputs (list ocaml-ctypes ocaml-result ocaml-odoc))
+ (native-inputs (list ocaml-base ocaml-alcotest))
+ (home-page "https://github.com/aantron/luv")
+ (synopsis "Binding to libuv: cross-platform asynchronous I/O")
+ (description
+ "Luv is a binding to libuv, the cross-platform C library that does
+asynchronous I/O in Node.js and runs its main loop. Besides asynchronous I/O,
+libuv also supports multiprocessing and multithreading. Multiple event loops
+can be run in different threads. libuv also exposes a lot of other
+functionality, amounting to a full OS API, and an alternative to the standard
+module Unix.")
+ (license license:expat)))
+
(define-public ocaml-lwt-react
(package
(inherit ocaml-lwt)
- branch master updated (94f801a426 -> e2ad0b0f8b), guix-commits, 2022/08/03
- 01/07: gnu: Add ocaml-luv.,
guix-commits <=
- 04/07: gnu: Add ocaml-xml-light., guix-commits, 2022/08/03
- 03/07: gnu: Add ocaml-sha., guix-commits, 2022/08/03
- 02/07: gnu: Add ocaml-ptmap., guix-commits, 2022/08/03
- 05/07: gnu: Add mikktspace., guix-commits, 2022/08/03
- 06/07: gnu: Add minimp3., guix-commits, 2022/08/03
- 07/07: gnu: nsis: Update to 3.08., guix-commits, 2022/08/03