gnu: Add ocaml-mirage-profile-unix.

* gnu/packages/ocaml.scm (ocaml-mirage-profile-unix): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
This commit is contained in:
raingloom 2023-02-15 23:00:05 +01:00 committed by Christopher Baines
parent a9a8d626b1
commit 89c1bc291e
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577

View file

@ -3846,6 +3846,44 @@ (define-public ocaml-mirage-unix
handles the main loop and timers.")
(license license:isc)))
(define-public ocaml-mirage-profile-unix
(package
(name "ocaml-mirage-profile-unix")
(version "0.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mirage/mirage-profile/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"11p3ai8g993algds9mbg4xf3is0agqah127r69fb7rm35dryzq95"))))
(build-system dune-build-system)
(arguments
'(#:package "mirage-profile-unix"
#:tests? #f ;depends on ocaml-mirage-profile which would form a loop
#:phases (modify-phases %standard-phases
;; TODO is there a way to do this with dune build flags?
(add-after 'unpack 'disable-xen
(lambda _
;; this way it is not detected as a build target
(rename-file "xen" "_xen"))))))
(propagated-inputs (list ocaml-cstruct ocaml-ocplib-endian ocaml-lwt
ocaml-mtime ocaml-ppx-cstruct))
(native-inputs (list ocaml-ppx-cstruct))
(home-page "https://github.com/mirage/mirage-profile")
(synopsis "Collects Ocaml/Lwt profiling information in CTF format")
(description
"Used to trace execution of OCaml/Lwt programs (such as Mirage
unikernels) at the level of Lwt threads. The traces can be viewed using
JavaScript or GTK viewers provided by mirage-trace-viewer or processed by
tools supporting the Common Trace Format.
When compiled against a normal version of Lwt, OCaml's cross-module inlining
will optimise these calls away, meaning there should be no overhead in the
non-profiling case.")
(license license:bsd-2)))
(define-public ocaml-ocurl
(package
(name "ocaml-ocurl")