mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-19 14:07:01 +01:00
gnu: Add ocaml-luv.
* gnu/packages/ocaml.scm (ocaml-luv): New variable. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
This commit is contained in:
parent
94f801a426
commit
e2020eb24a
1 changed files with 43 additions and 0 deletions
|
@ -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 @@ (define-public ocaml-lwt
|
|||
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)
|
||||
|
|
Loading…
Reference in a new issue