unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name.
@ 2023-01-09  0:34 Csepp
  2023-01-09  0:34 ` [bug#60671] [PATCH 02/39] gnu: Add ocaml-macaddr Csepp
                   ` (39 more replies)
  0 siblings, 40 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:34 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

gnu/packages/ocaml.scm (ocaml-domain-name): New variable.
---
 gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c3a586f091..41485b3686 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -27,6 +27,7 @@
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 ;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
+;;; Copyright © 2023 Csepp <raingloom@riseup.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3537,6 +3538,28 @@ (define-public ocaml-ocp-index
     (license (list license:gpl3+
                    license:lgpl2.1+))))
 
+(define-public ocaml-domain-name
+  (package
+    (name "ocaml-domain-name")
+    (version "0.4.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/hannesm/domain-name/")
+                    (commit (string-append "v" version))))
+              (file-name name)
+              (sha256
+               (base32
+                "1a669zz1pc7sqbi1c13jsnp8algcph2b8gr5fjrjhyh3p232770k"))))
+    (build-system dune-build-system)
+    (native-inputs (list ocaml-alcotest))
+    (home-page "https://github.com/hannesm/domain-name")
+    (synopsis "RFC 1035 Internet domain name data structure and parser")
+    (description
+     "Parses and constructs RFC compliant domain names.  The invariants on the
+length of domain names are preserved throughout the module.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60671] [PATCH 02/39] gnu: Add ocaml-macaddr.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
@ 2023-01-09  0:34 ` Csepp
  2023-01-09  0:34 ` [bug#60672] [PATCH 03/39] gnu: Add ocaml-ipaddr Csepp
                   ` (38 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:34 UTC (permalink / raw)
  To: 60671; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-macaddr): New variable.
---
 gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 41485b3686..5adbeda74a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3560,6 +3560,34 @@ (define-public ocaml-domain-name
 length of domain names are preserved throughout the module.")
     (license license:isc)))
 
+(define-public ocaml-macaddr
+  (package
+    (name "ocaml-macaddr")
+    (version "5.3.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mirage/ocaml-ipaddr/")
+                    (commit (string-append "v" version))))
+              (file-name name)
+              (sha256
+               (base32
+                "1zgwx0ms3l4k4dzwnkrwq4zzqjrddjsvqn66mbd0rm6aq1ib019d"))))
+    (build-system dune-build-system)
+    (arguments '(#:package "macaddr"))
+    (propagated-inputs (list ocaml-cstruct ocaml-domain-name))
+    (native-inputs (list ocaml-ounit2 ocaml-ppx-sexp-conv))
+    (home-page "https://github.com/mirage/ocaml-ipaddr")
+    (synopsis "OCaml library for manipulation of MAC address representations")
+    (description
+     "@itemize
+@item MAC-48 (Ethernet) address support
+@item @code{Macaddr} is a @code{Map.OrderedType}
+@item All types have sexplib serializers/deserializers optionally via the
+@code{Macaddr_sexp} library
+@end itemize")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60672] [PATCH 03/39] gnu: Add ocaml-ipaddr.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
  2023-01-09  0:34 ` [bug#60671] [PATCH 02/39] gnu: Add ocaml-macaddr Csepp
@ 2023-01-09  0:34 ` Csepp
  2023-01-09  0:34 ` [bug#60674] [PATCH 04/39] gnu: Add ocaml-opam-monorepo Csepp
                   ` (37 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:34 UTC (permalink / raw)
  To: 60672; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-ipaddr): New variable.
---
 gnu/packages/ocaml.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 5adbeda74a..7f36df6111 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3588,6 +3588,19 @@ (define-public ocaml-macaddr
 @end itemize")
     (license license:isc)))
 
+(define-public ocaml-ipaddr
+  ;; same repo and versions as ocaml-macaddr
+  (package
+    (inherit ocaml-macaddr)
+    (name "ocaml-ipaddr")
+    (arguments '(#:package "ipaddr"))
+    (propagated-inputs (list ocaml-macaddr ocaml-domain-name))
+    (synopsis
+     "Library for manipulation of IP (and MAC) address representations")
+    (description
+     "IP address types with serialization, supporting a wide range of RFCs.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60674] [PATCH 04/39] gnu: Add ocaml-opam-monorepo.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
  2023-01-09  0:34 ` [bug#60671] [PATCH 02/39] gnu: Add ocaml-macaddr Csepp
  2023-01-09  0:34 ` [bug#60672] [PATCH 03/39] gnu: Add ocaml-ipaddr Csepp
@ 2023-01-09  0:34 ` Csepp
  2023-01-09  0:34 ` [bug#60675] [PATCH 05/39] gnu: Add ocaml-pecu Csepp
                   ` (36 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:34 UTC (permalink / raw)
  To: 60674; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-opam-monorepo): New variable.
---
It's possible this should also omit the ocaml- prefix, like opam, but then it will also require special handling in the importer.

 gnu/packages/ocaml.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7f36df6111..1082103504 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -976,6 +976,39 @@ (define-public opam
     ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
     (license license:lgpl3)))
 
+(define-public ocaml-opam-monorepo
+  (package
+    (name "ocaml-opam-monorepo")
+    (version "0.3.5")
+    (source (origin
+              (method git-fetch)
+              (uri
+               (git-reference
+                (url "https://github.com/tarides/opam-monorepo/")
+                (commit version)))
+              (file-name name)
+              (sha256
+               (base32
+                "09lq788b1sai4v1nxd16b00pw0m55plcwrx3f9v5a90gpxg0a6sc"))))
+    (build-system dune-build-system)
+    (arguments
+     ;; TODO
+     ;; Too many tests require a fully initialized opam, disabling them would
+     ;; be a huge pain.  "Mocking" opam init is difficult because it requires
+     ;; networking access.
+     '(#:tests? #f))
+    ;; TODO: not entirely clear if these should be native, test cross-building
+    (native-inputs (list ocaml-odoc
+                         pkg-config))
+    ;; (propagated-inputs lablgtk3) optional and is currently failing to build
+    (home-page "https://github.com/tarides/opam-monorepo")
+    (synopsis "Assemble and manage fully vendored Dune repositories")
+    (description
+     "The opam monorepo plugin provides a convenient interface to bridge the
+opam package manager with having a local copy of all the source code required
+to build a project using the dune build tool.")
+    (license license:isc)))
+
 (define-public ocaml-camlp-streams
   (package
     (name "ocaml-camlp-streams")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60675] [PATCH 05/39] gnu: Add ocaml-pecu.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (2 preceding siblings ...)
  2023-01-09  0:34 ` [bug#60674] [PATCH 04/39] gnu: Add ocaml-opam-monorepo Csepp
@ 2023-01-09  0:34 ` Csepp
  2023-01-09  0:34 ` [bug#60676] [PATCH 06/39] gnu: Add ocaml-emile Csepp
                   ` (35 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:34 UTC (permalink / raw)
  To: 60675; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-pecu): New variable.
---
 gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 1082103504..45f7577a45 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3634,6 +3634,27 @@ (define-public ocaml-ipaddr
      "IP address types with serialization, supporting a wide range of RFCs.")
     (license license:isc)))
 
+(define-public ocaml-pecu
+  (package
+    (name "ocaml-pecu")
+    (version "0.6")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://github.com/mirage/pecu/releases/download/v0.6/pecu-v0.6.tbz")
+              (sha256
+               (base32
+                "1iz5jj9lyl1pah8dfni4wv0qml0ir5zknv4zhw7v50sc8kdbglm9"))))
+    (build-system dune-build-system)
+    (native-inputs (list ocaml-fmt ocaml-alcotest ocaml-crowbar ocaml-astring))
+    (home-page "https://github.com/mirage/pecu")
+    (synopsis "Encoder/Decoder of Quoted-Printable (RFC2045 & RFC2047)")
+    (description
+     "This package provides a non-blocking encoder/decoder of Quoted-Printable
+according to RFC2045 and RFC2047 (about encoded-word).  Useful to translate
+contents of emails.")
+    (license license:expat)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60676] [PATCH 06/39] gnu: Add ocaml-emile.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (3 preceding siblings ...)
  2023-01-09  0:34 ` [bug#60675] [PATCH 05/39] gnu: Add ocaml-pecu Csepp
@ 2023-01-09  0:34 ` Csepp
  2023-01-09  0:34 ` [bug#60677] [PATCH 07/39] gnu: Add ocaml-functoria-runtime Csepp
                   ` (34 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:34 UTC (permalink / raw)
  To: 60676; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-emile): New variable.
---
 gnu/packages/ocaml.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 45f7577a45..034924d9ff 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3655,6 +3655,33 @@ (define-public ocaml-pecu
 contents of emails.")
     (license license:expat)))
 
+(define-public ocaml-emile
+  (package
+    (name "ocaml-emile")
+    (version "1.1")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://github.com/mirage/emile/releases/download/v1.1/emile-v1.1.tbz")
+              (sha256
+               (base32
+                "0r1141makr0b900aby1gn0fccjv1qcqgyxib3bzq8fxmjqwjan8p"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-angstrom
+                             ocaml-ipaddr
+                             ocaml-base64
+                             ocaml-pecu
+                             ocaml-bigstringaf
+                             ocaml-uutf))
+    (native-inputs (list ocaml-alcotest))
+    (home-page "https://github.com/mirage/emile")
+    (synopsis "Parser of email address according RFC822")
+    (description
+     "This package provides a parser of email address according RFC822, RFC2822,
+RFC5321 and RFC6532.  It handles UTF-8 email addresses and encoded-word
+according RFC2047.")
+    (license license:expat)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60677] [PATCH 07/39] gnu: Add ocaml-functoria-runtime
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (4 preceding siblings ...)
  2023-01-09  0:34 ` [bug#60676] [PATCH 06/39] gnu: Add ocaml-emile Csepp
@ 2023-01-09  0:34 ` Csepp
  2023-01-09  0:34 ` [bug#60678] [PATCH 08/39] gnu: Add ocaml-mirage-runtime Csepp
                   ` (33 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:34 UTC (permalink / raw)
  To: 60677; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (mirage-version, mirage-origin,
  ocaml-functoria-runtime): New variables.
---
 gnu/packages/ocaml.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 034924d9ff..1cc930292c 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3682,6 +3682,41 @@ (define-public ocaml-emile
 according RFC2047.")
     (license license:expat)))
 
+(define-public ocaml-functoria-runtime
+  (package
+    (name "ocaml-functoria-runtime")
+    (version "4.3.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/mirage/mirage/")
+         (commit (string-append "v" version))))
+       ;; TODO this origin is used by multiple packages, so what should the name
+       ;; field say?
+       (file-name (git-file-name "mirage" version))
+       (sha256
+        (base32
+         "151adbcn4zmhxgh4g10flamlgwd90pppjvk0lhy2p3yxyn55f914"))))
+    (build-system dune-build-system)
+    (arguments
+     '(#:package "functoria-runtime"
+       ;; TODO
+       ;; again, requires opam for tests, which needs network access.
+       ;; most other tests seem to pass.
+       #:tests? #f))
+    (propagated-inputs
+     (list ocaml-cmdliner ocaml-fmt ocaml-logs ocaml-bos ocaml-ipaddr
+           ocaml-emile ocaml-uri))
+    (native-inputs
+     (list ocaml-alcotest))
+    (home-page "https://github.com/mirage/mirage")
+    (synopsis "Runtime support library for functoria-generated code")
+    (description
+     "This is the runtime support library for code generated by functoria.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60678] [PATCH 08/39] gnu: Add ocaml-mirage-runtime.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (5 preceding siblings ...)
  2023-01-09  0:34 ` [bug#60677] [PATCH 07/39] gnu: Add ocaml-functoria-runtime Csepp
@ 2023-01-09  0:34 ` Csepp
  2023-01-09  0:34 ` [bug#60679] [PATCH 09/39] gnu: Add ocaml-functoria Csepp
                   ` (32 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:34 UTC (permalink / raw)
  To: 60678; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-runtime): New variable.
---
 gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 1cc930292c..e0e6a7e1cb 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3717,6 +3717,27 @@ (define-public ocaml-functoria-runtime
      "This is the runtime support library for code generated by functoria.")
     (license license:isc)))
 
+(define-public ocaml-mirage-runtime
+  (package
+    (inherit ocaml-functoria-runtime)
+    (name "ocaml-mirage-runtime")
+    (build-system dune-build-system)
+    (arguments
+     '(#:package "mirage-runtime"
+       ;; TODO again, wants opam, other tests seem to pass
+       ;; look for a way to disable tests that want network access
+       #:tests? #f))
+    (propagated-inputs (list ocaml-ipaddr ocaml-functoria-runtime ocaml-fmt
+                             ocaml-logs ocaml-lwt))
+    (native-inputs (list ocaml-alcotest))
+    (home-page "https://github.com/mirage/mirage")
+    (synopsis
+     "The base MirageOS runtime library, part of every MirageOS unikernel")
+    (description
+     "This package provides a bundle of useful runtime functions for
+applications built with MirageOS")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60679] [PATCH 09/39] gnu: Add ocaml-functoria.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (6 preceding siblings ...)
  2023-01-09  0:34 ` [bug#60678] [PATCH 08/39] gnu: Add ocaml-mirage-runtime Csepp
@ 2023-01-09  0:34 ` Csepp
  2023-01-09  0:35 ` [bug#60680] [PATCH 10/39] gnu: Add ocaml-mirage Csepp
                   ` (31 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:34 UTC (permalink / raw)
  To: 60679; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-functoria): New variable.
---
 gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e0e6a7e1cb..945ed87701 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3738,6 +3738,29 @@ (define-public ocaml-mirage-runtime
 applications built with MirageOS")
     (license license:isc)))
 
+(define-public ocaml-functoria
+  (package
+    (inherit ocaml-functoria-runtime)
+    (name "ocaml-functoria")
+    (build-system dune-build-system)
+    (arguments
+     '(#:package "functoria"
+       ;; TODO again, wants opam, other tests seem to pass
+       ;; look for a way to disable tests that want network access
+       #:tests? #f))
+    (propagated-inputs (list ocaml-cmdliner ocaml-rresult ocaml-result
+                             ocaml-astring ocaml-fmt ocaml-logs ocaml-bos
+                             ocaml-fpath ocaml-emile ocaml-uri))
+    (native-inputs (list ocaml-alcotest ocaml-functoria-runtime))
+    (home-page "https://github.com/mirage/mirage")
+    (synopsis
+     "DSL to organize functor applications")
+    (description
+     "DSL to describe a set of modules and functors, their types and
+how to apply them in order to produce a complete application.  The main use
+case is mirage.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60680] [PATCH 10/39] gnu: Add ocaml-mirage.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (7 preceding siblings ...)
  2023-01-09  0:34 ` [bug#60679] [PATCH 09/39] gnu: Add ocaml-functoria Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60681] [PATCH 11/39] gnu: Add ocaml-duration Csepp
                   ` (30 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60680; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage): New variable.
---
 gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 945ed87701..d33b5ba5f0 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3761,6 +3761,30 @@ (define-public ocaml-functoria
 case is mirage.")
     (license license:isc)))
 
+(define-public ocaml-mirage
+  (package
+    (inherit ocaml-functoria-runtime)
+    (name "ocaml-mirage")
+    (build-system dune-build-system)
+    (arguments
+     '(#:package "mirage"
+       ;; TODO again, wants opam, other tests seem to pass
+       ;; look for a way to disable tests that want network access
+       #:tests? #f))
+    (propagated-inputs
+     (list ocaml-astring ocaml-bos ocaml-functoria ocaml-ipaddr ocaml-logs
+           ocaml-mirage-runtime ocaml-opam-monorepo))
+    (native-inputs (list ocaml-alcotest ocaml-fmt))
+    (home-page "https://github.com/mirage/mirage")
+    (synopsis
+     "The MirageOS library operating system")
+    (description
+     "Library operating system that constructs unikernels for secure,
+high-performance network applications across a variety of cloud computing and
+mobile platforms.  Code can be developed on a normal OS and then compiled into
+a fully-standalone, specialised unikernel.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60681] [PATCH 11/39] gnu: Add ocaml-duration.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (8 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60680] [PATCH 10/39] gnu: Add ocaml-mirage Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60682] [PATCH 12/39] gnu: Add ocaml-mirage-unix Csepp
                   ` (29 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60681; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-duration): New variable.
---
 gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d33b5ba5f0..447b537637 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3785,6 +3785,30 @@ (define-public ocaml-mirage
 a fully-standalone, specialised unikernel.")
     (license license:isc)))
 
+(define-public ocaml-duration
+  (package
+    (name "ocaml-duration")
+    (version "0.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri
+               (git-reference
+                (url "https://github.com/hannesm/duration/")
+                (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0vvxi0ipxmdz1k4h501brvccniwf3wpc32djbccyyrzraiz7qkff"))))
+    (build-system dune-build-system)
+    (native-inputs (list ocaml-alcotest))
+    (home-page "https://github.com/hannesm/duration")
+    (synopsis "Conversions to various time units")
+    (description
+     "This package provides a duration is represented in nanoseconds as an
+unsigned 64 bit integer.  This has a range of up to 584 years.  Functions
+provided check the input and raise on negative or out of bound input.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60682] [PATCH 12/39] gnu: Add ocaml-mirage-unix.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (9 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60681] [PATCH 11/39] gnu: Add ocaml-duration Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60683] [PATCH 13/39] gnu: Add ocaml-mirage-time Csepp
                   ` (28 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60682; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-unix): New variable.
---
 gnu/packages/ocaml.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 447b537637..83413fa541 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3809,6 +3809,26 @@ (define-public ocaml-duration
 provided check the input and raise on negative or out of bound input.")
     (license license:isc)))
 
+(define-public ocaml-mirage-unix
+  (package
+    (name "ocaml-mirage-unix")
+    (version "5.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://github.com/mirage/mirage-unix/releases/download/v5.0.1/mirage-unix-5.0.1.tbz")
+              (sha256
+               (base32
+                "1y44hvsd5lxqbazwkv9n6cn936lpn8l7v82wf55w4183fp70nnjk"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-lwt ocaml-duration ocaml-mirage-runtime))
+    (home-page "https://github.com/mirage/mirage-unix")
+    (synopsis "Unix core platform libraries for MirageOS")
+    (description
+     "This package provides the MirageOS `OS` library for Unix targets, which
+handles the main loop and timers.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60683] [PATCH 13/39] gnu: Add ocaml-mirage-time.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (10 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60682] [PATCH 12/39] gnu: Add ocaml-mirage-unix Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 14/39] gnu: Add aliases for ocaml-cstruct and ocaml-lwt subpackages Csepp
                   ` (27 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60683; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-time): New variable.
---
 gnu/packages/ocaml.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 83413fa541..53252aac03 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3809,6 +3809,25 @@ (define-public ocaml-duration
 provided check the input and raise on negative or out of bound input.")
     (license license:isc)))
 
+(define-public ocaml-mirage-time
+  (package
+    (name "ocaml-mirage-time")
+    (version "3.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://github.com/mirage/mirage-time/releases/download/v3.0.0/mirage-time-v3.0.0.tbz")
+              (sha256
+               (base32
+                "0z5xkhlgyhm22wyhwpf9r0rn4125cc3cxj6ccavyiiz2b2dr8h0d"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-lwt ocaml-duration))
+    (home-page "https://github.com/mirage/mirage-time")
+    (synopsis "Time operations for MirageOS")
+    (description
+     "Defines the signature for time-related operations for MirageOS.")
+    (license license:isc)))
+
 (define-public ocaml-mirage-unix
   (package
     (name "ocaml-mirage-unix")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 14/39] gnu: Add aliases for ocaml-cstruct and ocaml-lwt subpackages.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (11 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60683] [PATCH 13/39] gnu: Add ocaml-mirage-time Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 15/39] gnu: Add ocaml-ppx-cstruct Csepp
                   ` (26 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-lwt-ppx ocaml-cstruct-unix
  ocaml-cstruct-sexp): New variables.
---
We've discussed aliases vs variants with Julien Lepiller and yeah, these are not ideal, but also it's unclear how variants could be used when the original packages already explicitly specify which subpackage they are building.
But, perfect is the enemy of the good.  So I'm gonna leave these aliases in for now because I have a lot more MirageOS stuff to work on for my thesis project at uni.

 gnu/packages/ocaml.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 53252aac03..ee4c1cf91a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2971,6 +2971,11 @@ (define-public ocaml-lwt
 locks or other synchronization primitives.")
     (license license:lgpl2.1)))
 
+;; TODO this alias is not ideal but ocaml-lwt already explicitly specifies a
+;; package argument and at least this way the importer doesn't try to
+;; re-import it.
+(define ocaml-lwt-ppx ocaml-lwt)
+
 (define-public ocaml-lwt-dllist
   (package
     (name "ocaml-lwt-dllist")
@@ -4458,6 +4463,12 @@ (define-public ocaml4.07-cstruct
                   "0jj3whs8r3jc524i9bb67rffh7y7r157hjgvws0bkxijxpjzwkbk"))))
       (properties '()))))
 
+;; TODO again, the "parent" package already has an explicit package argument,
+;; so a variant package doesn't make sense, at least these aliases help the
+;; importer out so it doesn't re-import things.  At least hopefully.
+(define ocaml-cstruct-unix ocaml-cstruct)
+(define ocaml-cstruct-sexp ocaml-cstruct)
+
 (define-public ocaml-hex
   (package
     (name "ocaml-hex")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 15/39] gnu: Add ocaml-ppx-cstruct.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (12 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 14/39] gnu: Add aliases for ocaml-cstruct and ocaml-lwt subpackages Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 16/39] gnu: Add ocaml-mirage-profile-unix Csepp
                   ` (25 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-ppx-cstruct): New variable.
---
 gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ee4c1cf91a..72cb000fd9 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4469,6 +4469,28 @@ (define-public ocaml4.07-cstruct
 (define ocaml-cstruct-unix ocaml-cstruct)
 (define ocaml-cstruct-sexp ocaml-cstruct)
 
+(define-public ocaml-ppx-cstruct
+  (package
+    (inherit ocaml-cstruct)
+    (name "ocaml-ppx-cstruct")
+    (properties `((upstream-name . "ppx_cstruct")))
+    (arguments '(#:package "ppx_cstruct"
+                 ;; TODO doesn't find test deps for some reason?
+                 ;; I have no clue why.
+                 #:tests? #f))
+    (propagated-inputs
+     (modify-inputs
+         (package-propagated-inputs ocaml-cstruct)
+       (append ocaml-cstruct
+               ocaml-ppxlib
+               ocaml-sexplib)))
+    (native-inputs
+     (modify-inputs
+         (package-propagated-inputs ocaml-cstruct)
+       (append ocaml-cstruct-sexp
+               ocaml-findlib
+               ocaml-ppx-sexp-conv)))))
+
 (define-public ocaml-hex
   (package
     (name "ocaml-hex")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 16/39] gnu: Add ocaml-mirage-profile-unix.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (13 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 15/39] gnu: Add ocaml-ppx-cstruct Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 17/39] gnu: Add ocaml-mirage-profile Csepp
                   ` (24 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-profile-unix): New variable.
---
 gnu/packages/ocaml.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 72cb000fd9..62fb00dd37 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3853,6 +3853,43 @@ (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 url-fetch)
+              (uri
+               "https://github.com/mirage/mirage-profile/releases/download/v0.9.1/mirage-profile-v0.9.1.tbz")
+              (sha256
+               (base32
+                "0lh3591ad4v7nxpd410b75idmgdq668mqdilvkg4avrwqw1wzdib"))))
+    (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")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 17/39] gnu: Add ocaml-mirage-profile.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (14 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 16/39] gnu: Add ocaml-mirage-profile-unix Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 18/39] gnu: Add ocaml-mirage-clock Csepp
                   ` (23 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-profile): New variable.
---
 gnu/packages/ocaml.scm | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 62fb00dd37..33bc997dc5 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3890,6 +3890,20 @@ (define-public ocaml-mirage-profile-unix
 non-profiling case.")
     (license license:bsd-2)))
 
+(define-public ocaml-mirage-profile
+  (package
+    (inherit ocaml-mirage-profile-unix)
+    (name "ocaml-mirage-profile")
+    (arguments '(#:package "mirage-profile"
+                 ;; TODO cyclic dependency with mirage-profile
+                 ;; It could be broken using package variants, if not for
+                 ;; propagated inputs leading to version conflicts.
+                 #:tests? #f))
+    (propagated-inputs
+     (modify-inputs
+         (package-propagated-inputs ocaml-mirage-profile-unix)
+       (append ocaml-mirage-profile-unix)))))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 18/39] gnu: Add ocaml-mirage-clock.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (15 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 17/39] gnu: Add ocaml-mirage-profile Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 19/39] gnu: Add ocaml-ptime Csepp
                   ` (22 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-clock): New variable.
---
 gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 33bc997dc5..70129a5b6b 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3833,6 +3833,28 @@ (define-public ocaml-mirage-time
      "Defines the signature for time-related operations for MirageOS.")
     (license license:isc)))
 
+(define-public ocaml-mirage-clock
+  (package
+    (name "ocaml-mirage-clock")
+    (version "4.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://github.com/mirage/mirage-clock/releases/download/v4.2.0/mirage-clock-4.2.0.tbz")
+              (sha256
+               (base32
+                "0iwqi2381fbi3jlcw424dbhjs4fpisw7qpqzfjx7jg72bdfx25zs"))))
+    (build-system dune-build-system)
+    (home-page "https://github.com/mirage/mirage-clock")
+    (synopsis "Libraries and module types for portable clocks")
+    (description
+     "This library implements portable support for an operating system
+timesource that is compatible with the MirageOS library interfaces.  It
+implements an @code{MCLOCK} module that represents a monotonic timesource
+since an arbitrary point, and @code{PCLOCK} which counts time since the Unix
+epoch.")
+    (license license:isc)))
+
 (define-public ocaml-mirage-unix
   (package
     (name "ocaml-mirage-unix")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 19/39] gnu: Add ocaml-ptime.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (16 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 18/39] gnu: Add ocaml-mirage-clock Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 20/39] gnu: Add ocaml-mirage-logs Csepp
                   ` (21 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-ptime): New variable.
---
 gnu/packages/ocaml.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 70129a5b6b..52692b40bf 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3855,6 +3855,38 @@ (define-public ocaml-mirage-clock
 epoch.")
     (license license:isc)))
 
+(define-public ocaml-ptime
+  (package
+  (name "ocaml-ptime")
+  ;; TODO 1.1.0 has some issues, so for now we are stuck with 0.8.5
+  (version "0.8.5")
+  (source
+    (origin
+      (method url-fetch)
+      (uri "https://erratique.ch/software/ptime/releases/ptime-0.8.5.tbz")
+      (sha256
+        (base32
+          "1fxq57xy1ajzfdnvv5zfm7ap2nf49znw5f9gbi4kb9vds942ij27"))))
+  (build-system ocaml-build-system)
+  (arguments
+   `(#:build-flags (list "build" "--with-js_of_ocaml" "true" "--tests" "true")
+     #:phases
+     (modify-phases %standard-phases
+       (delete 'configure))))
+  (propagated-inputs
+   (list ocaml-result js-of-ocaml))
+  (native-inputs
+    (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+  (home-page "https://erratique.ch/software/ptime")
+  (synopsis "POSIX time for OCaml")
+  (description
+    "Ptime offers platform independent POSIX time support in pure OCaml. It
+provides a type to represent a well-defined range of POSIX timestamps with
+picosecond precision, conversion with date-time values, conversion with RFC
+3339 timestamps and pretty printing to a human-readable, locale-independent
+representation.")
+  (license license:isc)))
+
 (define-public ocaml-mirage-unix
   (package
     (name "ocaml-mirage-unix")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 20/39] gnu: Add ocaml-mirage-logs.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (17 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 19/39] gnu: Add ocaml-ptime Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 21/39] gnu: Add ocaml-sexp-pretty Csepp
                   ` (20 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-logs): New variable.
---
 gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 52692b40bf..f703b04760 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3958,6 +3958,34 @@ (define-public ocaml-mirage-profile
          (package-propagated-inputs ocaml-mirage-profile-unix)
        (append ocaml-mirage-profile-unix)))))
 
+
+(define-public ocaml-mirage-logs
+  (package
+    (name "ocaml-mirage-logs")
+    (version "1.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://github.com/mirage/mirage-logs/releases/download/v1.2.0/mirage-logs-v1.2.0.tbz")
+              (sha256
+               (base32
+                "0h0amzjxy067jljscib7fvw5q8k0adqa8m86affha9hq5jsh07a1"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-logs ocaml-ptime ocaml-mirage-clock
+                             ocaml-mirage-profile
+                             ocaml-lwt))
+    (native-inputs (list ocaml-alcotest))
+    (home-page "https://github.com/mirage/mirage-logs")
+    (synopsis
+     "Reporter for the Logs library that writes to stderr with timestamps")
+    (description
+     "Uses a Mirage @code{CLOCK} to write timestamped log messages.  It can
+also log only important messages to the console, while writing all received
+messages to a ring buffer which is displayed if an exception occurs.  If
+tracing is enabled (via mirage-profile), it also writes each log message to
+the trace buffer.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 21/39] gnu: Add ocaml-sexp-pretty.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (18 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 20/39] gnu: Add ocaml-mirage-logs Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 22/39] gnu: Add ocaml-expect-test-helpers-core Csepp
                   ` (19 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-sexp-pretty): New variable.
---
 gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f703b04760..16d54f3230 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6163,6 +6163,27 @@ (define-public ocaml4.07-sexplib
                          "0ksx62zsxhz8xmdrsn41n2hbc2qbyh3bxxc6946xisvgwh42h3q3"))
      (properties '()))))
 
+(define-public ocaml-sexp-pretty
+  (package
+    (name "ocaml-sexp-pretty")
+    (version "0.15.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://ocaml.janestreet.com/ocaml-core/v0.15/files/sexp_pretty-v0.15.0.tar.gz")
+              (sha256
+               (base32
+                "1wax07zgvjcmrdnc2g89h6sbp5cirk65l5ibf00h57dzq8xn9s4r"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-base ocaml-ppx-base ocaml-sexplib ocaml-re))
+    (properties `((upstream-name . "sexp_pretty")))
+    (home-page "https://github.com/janestreet/sexp_pretty")
+    (synopsis "S-expression pretty-printer")
+    (description
+     "Library for pretty-printing s-expressions, using better indentation
+rules than the default pretty printer in Sexplib.")
+    (license license:expat)))
+
 (define-public ocaml-base
   (package
     (name "ocaml-base")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 22/39] gnu: Add ocaml-expect-test-helpers-core.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (19 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 21/39] gnu: Add ocaml-sexp-pretty Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 23/39] gnu: Add ocaml-intrinsics Csepp
                   ` (18 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-expect-test-helpers-core): New variable.
---
 gnu/packages/ocaml.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 16d54f3230..fb3332a5dd 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2638,6 +2638,32 @@ (define-public ocaml4.07-alcotest
        `(#:package "alcotest"))
       (properties '()))))
 
+(define-public ocaml-expect-test-helpers-core
+  (package
+    (name "ocaml-expect-test-helpers-core")
+    (version "0.15.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://ocaml.janestreet.com/ocaml-core/v0.15/files/expect_test_helpers_core-v0.15.0.tar.gz")
+              (sha256
+               (base32
+                "0llnzx90qp1yydx4rg3fgd29wqfi92jrsvw1pp434gi5cj2p6akz"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-base
+                             ocaml-base-quickcheck
+                             ocaml-core
+                             ocaml-ppx-jane
+                             ocaml-sexp-pretty
+                             ocaml-stdio
+                             ocaml-re))
+    (properties `((upstream-name . "expect_test_helpers_core")))
+    (home-page "https://github.com/janestreet/expect_test_helpers_core")
+    (synopsis "Helpers for writing expectation tests")
+    (description
+     "Helper functions for writing expect tests.")
+    (license license:expat)))
+
 (define-public ocaml-ppx-tools
   (package
     (name "ocaml-ppx-tools")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 23/39] gnu: Add ocaml-intrinsics.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (20 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 22/39] gnu: Add ocaml-expect-test-helpers-core Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 24/39] gnu: Add ocaml-core-unix Csepp
                   ` (17 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-intrinsics): New variable.
---
 gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index fb3332a5dd..b82c3b4cd0 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -9209,6 +9209,34 @@ (define-public ocaml-bigstringaf
 these missing pieces.")
     (license license:bsd-3)))
 
+(define-public ocaml-intrinsics
+  (package
+    (name "ocaml-intrinsics")
+    (version "0.15.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/janestreet/ocaml_intrinsics")
+             (commit (string-append "v" version))))
+       (file-name name)
+       (sha256
+        (base32 "1mazr1ka2zlm2s8bw5i555cnhi1bmr9yxvpn29d3v4m8lsnfm73z"))))
+    (build-system dune-build-system)
+    ;; TODO figure out how to get around this error:
+    ;; No rule found for alias test/runtime-deps-of-tests
+    (arguments '(#:tests? #f))
+    (propagated-inputs (list dune-configurator))
+    (native-inputs (list ocaml-expect-test-helpers-core ocaml-core))
+    (properties `((upstream-name . "ocaml_intrinsics")))
+    (home-page "https://github.com/janestreet/ocaml_intrinsics")
+    (synopsis "AMD64 intrinsics with emulated fallbacks")
+    (description
+     "Provides an OCaml interface to operations that have dedicated hardware
+instructions on some micro-architectures, with default implementations using C
+stubs for all targets.")
+    (license license:expat)))
+
 (define-public ocaml-trie
   (package
     (name "ocaml-trie")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 24/39] gnu: Add ocaml-core-unix.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (21 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 23/39] gnu: Add ocaml-intrinsics Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 25/39] gnu: Add ocaml-async-kernel Csepp
                   ` (16 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-core-unix): New variable.
---
 gnu/packages/ocaml.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index b82c3b4cd0..44ef688154 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8335,6 +8335,36 @@ (define-public ocaml4.07-core-kernel
                  ;; MLton and sjs
                  license:expat)))))
 
+(define-public ocaml-core-unix
+  (package
+    (name "ocaml-core-unix")
+    (version "0.15.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://ocaml.janestreet.com/ocaml-core/v0.15/files/core_unix-v0.15.0.tar.gz")
+              (sha256
+               (base32
+                "0bd0bn959p6q3k1zh8bh7qdri8bhpph720bkij2q16h2sb0d5y8a"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-core
+                             ocaml-core-kernel
+                             ocaml-expect-test-helpers-core
+                             ocaml-jane-street-headers
+                             ocaml-jst-config
+                             ocaml-intrinsics
+                             ocaml-ppx-jane
+                             ocaml-sexplib
+                             ocaml-timezone
+                             ocaml-spawn))
+    (properties `((upstream-name . "core_unix")))
+    (home-page "https://github.com/janestreet/core_unix")
+    (synopsis "Unix-specific portions of Core")
+    (description
+     "Unix-specific extensions to some of the modules defined in core and
+core_kernel.")
+    (license license:expat)))
+
 (define-public ocaml-timezone
   (package
     (name "ocaml-timezone")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 25/39] gnu: Add ocaml-async-kernel.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (22 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 24/39] gnu: Add ocaml-core-unix Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 26/39] gnu: Add ocaml-async-unix Csepp
                   ` (15 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-async-kernel): New variable.
---
 gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 44ef688154..cbfaf40da7 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8365,6 +8365,28 @@ (define-public ocaml-core-unix
 core_kernel.")
     (license license:expat)))
 
+(define-public ocaml-async-kernel
+  (package
+    (name "ocaml-async-kernel")
+    (version "0.15.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://ocaml.janestreet.com/ocaml-core/v0.15/files/async_kernel-v0.15.0.tar.gz")
+              (sha256
+               (base32
+                "15n65wqyzqnvk66dq1rgzdl68ixfp1ri02zib7p2gcdh9c0kwx9h"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-core ocaml-core-kernel ocaml-ppx-jane))
+    (properties `((upstream-name . "async_kernel")))
+    (home-page "https://github.com/janestreet/async_kernel")
+    (synopsis "Monadic concurrency library")
+    (description
+     "Contains @code{Async}'s core data structures, like
+@code{Deferred}.  @code{Async_kernel} is portable, and so can be used in
+JavaScript using @code{Async_js}.")
+    (license license:expat)))
+
 (define-public ocaml-timezone
   (package
     (name "ocaml-timezone")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 26/39] gnu: Add ocaml-async-unix.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (23 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 25/39] gnu: Add ocaml-async-kernel Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 27/39] gnu: Add ocaml-textutils-kernel Csepp
                   ` (14 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-async-unix): New variable.
---
 gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index cbfaf40da7..fa56c687d0 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8387,6 +8387,30 @@ (define-public ocaml-async-kernel
 JavaScript using @code{Async_js}.")
     (license license:expat)))
 
+(define-public ocaml-async-unix
+  (package
+    (name "ocaml-async-unix")
+    (version "0.15.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://ocaml.janestreet.com/ocaml-core/v0.15/files/async_unix-v0.15.0.tar.gz")
+              (sha256
+               (base32
+                "1i9vrflp5df5d31q01643l412wrwizisb0qak1mfszqrqikrv4a9"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-async-kernel ocaml-core ocaml-core-kernel
+                             ocaml-core-unix ocaml-ppx-jane))
+    (properties `((upstream-name . "async_unix")))
+    (home-page "https://github.com/janestreet/async_unix")
+    (synopsis "Monadic concurrency library")
+    (description
+     "Unix-related dependencies for things like system calls and
+threads.  Using these, it hooks the Async_kernel scheduler up to either epoll
+or select, depending on availability, and manages a thread pool that blocking
+system calls run in.")
+    (license license:expat)))
+
 (define-public ocaml-timezone
   (package
     (name "ocaml-timezone")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 27/39] gnu: Add ocaml-textutils-kernel.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (24 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 26/39] gnu: Add ocaml-async-unix Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 28/39] gnu: Add ocaml-textutils Csepp
                   ` (13 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-textutils-kernel): New variable.
---
 gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index fa56c687d0..73cae7fd52 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8411,6 +8411,27 @@ (define-public ocaml-async-unix
 system calls run in.")
     (license license:expat)))
 
+(define-public ocaml-textutils-kernel
+  (package
+    (name "ocaml-textutils-kernel")
+    (version "0.15.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://ocaml.janestreet.com/ocaml-core/v0.15/files/textutils_kernel-v0.15.0.tar.gz")
+              (sha256
+               (base32
+                "0dzsazmwnjq11z533wq3a319drlgrjgxr28y2j40h2i4qdfr3b5c"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-core ocaml-ppx-jane ocaml-uutf))
+    (properties `((upstream-name . "textutils_kernel")))
+    (home-page "https://github.com/janestreet/textutils_kernel")
+    (synopsis "Text output utilities")
+    (description
+     "The subset of textutils using only core_kernel and working in
+javascript.")
+    (license license:expat)))
+
 (define-public ocaml-timezone
   (package
     (name "ocaml-timezone")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 28/39] gnu: Add ocaml-textutils.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (25 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 27/39] gnu: Add ocaml-textutils-kernel Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 29/39] gnu: Add ocaml-protocol-version-header Csepp
                   ` (12 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-textutils): New variable.
---
 gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 73cae7fd52..9f05552c15 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8432,6 +8432,30 @@ (define-public ocaml-textutils-kernel
 javascript.")
     (license license:expat)))
 
+(define-public ocaml-textutils
+  (package
+    (name "ocaml-textutils")
+    (version "0.15.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://ocaml.janestreet.com/ocaml-core/v0.15/files/textutils-v0.15.0.tar.gz")
+              (sha256
+               (base32
+                "1pr2vhvmiqcdipwd21vif24p2zzv6kbhvcmzkzb7qwhqmnv8ydn0"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-core
+                             ocaml-core-kernel
+                             ocaml-core-unix
+                             ocaml-ppx-jane
+                             ocaml-textutils-kernel
+                             ocaml-uutf))
+    (home-page "https://github.com/janestreet/textutils")
+    (synopsis "Text output utilities")
+    (description
+     "Utilities for working with terminal output, such as color printing.")
+    (license license:expat)))
+
 (define-public ocaml-timezone
   (package
     (name "ocaml-timezone")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 29/39] gnu: Add ocaml-protocol-version-header.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (26 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 28/39] gnu: Add ocaml-textutils Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 30/39] gnu: Add ocaml-async-rpc-kernel Csepp
                   ` (11 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-protocol-version-header): New variable.
---
 gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 9f05552c15..64d7c8065a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6846,6 +6846,29 @@ (define-public ocaml4.07-bin-prot
                  license:asl2.0
                  license:bsd-3)))))
 
+(define-public ocaml-protocol-version-header
+  (package
+    (name "ocaml-protocol-version-header")
+    (version "0.15.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://ocaml.janestreet.com/ocaml-core/v0.15/files/protocol_version_header-v0.15.0.tar.gz")
+              (sha256
+               (base32
+                "1izks6hxqd4gjxmwiv5ng52js8jbccl5hmyrvdqznjycp9ky9i6h"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-core ocaml-ppx-jane))
+    (properties `((upstream-name . "protocol_version_header")))
+    (home-page "https://github.com/janestreet/protocol_version_header")
+    (synopsis "Protocol versioning")
+    (description
+     "This library offers a lightweight way for applications protocols to
+version themselves.  The more protocols that add themselves to
+@code{Known_protocol}, the nicer error messages we will get when connecting to
+a service while using the wrong protocol.")
+    (license license:expat)))
+
 (define-public ocaml-octavius
   (package
     (name "ocaml-octavius")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 30/39] gnu: Add ocaml-async-rpc-kernel.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (27 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 29/39] gnu: Add ocaml-protocol-version-header Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 31/39] gnu: Add ocaml-async Csepp
                   ` (10 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-async-rpc-kernel): New variable.
---
 gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 64d7c8065a..d2c41a2fdf 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8434,6 +8434,29 @@ (define-public ocaml-async-unix
 system calls run in.")
     (license license:expat)))
 
+(define-public ocaml-async-rpc-kernel
+  (package
+    (name "ocaml-async-rpc-kernel")
+    (version "0.15.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://ocaml.janestreet.com/ocaml-core/v0.15/files/async_rpc_kernel-v0.15.0.tar.gz")
+              (sha256
+               (base32
+                "07aq9fz1cqyfy3sarwrdh0rzw57b4balmagdqwsfs1c2rjffk4d7"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-async-kernel ocaml-core ocaml-ppx-jane
+                             ocaml-protocol-version-header))
+    (properties `((upstream-name . "async_rpc_kernel")))
+    (home-page "https://github.com/janestreet/async_rpc_kernel")
+    (synopsis "Platform-independent core of Async RPC library")
+    (description
+     "Library for building RPC-style protocols.  This library is the portable
+part of the Unix-oriented Async_rpc library, and is actively used in
+JavaScript.")
+    (license license:expat)))
+
 (define-public ocaml-textutils-kernel
   (package
     (name "ocaml-textutils-kernel")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 31/39] gnu: Add ocaml-async.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (28 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 30/39] gnu: Add ocaml-async-rpc-kernel Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 32/39] gnu: Add ocaml-shared-memory-ring Csepp
                   ` (9 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-async): New variable.
---
 gnu/packages/ocaml.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d2c41a2fdf..c94beb408c 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8457,6 +8457,38 @@ (define-public ocaml-async-rpc-kernel
 JavaScript.")
     (license license:expat)))
 
+(define-public ocaml-async
+  (package
+    (name "ocaml-async")
+    (version "0.15.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://ocaml.janestreet.com/ocaml-core/v0.15/files/async-v0.15.0.tar.gz")
+              (sha256
+               (base32
+                "1afnls0m4izzp933h606k0vj43krfsy4ypnybsidq7pd9cfb4fqd"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-async-kernel
+                             ocaml-async-rpc-kernel
+                             ocaml-async-unix
+                             ocaml-core
+                             ocaml-core-kernel
+                             ocaml-core-unix
+                             ocaml-ppx-jane
+                             ocaml-ppx-log
+                             ocaml-textutils))
+    ;; TODO one test dependency is deprecated, the other is nowhere to be found
+    (arguments '(#:tests? #f))
+    ;; (native-inputs (list ocaml-netkit-sockets ocaml-qtest-deprecated))
+    (home-page "https://github.com/janestreet/async")
+    (synopsis "Asynchronous execution library")
+    (description
+     "Library for asynchronous programming, i.e., programming where some part
+of the program must wait for things that happen at times determined by some
+external entity (like a human or another program).")
+    (license license:expat)))
+
 (define-public ocaml-textutils-kernel
   (package
     (name "ocaml-textutils-kernel")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 32/39] gnu: Add ocaml-shared-memory-ring.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (29 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 31/39] gnu: Add ocaml-async Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 33/39] gnu: Alias ocaml-shared-memory-ring-lwt to ocaml-shared-memory-ring Csepp
                   ` (8 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-shared-memory-ring): New variable.
---
 gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c94beb408c..11da7bd7c7 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3023,6 +3023,34 @@ (define-public ocaml-lwt-dllist
 doubly-linked list with Lwt iterators.")
     (license license:expat)))
 
+
+(define-public ocaml-shared-memory-ring
+  (package
+    (name "ocaml-shared-memory-ring")
+    (version "3.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/mirage/shared-memory-ring")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "12cpbia39aifnd8rxpsra0lhssqj5qw0zygb5fd8kg58zy2clmrr"))))
+    (build-system dune-build-system)
+    (arguments '(#:package "shared-memory-ring"))
+    (propagated-inputs (list ocaml-cstruct ocaml-ppx-cstruct ocaml-lwt-dllist
+                             ocaml-mirage-profile))
+    (native-inputs (list ocaml-ounit))
+    (home-page "https://github.com/mirage/shared-memory-ring")
+    (synopsis "Xen-style shared memory rings")
+    (description
+     "Libraries for creating shared memory producer/consumer rings.  The rings
+follow the Xen ABI and may be used to create or implement Xen virtual
+devices.")
+    (license license:isc)))
+
 (define-public ocaml-luv
   (package
     (name "ocaml-luv")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 33/39] gnu: Alias ocaml-shared-memory-ring-lwt to ocaml-shared-memory-ring.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (30 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 32/39] gnu: Add ocaml-shared-memory-ring Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 34/39] gnu: Add ocaml-xenstore Csepp
                   ` (7 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-shared-memory-ring-lwt): New variable.
---
 gnu/packages/ocaml.scm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 11da7bd7c7..645ff3961f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3051,6 +3051,15 @@ (define-public ocaml-shared-memory-ring
 devices.")
     (license license:isc)))
 
+(define-public ocaml-shared-memory-ring-lwt
+  (package
+    (inherit ocaml-shared-memory-ring)
+    (name "ocaml-shared-memory-ring-lwt")
+    (arguments '(#:package "shared-memory-ring-lwt"))
+    (propagated-inputs
+     (modify-inputs (package-propagated-inputs ocaml-shared-memory-ring)
+       (append ocaml-shared-memory-ring)))))
+
 (define-public ocaml-luv
   (package
     (name "ocaml-luv")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 34/39] gnu: Add ocaml-xenstore.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (31 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 33/39] gnu: Alias ocaml-shared-memory-ring-lwt to ocaml-shared-memory-ring Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 35/39] gnu: Add ocaml-io-page Csepp
                   ` (6 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-xenstore): New variable.
---
 gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 645ff3961f..b2867ac366 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3060,6 +3060,34 @@ (define-public ocaml-shared-memory-ring-lwt
      (modify-inputs (package-propagated-inputs ocaml-shared-memory-ring)
        (append ocaml-shared-memory-ring)))))
 
+(define-public ocaml-xenstore
+  (package
+    (name "ocaml-xenstore")
+    (version "2.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://github.com/mirage/ocaml-xenstore/releases/download/v2.2.0/xenstore-2.2.0.tbz")
+              (sha256
+               (base32
+                "0b8qqg7a2bcwfbva042l5kiivpwc1pa8bvwic1fy87bkvsvfmjfl"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-cstruct ocaml-ppx-cstruct ocaml-lwt))
+    (native-inputs (list ocaml-ounit2))
+    (home-page "https://github.com/mirage/ocaml-xenstore")
+    (synopsis "Xenstore protocol in pure OCaml")
+    (description
+     "Repository contents:
+@itemize
+@item client library, a merge of the Mirage and XCP ones
+@item server library
+@item server instance which runs under Unix with libxc
+@item server instance which runs on mirage.
+@end itemize
+The client and the server libraries have sets of unit-tests.")
+    ;; Has a linking exception, see LICENSE.md.
+    (license license:lgpl2.1)))
+
 (define-public ocaml-luv
   (package
     (name "ocaml-luv")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 35/39] gnu: Add ocaml-io-page.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (32 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 34/39] gnu: Add ocaml-xenstore Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 36/39] gnu: Add ocaml-bheap Csepp
                   ` (5 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-io-page): New variable.
---
 gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index b2867ac366..f63aa138d2 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3088,6 +3088,27 @@ (define-public ocaml-xenstore
     ;; Has a linking exception, see LICENSE.md.
     (license license:lgpl2.1)))
 
+(define-public ocaml-io-page
+  (package
+    (name "ocaml-io-page")
+    (version "3.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://github.com/mirage/io-page/releases/download/v3.0.0/io-page-3.0.0.tbz")
+              (sha256
+               (base32
+                "1vl6ywzp48180bmdnk1zprwz0amz5sxrijwhh08acsq5v5scldhf"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-cstruct))
+    (native-inputs (list pkg-config ocaml-ounit))
+    (home-page "https://github.com/mirage/io-page")
+    (synopsis "Support for efficient handling of I/O memory pages")
+    (description
+     "IO pages are page-aligned, and wrapped in the @code{Cstruct} library to
+avoid copying the data contained within the page.")
+    (license license:isc)))
+
 (define-public ocaml-luv
   (package
     (name "ocaml-luv")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 36/39] gnu: Add ocaml-bheap.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (33 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 35/39] gnu: Add ocaml-io-page Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 37/39] gnu: Add ocaml-mirage-xen Csepp
                   ` (4 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-bheap): New variable.
---
 gnu/packages/ocaml.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f63aa138d2..b3a4e5e01d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3109,6 +3109,26 @@ (define-public ocaml-io-page
 avoid copying the data contained within the page.")
     (license license:isc)))
 
+(define-public ocaml-bheap
+  (package
+    (name "ocaml-bheap")
+    (version "2.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://github.com/backtracking/bheap/releases/download/2.0.0/bheap-2.0.0.tbz")
+              (sha256
+               (base32
+                "0dpnpla20lgiicrxl2432m2fcr6y68msw3pnjxqb11xw6yrdfhsz"))))
+    (build-system dune-build-system)
+    (native-inputs (list ocaml-stdlib-shims))
+    (home-page "https://github.com/backtracking/bheap")
+    (synopsis "Priority queues")
+    (description
+     "Traditional implementation of priority queues using a binary heap
+encoded in a resizable array.")
+    (license license:lgpl2.1)))
+
 (define-public ocaml-luv
   (package
     (name "ocaml-luv")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 37/39] gnu: Add ocaml-mirage-xen.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (34 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 36/39] gnu: Add ocaml-bheap Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 38/39] gnu: Add ocaml-parse-argv Csepp
                   ` (3 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-xen): New variable.
---
 gnu/packages/ocaml.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index b3a4e5e01d..d6279d6d7d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3088,6 +3088,39 @@ (define-public ocaml-xenstore
     ;; Has a linking exception, see LICENSE.md.
     (license license:lgpl2.1)))
 
+(define-public ocaml-mirage-xen
+  (package
+    (name "ocaml-mirage-xen")
+    (version "8.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/mirage/mirage-xen")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1qydg92dbw8hj4b809apj0f51cjgmamq3zdf34a4wyn5jv85yzyx"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-cstruct
+                             ocaml-lwt
+                             ocaml-shared-memory-ring-lwt
+                             ocaml-xenstore
+                             ocaml-lwt-dllist
+                             ;;ocaml-mirage-profile  dependency cycle
+                             ocaml-io-page
+                             ocaml-mirage-runtime
+                             ocaml-logs
+                             ocaml-fmt
+                             ocaml-bheap
+                             ocaml-duration))
+    (home-page "https://github.com/mirage/mirage-xen")
+    (synopsis "Xen core platform libraries for MirageOS")
+    (description "MirageOS OS library for Xen targets, which handles the main
+loop and timers.  It also provides the low level C startup code and C stubs
+required by the OCaml code.")
+    (license license:isc)))
+
 (define-public ocaml-io-page
   (package
     (name "ocaml-io-page")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 38/39] gnu: Add ocaml-parse-argv.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (35 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 37/39] gnu: Add ocaml-mirage-xen Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-01-09  0:35 ` [bug#60673] [PATCH 39/39] gnu: Add ocaml-mirage-bootvar-unix Csepp
                   ` (2 subsequent siblings)
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-parse-argv): New variable.
---
 gnu/packages/ocaml.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d6279d6d7d..0b90578c4b 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3852,6 +3852,26 @@ (define-public ocaml-emile
 according RFC2047.")
     (license license:expat)))
 
+(define-public ocaml-parse-argv
+  (package
+    (name "ocaml-parse-argv")
+    (version "0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://github.com/mirage/parse-argv/releases/download/v0.2.0/parse-argv-v0.2.0.tbz")
+              (sha256
+               (base32
+                "06dl04fcmwpkydzni2fzwrhk0bqypd55mgxfax9v82x65xrgj5gw"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-astring))
+    (native-inputs (list ocaml-ounit))
+    (home-page "https://github.com/mirage/parse-argv")
+    (synopsis "Process strings into sets of command-line arguments")
+    (description
+     "Small implementation of a simple argv parser.")
+    (license license:isc)))
+
 (define-public ocaml-functoria-runtime
   (package
     (name "ocaml-functoria-runtime")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 39/39] gnu: Add ocaml-mirage-bootvar-unix.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (36 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 38/39] gnu: Add ocaml-parse-argv Csepp
@ 2023-01-09  0:35 ` Csepp
  2023-02-07  7:57 ` [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Christopher Baines
  2023-02-15 21:59 ` [bug#60673] Csepp
  39 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-01-09  0:35 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-bootvar-unix): New variable.
---
 gnu/packages/ocaml.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 0b90578c4b..8251082afc 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3975,6 +3975,24 @@ (define-public ocaml-mirage
 a fully-standalone, specialised unikernel.")
     (license license:isc)))
 
+(define-public ocaml-mirage-bootvar-unix
+  (package
+    (name "ocaml-mirage-bootvar-unix")
+    (version "0.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://github.com/mirage/mirage-bootvar-unix/releases/download/0.1.0/mirage-bootvar-unix-0.1.0.tbz")
+              (sha256
+               (base32
+                "0r92s6y7nxg0ci330a7p0hii4if51iq0sixn20cnm5j4a2clprbf"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-lwt ocaml-parse-argv))
+    (home-page "https://github.com/mirage/mirage-bootvar-unix")
+    (synopsis "Unix implementation of MirageOS Bootvar interface")
+    (description "Library for passing boot parameters from Solo5 to MirageOS.")
+    (license license:isc)))
+
 (define-public ocaml-duration
   (package
     (name "ocaml-duration")
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name.
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (37 preceding siblings ...)
  2023-01-09  0:35 ` [bug#60673] [PATCH 39/39] gnu: Add ocaml-mirage-bootvar-unix Csepp
@ 2023-02-07  7:57 ` Christopher Baines
  2023-02-08  1:37   ` Csepp
  2023-02-15 21:59 ` [bug#60673] Csepp
  39 siblings, 1 reply; 85+ messages in thread
From: Christopher Baines @ 2023-02-07  7:57 UTC (permalink / raw)
  To: Csepp; +Cc: 60673

[-- Attachment #1: Type: text/plain, Size: 474 bytes --]

Hey,

While I think the builds look OK for this series, there are quite a few
formatting issues raised by the linter (this can be seen on [1] and [2]).

1: https://qa.guix.gnu.org/issue/60674
2: https://data.qa.guix.gnu.org/compare?base_commit=238f965c331990459a69cbc713ca951ad40e6044&target_commit=3b5485b9cdaebda127dc040ad67a287f39e33519

Could you run the linter on the packages you've added here, address the
issues it raises and send an updated series?

Thanks,

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name.
  2023-02-07  7:57 ` [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Christopher Baines
@ 2023-02-08  1:37   ` Csepp
  2023-02-08  7:32     ` Christopher Baines
  0 siblings, 1 reply; 85+ messages in thread
From: Csepp @ 2023-02-08  1:37 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 60673, raingloom


Christopher Baines <mail@cbaines.net> writes:

> [[PGP Signed Part:Undecided]]
> Hey,
>
> While I think the builds look OK for this series, there are quite a few
> formatting issues raised by the linter (this can be seen on [1] and [2]).
>
> 1: https://qa.guix.gnu.org/issue/60674
> 2:
> https://data.qa.guix.gnu.org/compare?base_commit=238f965c331990459a69cbc713ca951ad40e6044&target_commit=3b5485b9cdaebda127dc040ad67a287f39e33519
>
> Could you run the linter on the packages you've added here, address the
> issues it raises and send an updated series?
>
> Thanks,
>
> Chris
>
> [[End of PGP Signed Part]]

Those are all URL constants, can't really do much about them other than slice
them up with string-append, which I'm not sure really helps with
readability or ease of editing.  They were not an issue while I was
editing the code and gnu/packages/ocaml.scm already has a lot of lines
that whitespace-mode highlights as too long, so I thought it wouldn't
matter much and my time would be better spent elsewhere.
The real fix IMHO would be to convert them into git-fetch origins, which
would also make it possible to use git related package transforms.  This
is on my TODO list.
Or at least the OPAM importer should be changed to do the URL splitting.




^ permalink raw reply	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name.
  2023-02-08  1:37   ` Csepp
@ 2023-02-08  7:32     ` Christopher Baines
  2023-02-17  1:03       ` Csepp
  0 siblings, 1 reply; 85+ messages in thread
From: Christopher Baines @ 2023-02-08  7:32 UTC (permalink / raw)
  To: Csepp; +Cc: 60673

[-- Attachment #1: Type: text/plain, Size: 1351 bytes --]


Csepp <raingloom@riseup.net> writes:

> Christopher Baines <mail@cbaines.net> writes:
>
>> [[PGP Signed Part:Undecided]]
>> Hey,
>>
>> While I think the builds look OK for this series, there are quite a few
>> formatting issues raised by the linter (this can be seen on [1] and [2]).
>>
>> 1: https://qa.guix.gnu.org/issue/60674
>> 2:
>> https://data.qa.guix.gnu.org/compare?base_commit=238f965c331990459a69cbc713ca951ad40e6044&target_commit=3b5485b9cdaebda127dc040ad67a287f39e33519
>>
>> Could you run the linter on the packages you've added here, address the
>> issues it raises and send an updated series?
>>
>> Thanks,
>>
>> Chris
>>
>> [[End of PGP Signed Part]]
>
> Those are all URL constants, can't really do much about them other than slice
> them up with string-append, which I'm not sure really helps with
> readability or ease of editing.  They were not an issue while I was
> editing the code and gnu/packages/ocaml.scm already has a lot of lines
> that whitespace-mode highlights as too long, so I thought it wouldn't
> matter much and my time would be better spent elsewhere.

You're right that there are quite a few other instances of lines that
are too long in that module, but I don't think that's a reason not to
add more. I think splitting the long URL strings with string-append is a
good approach and can help with readability.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 85+ messages in thread

* [bug#60673]
  2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
                   ` (38 preceding siblings ...)
  2023-02-07  7:57 ` [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Christopher Baines
@ 2023-02-15 21:59 ` Csepp
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 01/39] gnu: Add ocaml-domain-name Csepp
                     ` (38 more replies)
  39 siblings, 39 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 21:59 UTC (permalink / raw)
  To: 60673

Updated version of the packages needed to build the hello world unikernel.
Lint warnings taken care of, the few that remain are false positives related
to upgrades to versions that are not actually newer.






^ permalink raw reply	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 01/39] gnu: Add ocaml-domain-name.
  2023-02-15 21:59 ` [bug#60673] Csepp
@ 2023-02-15 21:59   ` Csepp
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 02/39] gnu: Add ocaml-macaddr Csepp
                     ` (37 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 21:59 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

gnu/packages/ocaml.scm (ocaml-domain-name): New variable.
---
 gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 0cc92c3e85..75f112f0ac 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -27,6 +27,7 @@
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 ;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
+;;; Copyright © 2023 Csepp <raingloom@riseup.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3529,6 +3530,28 @@ (define-public ocaml-ocp-index
     (license (list license:gpl3+
                    license:lgpl2.1+))))
 
+(define-public ocaml-domain-name
+  (package
+    (name "ocaml-domain-name")
+    (version "0.4.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/hannesm/domain-name/")
+                    (commit (string-append "v" version))))
+              (file-name name)
+              (sha256
+               (base32
+                "1a669zz1pc7sqbi1c13jsnp8algcph2b8gr5fjrjhyh3p232770k"))))
+    (build-system dune-build-system)
+    (native-inputs (list ocaml-alcotest))
+    (home-page "https://github.com/hannesm/domain-name")
+    (synopsis "RFC 1035 Internet domain name data structure and parser")
+    (description
+     "Parses and constructs RFC compliant domain names.  The invariants on the
+length of domain names are preserved throughout the module.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 02/39] gnu: Add ocaml-macaddr.
  2023-02-15 21:59 ` [bug#60673] Csepp
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 01/39] gnu: Add ocaml-domain-name Csepp
@ 2023-02-15 21:59   ` Csepp
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 03/39] gnu: Add ocaml-ipaddr Csepp
                     ` (36 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 21:59 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-macaddr): New variable.
---
 gnu/packages/ocaml.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 75f112f0ac..7fb32ade5a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3552,6 +3552,35 @@ (define-public ocaml-domain-name
 length of domain names are preserved throughout the module.")
     (license license:isc)))
 
+(define-public ocaml-macaddr
+  (package
+    (name "ocaml-macaddr")
+    (version "5.3.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mirage/ocaml-ipaddr/")
+                    (commit (string-append "v" version))))
+              (file-name name)
+              (sha256
+               (base32
+                "1zgwx0ms3l4k4dzwnkrwq4zzqjrddjsvqn66mbd0rm6aq1ib019d"))))
+    (build-system dune-build-system)
+    (arguments '(#:package "macaddr"))
+    (propagated-inputs (list ocaml-cstruct ocaml-domain-name))
+    (native-inputs (list ocaml-ounit2 ocaml-ppx-sexp-conv))
+    (home-page "https://github.com/mirage/ocaml-ipaddr")
+    (synopsis "OCaml library for manipulation of MAC address representations")
+    (description
+     "Features:
+@itemize
+@item MAC-48 (Ethernet) address support
+@item @code{Macaddr} is a @code{Map.OrderedType}
+@item All types have sexplib serializers/deserializers optionally via the
+@code{Macaddr_sexp} library
+@end itemize")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 03/39] gnu: Add ocaml-ipaddr.
  2023-02-15 21:59 ` [bug#60673] Csepp
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 01/39] gnu: Add ocaml-domain-name Csepp
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 02/39] gnu: Add ocaml-macaddr Csepp
@ 2023-02-15 21:59   ` Csepp
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 04/39] gnu: Add ocaml-opam-monorepo Csepp
                     ` (35 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 21:59 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-ipaddr): New variable.
---
 gnu/packages/ocaml.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7fb32ade5a..e3e63c26b4 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3581,6 +3581,19 @@ (define-public ocaml-macaddr
 @end itemize")
     (license license:isc)))
 
+(define-public ocaml-ipaddr
+  ;; same repo and versions as ocaml-macaddr
+  (package
+    (inherit ocaml-macaddr)
+    (name "ocaml-ipaddr")
+    (arguments '(#:package "ipaddr"))
+    (propagated-inputs (list ocaml-macaddr ocaml-domain-name))
+    (synopsis
+     "Library for manipulation of IP (and MAC) address representations")
+    (description
+     "IP address types with serialization, supporting a wide range of RFCs.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 04/39] gnu: Add ocaml-opam-monorepo.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (2 preceding siblings ...)
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 03/39] gnu: Add ocaml-ipaddr Csepp
@ 2023-02-15 21:59   ` Csepp
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 05/39] gnu: Add ocaml-pecu Csepp
                     ` (34 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 21:59 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-opam-monorepo): New variable.
---
 gnu/packages/ocaml.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e3e63c26b4..d9b0d74c80 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -976,6 +976,39 @@ (define-public opam
     ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
     (license license:lgpl3)))
 
+(define-public ocaml-opam-monorepo
+  (package
+    (name "ocaml-opam-monorepo")
+    (version "0.3.5")
+    (source (origin
+              (method git-fetch)
+              (uri
+               (git-reference
+                (url "https://github.com/tarides/opam-monorepo/")
+                (commit version)))
+              (file-name name)
+              (sha256
+               (base32
+                "09lq788b1sai4v1nxd16b00pw0m55plcwrx3f9v5a90gpxg0a6sc"))))
+    (build-system dune-build-system)
+    (arguments
+     ;; TODO
+     ;; Too many tests require a fully initialized opam, disabling them would
+     ;; be a huge pain.  "Mocking" opam init is difficult because it requires
+     ;; networking access.
+     '(#:tests? #f))
+    ;; TODO: not entirely clear if these should be native, test cross-building
+    (native-inputs (list ocaml-odoc
+                         pkg-config))
+    ;; (propagated-inputs lablgtk3) optional and is currently failing to build
+    (home-page "https://github.com/tarides/opam-monorepo")
+    (synopsis "Assemble and manage fully vendored Dune repositories")
+    (description
+     "The opam monorepo plugin provides a convenient interface to bridge the
+opam package manager with having a local copy of all the source code required
+to build a project using the dune build tool.")
+    (license license:isc)))
+
 (define-public ocaml-camlp-streams
   (package
     (name "ocaml-camlp-streams")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 05/39] gnu: Add ocaml-pecu.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (3 preceding siblings ...)
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 04/39] gnu: Add ocaml-opam-monorepo Csepp
@ 2023-02-15 21:59   ` Csepp
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 06/39] gnu: Add ocaml-emile Csepp
                     ` (33 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 21:59 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-pecu): New variable.
---
 gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d9b0d74c80..17230b5023 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3627,6 +3627,27 @@ (define-public ocaml-ipaddr
      "IP address types with serialization, supporting a wide range of RFCs.")
     (license license:isc)))
 
+(define-public ocaml-pecu
+  (package
+    (name "ocaml-pecu")
+    (version "0.6")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://github.com/mirage/pecu/releases/download/v0.6/pecu-v0.6.tbz")
+              (sha256
+               (base32
+                "1iz5jj9lyl1pah8dfni4wv0qml0ir5zknv4zhw7v50sc8kdbglm9"))))
+    (build-system dune-build-system)
+    (native-inputs (list ocaml-fmt ocaml-alcotest ocaml-crowbar ocaml-astring))
+    (home-page "https://github.com/mirage/pecu")
+    (synopsis "Encoder/Decoder of Quoted-Printable (RFC2045 & RFC2047)")
+    (description
+     "This package provides a non-blocking encoder/decoder of Quoted-Printable
+according to RFC2045 and RFC2047 (about encoded-word).  Useful to translate
+contents of emails.")
+    (license license:expat)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 06/39] gnu: Add ocaml-emile.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (4 preceding siblings ...)
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 05/39] gnu: Add ocaml-pecu Csepp
@ 2023-02-15 21:59   ` Csepp
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 07/39] gnu: Add ocaml-functoria-runtime Csepp
                     ` (32 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 21:59 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-emile): New variable.
---
 gnu/packages/ocaml.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 17230b5023..f6371983d3 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3648,6 +3648,33 @@ (define-public ocaml-pecu
 contents of emails.")
     (license license:expat)))
 
+(define-public ocaml-emile
+  (package
+    (name "ocaml-emile")
+    (version "1.1")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://github.com/mirage/emile/releases/download/v1.1/emile-v1.1.tbz")
+              (sha256
+               (base32
+                "0r1141makr0b900aby1gn0fccjv1qcqgyxib3bzq8fxmjqwjan8p"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-angstrom
+                             ocaml-ipaddr
+                             ocaml-base64
+                             ocaml-pecu
+                             ocaml-bigstringaf
+                             ocaml-uutf))
+    (native-inputs (list ocaml-alcotest))
+    (home-page "https://github.com/mirage/emile")
+    (synopsis "Parser of email address according RFC822")
+    (description
+     "This package provides a parser of email address according RFC822, RFC2822,
+RFC5321 and RFC6532.  It handles UTF-8 email addresses and encoded-word
+according RFC2047.")
+    (license license:expat)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 07/39] gnu: Add ocaml-functoria-runtime
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (5 preceding siblings ...)
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 06/39] gnu: Add ocaml-emile Csepp
@ 2023-02-15 21:59   ` Csepp
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 08/39] gnu: Add ocaml-mirage-runtime Csepp
                     ` (31 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 21:59 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-functoria-runtime): New variable.
---
 gnu/packages/ocaml.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f6371983d3..3ad0ccbb76 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3675,6 +3675,41 @@ (define-public ocaml-emile
 according RFC2047.")
     (license license:expat)))
 
+(define-public ocaml-functoria-runtime
+  (package
+    (name "ocaml-functoria-runtime")
+    (version "4.3.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/mirage/mirage/")
+         (commit (string-append "v" version))))
+       ;; TODO this origin is used by multiple packages, so what should the name
+       ;; field say?
+       (file-name (git-file-name "mirage" version))
+       (sha256
+        (base32
+         "09mqbffrhnklbc50gaflkwb3h1xysqqiwb84a9q1phjl038pic6r"))))
+    (build-system dune-build-system)
+    (arguments
+     '(#:package "functoria-runtime"
+       ;; TODO
+       ;; again, requires opam for tests, which needs network access.
+       ;; most other tests seem to pass.
+       #:tests? #f))
+    (propagated-inputs
+     (list ocaml-cmdliner ocaml-fmt ocaml-logs ocaml-bos ocaml-ipaddr
+           ocaml-emile ocaml-uri))
+    (native-inputs
+     (list ocaml-alcotest))
+    (home-page "https://github.com/mirage/mirage")
+    (synopsis "Runtime support library for functoria-generated code")
+    (description
+     "This is the runtime support library for code generated by functoria.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 08/39] gnu: Add ocaml-mirage-runtime.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (6 preceding siblings ...)
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 07/39] gnu: Add ocaml-functoria-runtime Csepp
@ 2023-02-15 21:59   ` Csepp
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 09/39] gnu: Add ocaml-functoria Csepp
                     ` (30 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 21:59 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-runtime): New variable.
---
 gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 3ad0ccbb76..532a6b4d3d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3710,6 +3710,27 @@ (define-public ocaml-functoria-runtime
      "This is the runtime support library for code generated by functoria.")
     (license license:isc)))
 
+(define-public ocaml-mirage-runtime
+  (package
+    (inherit ocaml-functoria-runtime)
+    (name "ocaml-mirage-runtime")
+    (build-system dune-build-system)
+    (arguments
+     '(#:package "mirage-runtime"
+       ;; TODO again, wants opam, other tests seem to pass
+       ;; look for a way to disable tests that want network access
+       #:tests? #f))
+    (propagated-inputs (list ocaml-ipaddr ocaml-functoria-runtime ocaml-fmt
+                             ocaml-logs ocaml-lwt))
+    (native-inputs (list ocaml-alcotest))
+    (home-page "https://github.com/mirage/mirage")
+    (synopsis
+     "The base MirageOS runtime library, part of every MirageOS unikernel")
+    (description
+     "This package provides a bundle of useful runtime functions for
+applications built with MirageOS")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 09/39] gnu: Add ocaml-functoria.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (7 preceding siblings ...)
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 08/39] gnu: Add ocaml-mirage-runtime Csepp
@ 2023-02-15 21:59   ` Csepp
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 10/39] gnu: Add ocaml-mirage Csepp
                     ` (29 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 21:59 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-functoria): New variable.
---
 gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 532a6b4d3d..bf57dc153a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3731,6 +3731,29 @@ (define-public ocaml-mirage-runtime
 applications built with MirageOS")
     (license license:isc)))
 
+(define-public ocaml-functoria
+  (package
+    (inherit ocaml-functoria-runtime)
+    (name "ocaml-functoria")
+    (build-system dune-build-system)
+    (arguments
+     '(#:package "functoria"
+       ;; TODO again, wants opam, other tests seem to pass
+       ;; look for a way to disable tests that want network access
+       #:tests? #f))
+    (propagated-inputs (list ocaml-cmdliner ocaml-rresult ocaml-result
+                             ocaml-astring ocaml-fmt ocaml-logs ocaml-bos
+                             ocaml-fpath ocaml-emile ocaml-uri))
+    (native-inputs (list ocaml-alcotest ocaml-functoria-runtime))
+    (home-page "https://github.com/mirage/mirage")
+    (synopsis
+     "DSL to organize functor applications")
+    (description
+     "DSL to describe a set of modules and functors, their types and
+how to apply them in order to produce a complete application.  The main use
+case is mirage.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 10/39] gnu: Add ocaml-mirage.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (8 preceding siblings ...)
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 09/39] gnu: Add ocaml-functoria Csepp
@ 2023-02-15 21:59   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 11/39] gnu: Add ocaml-duration Csepp
                     ` (28 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 21:59 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage): New variable.
---
 gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index bf57dc153a..d89b538d31 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3754,6 +3754,30 @@ (define-public ocaml-functoria
 case is mirage.")
     (license license:isc)))
 
+(define-public ocaml-mirage
+  (package
+    (inherit ocaml-functoria-runtime)
+    (name "ocaml-mirage")
+    (build-system dune-build-system)
+    (arguments
+     '(#:package "mirage"
+       ;; TODO again, wants opam, other tests seem to pass
+       ;; look for a way to disable tests that want network access
+       #:tests? #f))
+    (propagated-inputs
+     (list ocaml-astring ocaml-bos ocaml-functoria ocaml-ipaddr ocaml-logs
+           ocaml-mirage-runtime ocaml-opam-monorepo))
+    (native-inputs (list ocaml-alcotest ocaml-fmt))
+    (home-page "https://github.com/mirage/mirage")
+    (synopsis
+     "The MirageOS library operating system")
+    (description
+     "Library operating system that constructs unikernels for secure,
+high-performance network applications across a variety of cloud computing and
+mobile platforms.  Code can be developed on a normal OS and then compiled into
+a fully-standalone, specialised unikernel.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 11/39] gnu: Add ocaml-duration.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (9 preceding siblings ...)
  2023-02-15 21:59   ` [bug#60673] [PATCH v2 10/39] gnu: Add ocaml-mirage Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 12/39] gnu: Add ocaml-mirage-unix Csepp
                     ` (27 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-duration): New variable.
---
 gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d89b538d31..263ad9d200 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3778,6 +3778,30 @@ (define-public ocaml-mirage
 a fully-standalone, specialised unikernel.")
     (license license:isc)))
 
+(define-public ocaml-duration
+  (package
+    (name "ocaml-duration")
+    (version "0.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri
+               (git-reference
+                (url "https://github.com/hannesm/duration/")
+                (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0vvxi0ipxmdz1k4h501brvccniwf3wpc32djbccyyrzraiz7qkff"))))
+    (build-system dune-build-system)
+    (native-inputs (list ocaml-alcotest))
+    (home-page "https://github.com/hannesm/duration")
+    (synopsis "Conversions to various time units")
+    (description
+     "This package provides a duration is represented in nanoseconds as an
+unsigned 64 bit integer.  This has a range of up to 584 years.  Functions
+provided check the input and raise on negative or out of bound input.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 12/39] gnu: Add ocaml-mirage-unix.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (10 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 11/39] gnu: Add ocaml-duration Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 13/39] gnu: Add ocaml-mirage-time Csepp
                     ` (26 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-unix): New variable.
---
 gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 263ad9d200..f2ff6b6e15 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3802,6 +3802,27 @@ (define-public ocaml-duration
 provided check the input and raise on negative or out of bound input.")
     (license license:isc)))
 
+(define-public ocaml-mirage-unix
+  (package
+    (name "ocaml-mirage-unix")
+    (version "5.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/mirage/mirage-unix/releases/download/v"
+                    version "/mirage-unix-5.0.1.tbz"))
+              (sha256
+               (base32
+                "1y44hvsd5lxqbazwkv9n6cn936lpn8l7v82wf55w4183fp70nnjk"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-lwt ocaml-duration ocaml-mirage-runtime))
+    (home-page "https://github.com/mirage/mirage-unix")
+    (synopsis "Unix core platform libraries for MirageOS")
+    (description
+     "This package provides the MirageOS `OS` library for Unix targets, which
+handles the main loop and timers.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 13/39] gnu: Add ocaml-mirage-time.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (11 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 12/39] gnu: Add ocaml-mirage-unix Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 14/39] gnu: Add aliases for ocaml-cstruct and ocaml-lwt subpackages Csepp
                     ` (25 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-time): New variable.
---
 gnu/packages/ocaml.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f2ff6b6e15..affd0c194a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3802,6 +3802,26 @@ (define-public ocaml-duration
 provided check the input and raise on negative or out of bound input.")
     (license license:isc)))
 
+(define-public ocaml-mirage-time
+  (package
+    (name "ocaml-mirage-time")
+    (version "3.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/mirage/mirage-time/releases/download/v"
+                    version "/mirage-time-v3.0.0.tbz"))
+              (sha256
+               (base32
+                "0z5xkhlgyhm22wyhwpf9r0rn4125cc3cxj6ccavyiiz2b2dr8h0d"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-lwt ocaml-duration))
+    (home-page "https://github.com/mirage/mirage-time")
+    (synopsis "Time operations for MirageOS")
+    (description
+     "Defines the signature for time-related operations for MirageOS.")
+    (license license:isc)))
+
 (define-public ocaml-mirage-unix
   (package
     (name "ocaml-mirage-unix")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 14/39] gnu: Add aliases for ocaml-cstruct and ocaml-lwt subpackages.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (12 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 13/39] gnu: Add ocaml-mirage-time Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 15/39] gnu: Add ocaml-ppx-cstruct Csepp
                     ` (24 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-lwt-ppx ocaml-cstruct-unix
  ocaml-cstruct-sexp): New variables.
---
 gnu/packages/ocaml.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index affd0c194a..552759a171 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2963,6 +2963,11 @@ (define-public ocaml-lwt
 locks or other synchronization primitives.")
     (license license:lgpl2.1)))
 
+;; TODO this alias is not ideal but ocaml-lwt already explicitly specifies a
+;; package argument and at least this way the importer doesn't try to
+;; re-import it.
+(define ocaml-lwt-ppx ocaml-lwt)
+
 (define-public ocaml-lwt-dllist
   (package
     (name "ocaml-lwt-dllist")
@@ -4453,6 +4458,12 @@ (define-public ocaml4.07-cstruct
                   "0jj3whs8r3jc524i9bb67rffh7y7r157hjgvws0bkxijxpjzwkbk"))))
       (properties '()))))
 
+;; TODO again, the "parent" package already has an explicit package argument,
+;; so a variant package doesn't make sense, at least these aliases help the
+;; importer out so it doesn't re-import things.  At least hopefully.
+(define ocaml-cstruct-unix ocaml-cstruct)
+(define ocaml-cstruct-sexp ocaml-cstruct)
+
 (define-public ocaml-hex
   (package
     (name "ocaml-hex")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 15/39] gnu: Add ocaml-ppx-cstruct.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (13 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 14/39] gnu: Add aliases for ocaml-cstruct and ocaml-lwt subpackages Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 16/39] gnu: Add ocaml-mirage-profile-unix Csepp
                     ` (23 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-ppx-cstruct): New variable.
---
 gnu/packages/ocaml.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 552759a171..dfd194faaf 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4464,6 +4464,22 @@ (define-public ocaml4.07-cstruct
 (define ocaml-cstruct-unix ocaml-cstruct)
 (define ocaml-cstruct-sexp ocaml-cstruct)
 
+(define-public ocaml-ppx-cstruct
+  (package
+    (inherit ocaml-cstruct)
+    (name "ocaml-ppx-cstruct")
+    (properties `((upstream-name . "ppx_cstruct")))
+    (arguments
+     '(#:package "ppx_cstruct"
+       ;; TODO doesn't find test deps for some reason?
+       ;; I have no clue why.
+       #:tests? #f))
+    (propagated-inputs (modify-inputs (package-propagated-inputs ocaml-cstruct)
+                         (append ocaml-cstruct ocaml-ppxlib ocaml-sexplib)))
+    (native-inputs (modify-inputs (package-propagated-inputs ocaml-cstruct)
+                     (append ocaml-cstruct-sexp ocaml-findlib
+                             ocaml-ppx-sexp-conv)))))
+
 (define-public ocaml-hex
   (package
     (name "ocaml-hex")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 16/39] gnu: Add ocaml-mirage-profile-unix.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (14 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 15/39] gnu: Add ocaml-ppx-cstruct Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 17/39] gnu: Add ocaml-mirage-profile Csepp
                     ` (22 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-profile-unix): New variable.
---
 gnu/packages/ocaml.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index dfd194faaf..665bf943da 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3848,6 +3848,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")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 17/39] gnu: Add ocaml-mirage-profile.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (15 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 16/39] gnu: Add ocaml-mirage-profile-unix Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 18/39] gnu: Add ocaml-mirage-clock Csepp
                     ` (21 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-profile): New variable.
---
 gnu/packages/ocaml.scm | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 665bf943da..fd40f7b75c 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3886,6 +3886,20 @@ (define-public ocaml-mirage-profile-unix
 non-profiling case.")
     (license license:bsd-2)))
 
+(define-public ocaml-mirage-profile
+  (package
+    (inherit ocaml-mirage-profile-unix)
+    (name "ocaml-mirage-profile")
+    (arguments
+     '(#:package "mirage-profile"
+       ;; TODO cyclic dependency with mirage-profile
+       ;; It could be broken using package variants, if not for
+       ;; propagated inputs leading to version conflicts.
+       #:tests? #f))
+    (propagated-inputs (modify-inputs (package-propagated-inputs
+                                       ocaml-mirage-profile-unix)
+                         (append ocaml-mirage-profile-unix)))))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 18/39] gnu: Add ocaml-mirage-clock.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (16 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 17/39] gnu: Add ocaml-mirage-profile Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 19/39] gnu: Add ocaml-ptime Csepp
                     ` (20 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-clock): New variable.
---
 gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index fd40f7b75c..48676f0fbf 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3827,6 +3827,30 @@ (define-public ocaml-mirage-time
      "Defines the signature for time-related operations for MirageOS.")
     (license license:isc)))
 
+(define-public ocaml-mirage-clock
+  (package
+    (name "ocaml-mirage-clock")
+    (version "4.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mirage/mirage-clock")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0rkara9i3dvnzrb8jl2vkx8hgamvxnksin67wmhbv9d4i758amjy"))))
+    (build-system dune-build-system)
+    (home-page "https://github.com/mirage/mirage-clock")
+    (synopsis "Libraries and module types for portable clocks")
+    (description
+     "This library implements portable support for an operating system
+timesource that is compatible with the MirageOS library interfaces.  It
+implements an @code{MCLOCK} module that represents a monotonic timesource
+since an arbitrary point, and @code{PCLOCK} which counts time since the Unix
+epoch.")
+    (license license:isc)))
+
 (define-public ocaml-mirage-unix
   (package
     (name "ocaml-mirage-unix")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 19/39] gnu: Add ocaml-ptime.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (17 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 18/39] gnu: Add ocaml-mirage-clock Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 20/39] gnu: Add ocaml-mirage-logs Csepp
                     ` (19 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-ptime): New variable.
---
 gnu/packages/ocaml.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 48676f0fbf..b4b81b9a41 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3851,6 +3851,36 @@ (define-public ocaml-mirage-clock
 epoch.")
     (license license:isc)))
 
+(define-public ocaml-ptime
+  (package
+    (name "ocaml-ptime")
+    ;; TODO 1.1.0 has some issues, so for now we are stuck with 0.8.5
+    (version "0.8.5")
+    (source (origin
+              (method url-fetch)
+              (uri
+               "https://erratique.ch/software/ptime/releases/ptime-0.8.5.tbz")
+              (sha256
+               (base32
+                "1fxq57xy1ajzfdnvv5zfm7ap2nf49znw5f9gbi4kb9vds942ij27"))))
+    (build-system ocaml-build-system)
+    (arguments
+     `(#:build-flags (list "build" "--with-js_of_ocaml" "true" "--tests"
+                           "true")
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure))))
+    (propagated-inputs (list ocaml-result js-of-ocaml))
+    (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+    (home-page "https://erratique.ch/software/ptime")
+    (synopsis "POSIX time for OCaml")
+    (description
+     "Ptime offers platform independent POSIX time support in pure OCaml.  It
+provides a type to represent a well-defined range of POSIX timestamps with
+picosecond precision, conversion with date-time values, conversion with RFC
+3339 timestamps and pretty printing to a human-readable, locale-independent
+representation.")
+    (license license:isc)))
+
 (define-public ocaml-mirage-unix
   (package
     (name "ocaml-mirage-unix")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 20/39] gnu: Add ocaml-mirage-logs.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (18 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 19/39] gnu: Add ocaml-ptime Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 21/39] gnu: Add ocaml-sexp-pretty Csepp
                     ` (18 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-logs): New variable.
---
 gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index b4b81b9a41..d6ecc92605 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3954,6 +3954,34 @@ (define-public ocaml-mirage-profile
                                        ocaml-mirage-profile-unix)
                          (append ocaml-mirage-profile-unix)))))
 
+(define-public ocaml-mirage-logs
+  (package
+    (name "ocaml-mirage-logs")
+    (version "1.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mirage/mirage-logs/")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1wv2hz1dj38jzc8nabin9p8im43ghy8f3crv7rf9szyyzyrdanp2"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-logs ocaml-ptime ocaml-mirage-clock
+                             ocaml-mirage-profile ocaml-lwt))
+    (native-inputs (list ocaml-alcotest))
+    (home-page "https://github.com/mirage/mirage-logs")
+    (synopsis
+     "Reporter for the Logs library that writes to stderr with timestamps")
+    (description
+     "Uses a Mirage @code{CLOCK} to write timestamped log messages.  It can
+also log only important messages to the console, while writing all received
+messages to a ring buffer which is displayed if an exception occurs.  If
+tracing is enabled (via mirage-profile), it also writes each log message to
+the trace buffer.")
+    (license license:isc)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 21/39] gnu: Add ocaml-sexp-pretty.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (19 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 20/39] gnu: Add ocaml-mirage-logs Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 22/39] gnu: Add ocaml-expect-test-helpers-core Csepp
                     ` (17 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-sexp-pretty): New variable.
---
 gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d6ecc92605..c00a8a8af3 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6150,6 +6150,29 @@ (define-public ocaml4.07-sexplib
                          "0ksx62zsxhz8xmdrsn41n2hbc2qbyh3bxxc6946xisvgwh42h3q3"))
      (properties '()))))
 
+(define-public ocaml-sexp-pretty
+  (package
+    (name "ocaml-sexp-pretty")
+    (version "0.15.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/janestreet/sexp_pretty")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "08z9jpvgag5f029ns0a06lcdymg00vwi232xsy1rdv82zvc0x4ah"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-base ocaml-ppx-base ocaml-sexplib ocaml-re))
+    (properties `((upstream-name . "sexp_pretty")))
+    (home-page "https://github.com/janestreet/sexp_pretty")
+    (synopsis "S-expression pretty-printer")
+    (description
+     "Library for pretty-printing s-expressions, using better indentation
+rules than the default pretty printer in Sexplib.")
+    (license license:expat)))
+
 (define-public ocaml-base
   (package
     (name "ocaml-base")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 22/39] gnu: Add ocaml-expect-test-helpers-core.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (20 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 21/39] gnu: Add ocaml-sexp-pretty Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 23/39] gnu: Add ocaml-intrinsics Csepp
                     ` (16 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-expect-test-helpers-core): New variable.
---
 gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c00a8a8af3..671e8bc355 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2636,6 +2636,34 @@ (define-public ocaml4.07-alcotest
        `(#:package "alcotest"))
       (properties '()))))
 
+(define-public ocaml-expect-test-helpers-core
+  (package
+    (name "ocaml-expect-test-helpers-core")
+    (version "0.15.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://github.com/janestreet/expect_test_helpers_core")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0bxs3g0zzym8agfcbpg5lmrh6hcb86z861bq40xhhfwqf4pzdbfa"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-base
+                             ocaml-base-quickcheck
+                             ocaml-core
+                             ocaml-ppx-jane
+                             ocaml-sexp-pretty
+                             ocaml-stdio
+                             ocaml-re))
+    (properties `((upstream-name . "expect_test_helpers_core")))
+    (home-page "https://github.com/janestreet/expect_test_helpers_core")
+    (synopsis "Helpers for writing expectation tests")
+    (description "Helper functions for writing expect tests.")
+    (license license:expat)))
+
 (define-public ocaml-ppx-tools
   (package
     (name "ocaml-ppx-tools")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 23/39] gnu: Add ocaml-intrinsics.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (21 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 22/39] gnu: Add ocaml-expect-test-helpers-core Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 24/39] gnu: Add ocaml-core-unix Csepp
                     ` (15 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-intrinsics): New variable.
---
 gnu/packages/ocaml.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 671e8bc355..cb3d5594eb 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -9221,6 +9221,35 @@ (define-public ocaml-bigstringaf
 these missing pieces.")
     (license license:bsd-3)))
 
+(define-public ocaml-intrinsics
+  (package
+    (name "ocaml-intrinsics")
+    (version "0.15.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/janestreet/ocaml_intrinsics")
+                    (commit (string-append "v" version))))
+              (file-name name)
+              (sha256
+               (base32
+                "1mazr1ka2zlm2s8bw5i555cnhi1bmr9yxvpn29d3v4m8lsnfm73z"))))
+    (build-system dune-build-system)
+    ;; TODO figure out how to get around this error:
+    ;; No rule found for alias test/runtime-deps-of-tests
+    (arguments
+     '(#:tests? #f))
+    (propagated-inputs (list dune-configurator))
+    (native-inputs (list ocaml-expect-test-helpers-core ocaml-core))
+    (properties `((upstream-name . "ocaml_intrinsics")))
+    (home-page "https://github.com/janestreet/ocaml_intrinsics")
+    (synopsis "AMD64 intrinsics with emulated fallbacks")
+    (description
+     "Provides an OCaml interface to operations that have dedicated hardware
+instructions on some micro-architectures, with default implementations using C
+stubs for all targets.")
+    (license license:expat)))
+
 (define-public ocaml-trie
   (package
     (name "ocaml-trie")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 24/39] gnu: Add ocaml-core-unix.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (22 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 23/39] gnu: Add ocaml-intrinsics Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 25/39] gnu: Add ocaml-async-kernel Csepp
                     ` (14 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-core-unix): New variable.
---
 gnu/packages/ocaml.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index cb3d5594eb..157ef250cd 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8359,6 +8359,38 @@ (define-public ocaml4.07-core-kernel
                  ;; MLton and sjs
                  license:expat)))))
 
+(define-public ocaml-core-unix
+  (package
+    (name "ocaml-core-unix")
+    (version "0.15.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/janestreet/core_unix")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0h6lqaxpp4r06a63k8yr0g9y7wc8r35v2xzqgvkiiq1ypa48zzgm"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-core
+                             ocaml-core-kernel
+                             ocaml-expect-test-helpers-core
+                             ocaml-jane-street-headers
+                             ocaml-jst-config
+                             ocaml-intrinsics
+                             ocaml-ppx-jane
+                             ocaml-sexplib
+                             ocaml-timezone
+                             ocaml-spawn))
+    (properties `((upstream-name . "core_unix")))
+    (home-page "https://github.com/janestreet/core_unix")
+    (synopsis "Unix-specific portions of Core")
+    (description
+     "Unix-specific extensions to some of the modules defined in core and
+core_kernel.")
+    (license license:expat)))
+
 (define-public ocaml-timezone
   (package
     (name "ocaml-timezone")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 25/39] gnu: Add ocaml-async-kernel.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (23 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 24/39] gnu: Add ocaml-core-unix Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 26/39] gnu: Add ocaml-async-unix Csepp
                     ` (13 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-async-kernel): New variable.
---
 gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 157ef250cd..ea7967e72d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8391,6 +8391,30 @@ (define-public ocaml-core-unix
 core_kernel.")
     (license license:expat)))
 
+(define-public ocaml-async-kernel
+  (package
+    (name "ocaml-async-kernel")
+    (version "0.15.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/janestreet/async_kernel")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "01if6c8l2h64v7sk56xr8acnmj6g9whxcjrzzzvczspq88hq2bfh"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-core ocaml-core-kernel ocaml-ppx-jane))
+    (properties `((upstream-name . "async_kernel")))
+    (home-page "https://github.com/janestreet/async_kernel")
+    (synopsis "Monadic concurrency library")
+    (description
+     "Contains @code{Async}'s core data structures, like
+@code{Deferred}.  @code{Async_kernel} is portable, and so can be used in
+JavaScript using @code{Async_js}.")
+    (license license:expat)))
+
 (define-public ocaml-timezone
   (package
     (name "ocaml-timezone")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 26/39] gnu: Add ocaml-async-unix.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (24 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 25/39] gnu: Add ocaml-async-kernel Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 27/39] gnu: Add ocaml-textutils-kernel Csepp
                     ` (12 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-async-unix): New variable.
---
 gnu/packages/ocaml.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ea7967e72d..ed70c1e08a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8415,6 +8415,32 @@ (define-public ocaml-async-kernel
 JavaScript using @code{Async_js}.")
     (license license:expat)))
 
+(define-public ocaml-async-unix
+  (package
+    (name "ocaml-async-unix")
+    (version "0.15.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/janestreet/async_unix")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0z4fgpn93iw0abd7l9kac28qgzgc5qr2x0s1n2zh49lsdn02n6ys"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-async-kernel ocaml-core ocaml-core-kernel
+                             ocaml-core-unix ocaml-ppx-jane))
+    (properties `((upstream-name . "async_unix")))
+    (home-page "https://github.com/janestreet/async_unix")
+    (synopsis "Monadic concurrency library")
+    (description
+     "Unix-related dependencies for things like system calls and
+threads.  Using these, it hooks the Async_kernel scheduler up to either epoll
+or select, depending on availability, and manages a thread pool that blocking
+system calls run in.")
+    (license license:expat)))
+
 (define-public ocaml-timezone
   (package
     (name "ocaml-timezone")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 27/39] gnu: Add ocaml-textutils-kernel.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (25 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 26/39] gnu: Add ocaml-async-unix Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 28/39] gnu: Add ocaml-textutils Csepp
                     ` (11 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-textutils-kernel): New variable.
---
 gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ed70c1e08a..789aaf48f9 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8441,6 +8441,29 @@ (define-public ocaml-async-unix
 system calls run in.")
     (license license:expat)))
 
+(define-public ocaml-textutils-kernel
+  (package
+    (name "ocaml-textutils-kernel")
+    (version "0.15.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/janestreet/textutils_kernel")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "068g11d98wsb5a6ds0p5xybdmx5nx9bxa0k11dmh3l57kn4c169x"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-core ocaml-ppx-jane ocaml-uutf))
+    (properties `((upstream-name . "textutils_kernel")))
+    (home-page "https://github.com/janestreet/textutils_kernel")
+    (synopsis "Text output utilities")
+    (description
+     "The subset of textutils using only core_kernel and working in
+javascript.")
+    (license license:expat)))
+
 (define-public ocaml-timezone
   (package
     (name "ocaml-timezone")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 28/39] gnu: Add ocaml-textutils.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (26 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 27/39] gnu: Add ocaml-textutils-kernel Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 29/39] gnu: Add ocaml-protocol-version-header Csepp
                     ` (10 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-textutils): New variable.
---
 gnu/packages/ocaml.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 789aaf48f9..8e313d74bb 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8464,6 +8464,32 @@ (define-public ocaml-textutils-kernel
 javascript.")
     (license license:expat)))
 
+(define-public ocaml-textutils
+  (package
+    (name "ocaml-textutils")
+    (version "0.15.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/janestreet/textutils")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1wass49h645wql9b7nck2iqlkf4648dkxvlvxixr7z80zcnb5rxr"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-core
+                             ocaml-core-kernel
+                             ocaml-core-unix
+                             ocaml-ppx-jane
+                             ocaml-textutils-kernel
+                             ocaml-uutf))
+    (home-page "https://github.com/janestreet/textutils")
+    (synopsis "Text output utilities")
+    (description
+     "Utilities for working with terminal output, such as color printing.")
+    (license license:expat)))
+
 (define-public ocaml-timezone
   (package
     (name "ocaml-timezone")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 29/39] gnu: Add ocaml-protocol-version-header.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (27 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 28/39] gnu: Add ocaml-textutils Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 30/39] gnu: Add ocaml-async-rpc-kernel Csepp
                     ` (9 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-protocol-version-header): New variable.
---
 gnu/packages/ocaml.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8e313d74bb..86c22f500c 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6867,6 +6867,32 @@ (define-public ocaml4.07-bin-prot
                  license:asl2.0
                  license:bsd-3)))))
 
+(define-public ocaml-protocol-version-header
+  (package
+    (name "ocaml-protocol-version-header")
+    (version "0.15.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://github.com/janestreet/protocol_version_header")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0s638cwf1357gg754rc4306654hhrhzqaqm2lp3yv5vj3ml8p4qy"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-core ocaml-ppx-jane))
+    (properties `((upstream-name . "protocol_version_header")))
+    (home-page "https://github.com/janestreet/protocol_version_header")
+    (synopsis "Protocol versioning")
+    (description
+     "This library offers a lightweight way for applications protocols to
+version themselves.  The more protocols that add themselves to
+@code{Known_protocol}, the nicer error messages we will get when connecting to
+a service while using the wrong protocol.")
+    (license license:expat)))
+
 (define-public ocaml-octavius
   (package
     (name "ocaml-octavius")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 30/39] gnu: Add ocaml-async-rpc-kernel.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (28 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 29/39] gnu: Add ocaml-protocol-version-header Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 31/39] gnu: Add ocaml-async Csepp
                     ` (8 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-async-rpc-kernel): New variable.
---
 gnu/packages/ocaml.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 86c22f500c..cda38dc381 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8467,6 +8467,31 @@ (define-public ocaml-async-unix
 system calls run in.")
     (license license:expat)))
 
+(define-public ocaml-async-rpc-kernel
+  (package
+    (name "ocaml-async-rpc-kernel")
+    (version "0.15.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/janestreet/async_rpc_kernel")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1b5rp5yam03ir4f1sixpzjg1zdqmkb7lvnaa82kac4fzk80gfrfr"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-async-kernel ocaml-core ocaml-ppx-jane
+                             ocaml-protocol-version-header))
+    (properties `((upstream-name . "async_rpc_kernel")))
+    (home-page "https://github.com/janestreet/async_rpc_kernel")
+    (synopsis "Platform-independent core of Async RPC library")
+    (description
+     "Library for building RPC-style protocols.  This library is the portable
+part of the Unix-oriented Async_rpc library, and is actively used in
+JavaScript.")
+    (license license:expat)))
+
 (define-public ocaml-textutils-kernel
   (package
     (name "ocaml-textutils-kernel")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 31/39] gnu: Add ocaml-async.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (29 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 30/39] gnu: Add ocaml-async-rpc-kernel Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 32/39] gnu: Add ocaml-shared-memory-ring Csepp
                     ` (7 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-async): New variable.
---
 gnu/packages/ocaml.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index cda38dc381..852c9f6f6f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8492,6 +8492,41 @@ (define-public ocaml-async-rpc-kernel
 JavaScript.")
     (license license:expat)))
 
+(define-public ocaml-async
+  (package
+    (name "ocaml-async")
+    (version "0.15.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/janestreet/async")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0pykmnsil754jsnr8gss91ykyjvivngx4ii0ih3nsg1x2jl9xmy2"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-async-kernel
+                             ocaml-async-rpc-kernel
+                             ocaml-async-unix
+                             ocaml-core
+                             ocaml-core-kernel
+                             ocaml-core-unix
+                             ocaml-ppx-jane
+                             ocaml-ppx-log
+                             ocaml-textutils))
+    ;; TODO one test dependency is deprecated, the other is nowhere to be found
+    (arguments
+     '(#:tests? #f))
+    ;; (native-inputs (list ocaml-netkit-sockets ocaml-qtest-deprecated))
+    (home-page "https://github.com/janestreet/async")
+    (synopsis "Asynchronous execution library")
+    (description
+     "Library for asynchronous programming, i.e., programming where some part
+of the program must wait for things that happen at times determined by some
+external entity (like a human or another program).")
+    (license license:expat)))
+
 (define-public ocaml-textutils-kernel
   (package
     (name "ocaml-textutils-kernel")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 32/39] gnu: Add ocaml-shared-memory-ring.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (30 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 31/39] gnu: Add ocaml-async Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 33/39] gnu: Add ocaml-shared-memory-ring-lwt Csepp
                     ` (6 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-shared-memory-ring): New variable.
---
 gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 852c9f6f6f..8d9d2c50c6 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3017,6 +3017,34 @@ (define-public ocaml-lwt-dllist
 doubly-linked list with Lwt iterators.")
     (license license:expat)))
 
+
+(define-public ocaml-shared-memory-ring
+  (package
+    (name "ocaml-shared-memory-ring")
+    (version "3.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mirage/shared-memory-ring")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "12cpbia39aifnd8rxpsra0lhssqj5qw0zygb5fd8kg58zy2clmrr"))))
+    (build-system dune-build-system)
+    (arguments
+     '(#:package "shared-memory-ring"))
+    (propagated-inputs (list ocaml-cstruct ocaml-ppx-cstruct ocaml-lwt-dllist
+                             ocaml-mirage-profile))
+    (native-inputs (list ocaml-ounit))
+    (home-page "https://github.com/mirage/shared-memory-ring")
+    (synopsis "Xen-style shared memory rings")
+    (description
+     "Libraries for creating shared memory producer/consumer rings.  The rings
+follow the Xen ABI and may be used to create or implement Xen virtual
+devices.")
+    (license license:isc)))
+
 (define-public ocaml-luv
   (package
     (name "ocaml-luv")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 33/39] gnu: Add ocaml-shared-memory-ring-lwt.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (31 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 32/39] gnu: Add ocaml-shared-memory-ring Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 34/39] gnu: Add ocaml-xenstore Csepp
                     ` (5 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-shared-memory-ring-lwt): New variable.
---
 gnu/packages/ocaml.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8d9d2c50c6..f3911261a8 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3045,6 +3045,16 @@ (define-public ocaml-shared-memory-ring
 devices.")
     (license license:isc)))
 
+(define-public ocaml-shared-memory-ring-lwt
+  (package
+    (inherit ocaml-shared-memory-ring)
+    (name "ocaml-shared-memory-ring-lwt")
+    (arguments
+     '(#:package "shared-memory-ring-lwt"))
+    (propagated-inputs (modify-inputs (package-propagated-inputs
+                                       ocaml-shared-memory-ring)
+                         (append ocaml-shared-memory-ring)))))
+
 (define-public ocaml-luv
   (package
     (name "ocaml-luv")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 34/39] gnu: Add ocaml-xenstore.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (32 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 33/39] gnu: Add ocaml-shared-memory-ring-lwt Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 35/39] gnu: Add ocaml-io-page Csepp
                     ` (4 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-xenstore): New variable.
---
 gnu/packages/ocaml.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f3911261a8..e4ab3977a0 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3055,6 +3055,35 @@ (define-public ocaml-shared-memory-ring-lwt
                                        ocaml-shared-memory-ring)
                          (append ocaml-shared-memory-ring)))))
 
+(define-public ocaml-xenstore
+  (package
+    (name "ocaml-xenstore")
+    (version "2.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mirage/ocaml-xenstore")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1acld5gxmvnhl5iyyy5ancpm7fv9d6ns1x32krcmb62p2czd00ky"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-cstruct ocaml-ppx-cstruct ocaml-lwt))
+    (native-inputs (list ocaml-ounit2))
+    (home-page "https://github.com/mirage/ocaml-xenstore")
+    (synopsis "Xenstore protocol in pure OCaml")
+    (description "Repository contents:
+@itemize
+@item client library, a merge of the Mirage and XCP ones
+@item server library
+@item server instance which runs under Unix with libxc
+@item server instance which runs on mirage.
+@end itemize
+The client and the server libraries have sets of unit-tests.")
+    ;; Has a linking exception, see LICENSE.md.
+    (license license:lgpl2.1)))
+
 (define-public ocaml-luv
   (package
     (name "ocaml-luv")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 35/39] gnu: Add ocaml-io-page.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (33 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 34/39] gnu: Add ocaml-xenstore Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 36/39] gnu: Add ocaml-bheap Csepp
                     ` (3 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-io-page): New variable.
---
 gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e4ab3977a0..737f2cd8e8 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3084,6 +3084,29 @@ (define-public ocaml-xenstore
     ;; Has a linking exception, see LICENSE.md.
     (license license:lgpl2.1)))
 
+(define-public ocaml-io-page
+  (package
+    (name "ocaml-io-page")
+    (version "3.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mirage/io-page")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0lmvm1whdw5s7rvi7jnjzicrp2j919dkjl856jwyjlq38f7qn0zm"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-cstruct))
+    (native-inputs (list pkg-config ocaml-ounit))
+    (home-page "https://github.com/mirage/io-page")
+    (synopsis "Support for efficient handling of I/O memory pages")
+    (description
+     "IO pages are page-aligned, and wrapped in the @code{Cstruct} library to
+avoid copying the data contained within the page.")
+    (license license:isc)))
+
 (define-public ocaml-luv
   (package
     (name "ocaml-luv")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 36/39] gnu: Add ocaml-bheap.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (34 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 35/39] gnu: Add ocaml-io-page Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 37/39] gnu: Add ocaml-mirage-xen Csepp
                     ` (2 subsequent siblings)
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-bheap): New variable.
---
 gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 737f2cd8e8..0aca8a1c83 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3107,6 +3107,28 @@ (define-public ocaml-io-page
 avoid copying the data contained within the page.")
     (license license:isc)))
 
+(define-public ocaml-bheap
+  (package
+    (name "ocaml-bheap")
+    (version "2.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/backtracking/bheap")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0b8md5zl4yz7j62jz0bf7lwyl0pyqkxqx36ghkgkbkxb4zzggfj1"))))
+    (build-system dune-build-system)
+    (native-inputs (list ocaml-stdlib-shims))
+    (home-page "https://github.com/backtracking/bheap")
+    (synopsis "Priority queues")
+    (description
+     "Traditional implementation of priority queues using a binary heap
+encoded in a resizable array.")
+    (license license:lgpl2.1)))
+
 (define-public ocaml-luv
   (package
     (name "ocaml-luv")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 37/39] gnu: Add ocaml-mirage-xen.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (35 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 36/39] gnu: Add ocaml-bheap Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 38/39] gnu: Add ocaml-parse-argv Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 39/39] gnu: Add ocaml-mirage-bootvar-unix Csepp
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-xen): New variable.
---
 gnu/packages/ocaml.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 0aca8a1c83..be088cf60d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3084,6 +3084,40 @@ (define-public ocaml-xenstore
     ;; Has a linking exception, see LICENSE.md.
     (license license:lgpl2.1)))
 
+(define-public ocaml-mirage-xen
+  (package
+    (name "ocaml-mirage-xen")
+    (version "8.0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mirage/mirage-xen")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1qydg92dbw8hj4b809apj0f51cjgmamq3zdf34a4wyn5jv85yzyx"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-cstruct
+                             ocaml-lwt
+                             ocaml-shared-memory-ring-lwt
+                             ocaml-xenstore
+                             ocaml-lwt-dllist
+                             ;; ocaml-mirage-profile  dependency cycle
+                             ocaml-io-page
+                             ocaml-mirage-runtime
+                             ocaml-logs
+                             ocaml-fmt
+                             ocaml-bheap
+                             ocaml-duration))
+    (home-page "https://github.com/mirage/mirage-xen")
+    (synopsis "Xen core platform libraries for MirageOS")
+    (description
+     "MirageOS OS library for Xen targets, which handles the main
+loop and timers.  It also provides the low level C startup code and C stubs
+required by the OCaml code.")
+    (license license:isc)))
+
 (define-public ocaml-io-page
   (package
     (name "ocaml-io-page")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 38/39] gnu: Add ocaml-parse-argv.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (36 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 37/39] gnu: Add ocaml-mirage-xen Csepp
@ 2023-02-15 22:00   ` Csepp
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 39/39] gnu: Add ocaml-mirage-bootvar-unix Csepp
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-parse-argv): New variable.
---
 gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index be088cf60d..545d15974a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3854,6 +3854,27 @@ (define-public ocaml-emile
 according RFC2047.")
     (license license:expat)))
 
+(define-public ocaml-parse-argv
+  (package
+    (name "ocaml-parse-argv")
+    (version "0.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mirage/parse-argv")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "16n18zik6vkfnhv8jaigr90fwp1ykg23p61aqchym0jil4i4yq01"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-astring))
+    (native-inputs (list ocaml-ounit))
+    (home-page "https://github.com/mirage/parse-argv")
+    (synopsis "Process strings into sets of command-line arguments")
+    (description "Small implementation of a simple argv parser.")
+    (license license:isc)))
+
 (define-public ocaml-functoria-runtime
   (package
     (name "ocaml-functoria-runtime")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH v2 39/39] gnu: Add ocaml-mirage-bootvar-unix.
  2023-02-15 21:59 ` [bug#60673] Csepp
                     ` (37 preceding siblings ...)
  2023-02-15 22:00   ` [bug#60673] [PATCH v2 38/39] gnu: Add ocaml-parse-argv Csepp
@ 2023-02-15 22:00   ` Csepp
  38 siblings, 0 replies; 85+ messages in thread
From: Csepp @ 2023-02-15 22:00 UTC (permalink / raw)
  To: 60673; +Cc: raingloom

From: raingloom <raingloom@riseup.net>

* gnu/packages/ocaml.scm (ocaml-mirage-bootvar-unix): New variable.
---
 gnu/packages/ocaml.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 545d15974a..374eeeb57f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3978,6 +3978,26 @@ (define-public ocaml-mirage
 a fully-standalone, specialised unikernel.")
     (license license:isc)))
 
+(define-public ocaml-mirage-bootvar-unix
+  (package
+    (name "ocaml-mirage-bootvar-unix")
+    (version "0.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mirage/mirage-bootvar-unix")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1vi13q0z5ffv5hf4q5lfvkia6j2s5520px0s2x4dbjgd52icizrz"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-lwt ocaml-parse-argv))
+    (home-page "https://github.com/mirage/mirage-bootvar-unix")
+    (synopsis "Unix implementation of MirageOS Bootvar interface")
+    (description "Library for passing boot parameters from Solo5 to MirageOS.")
+    (license license:isc)))
+
 (define-public ocaml-duration
   (package
     (name "ocaml-duration")
-- 
2.39.1





^ permalink raw reply related	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name.
  2023-02-08  7:32     ` Christopher Baines
@ 2023-02-17  1:03       ` Csepp
  2023-02-17  6:41         ` Julien Lepiller
  0 siblings, 1 reply; 85+ messages in thread
From: Csepp @ 2023-02-17  1:03 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 60673, raingloom


Christopher Baines <mail@cbaines.net> writes:

> [[PGP Signed Part:Undecided]]
>
> Csepp <raingloom@riseup.net> writes:
>
>> Christopher Baines <mail@cbaines.net> writes:
>>
>>> [[PGP Signed Part:Undecided]]
>>> Hey,
>>>
>>> While I think the builds look OK for this series, there are quite a few
>>> formatting issues raised by the linter (this can be seen on [1] and [2]).
>>>
>>> 1: https://qa.guix.gnu.org/issue/60674
>>> 2:
>>> https://data.qa.guix.gnu.org/compare?base_commit=238f965c331990459a69cbc713ca951ad40e6044&target_commit=3b5485b9cdaebda127dc040ad67a287f39e33519
>>>
>>> Could you run the linter on the packages you've added here, address the
>>> issues it raises and send an updated series?
>>>
>>> Thanks,
>>>
>>> Chris
>>>
>>> [[End of PGP Signed Part]]
>>
>> Those are all URL constants, can't really do much about them other than slice
>> them up with string-append, which I'm not sure really helps with
>> readability or ease of editing.  They were not an issue while I was
>> editing the code and gnu/packages/ocaml.scm already has a lot of lines
>> that whitespace-mode highlights as too long, so I thought it wouldn't
>> matter much and my time would be better spent elsewhere.
>
> You're right that there are quite a few other instances of lines that
> are too long in that module, but I don't think that's a reason not to
> add more. I think splitting the long URL strings with string-append is a
> good approach and can help with readability.
>
> [[End of PGP Signed Part]]

Alright, got around to sending the updated patch series.  Hopefully I
got the send-email arguments right.




^ permalink raw reply	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name.
  2023-02-17  1:03       ` Csepp
@ 2023-02-17  6:41         ` Julien Lepiller
  2023-02-17 15:50           ` Christopher Baines
  0 siblings, 1 reply; 85+ messages in thread
From: Julien Lepiller @ 2023-02-17  6:41 UTC (permalink / raw)
  To: 60673, raingloom, mail; +Cc: raingloom

https://qa.guix.gnu.org/issue/60673 has picked it up at least :). We still need to wait for a few builds.

Le 17 février 2023 02:03:46 GMT+01:00, Csepp <raingloom@riseup.net> a écrit :
>
>Christopher Baines <mail@cbaines.net> writes:
>
>> [[PGP Signed Part:Undecided]]
>>
>> Csepp <raingloom@riseup.net> writes:
>>
>>> Christopher Baines <mail@cbaines.net> writes:
>>>
>>>> [[PGP Signed Part:Undecided]]
>>>> Hey,
>>>>
>>>> While I think the builds look OK for this series, there are quite a few
>>>> formatting issues raised by the linter (this can be seen on [1] and [2]).
>>>>
>>>> 1: https://qa.guix.gnu.org/issue/60674
>>>> 2:
>>>> https://data.qa.guix.gnu.org/compare?base_commit=238f965c331990459a69cbc713ca951ad40e6044&target_commit=3b5485b9cdaebda127dc040ad67a287f39e33519
>>>>
>>>> Could you run the linter on the packages you've added here, address the
>>>> issues it raises and send an updated series?
>>>>
>>>> Thanks,
>>>>
>>>> Chris
>>>>
>>>> [[End of PGP Signed Part]]
>>>
>>> Those are all URL constants, can't really do much about them other than slice
>>> them up with string-append, which I'm not sure really helps with
>>> readability or ease of editing.  They were not an issue while I was
>>> editing the code and gnu/packages/ocaml.scm already has a lot of lines
>>> that whitespace-mode highlights as too long, so I thought it wouldn't
>>> matter much and my time would be better spent elsewhere.
>>
>> You're right that there are quite a few other instances of lines that
>> are too long in that module, but I don't think that's a reason not to
>> add more. I think splitting the long URL strings with string-append is a
>> good approach and can help with readability.
>>
>> [[End of PGP Signed Part]]
>
>Alright, got around to sending the updated patch series.  Hopefully I
>got the send-email arguments right.
>
>
>




^ permalink raw reply	[flat|nested] 85+ messages in thread

* [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name.
  2023-02-17  6:41         ` Julien Lepiller
@ 2023-02-17 15:50           ` Christopher Baines
  0 siblings, 0 replies; 85+ messages in thread
From: Christopher Baines @ 2023-02-17 15:50 UTC (permalink / raw)
  To: raingloom; +Cc: julien, 60673-done, 60673

[-- Attachment #1: Type: text/plain, Size: 437 bytes --]


Julien Lepiller <julien@lepiller.eu> writes:

> https://qa.guix.gnu.org/issue/60673 has picked it up at least :). We
> still need to wait for a few builds.

Everything looks to have built on x86_64-linux and aarch64-linux, plus
there are no introduced lint warnings now (for the checkers the data
service runs at least), so I've gone ahead and pushed these patches to
master as 48724a66422e02995e62e2f707dcd9087d43bee5.

Thanks,

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 85+ messages in thread

end of thread, other threads:[~2023-02-17 15:53 UTC | newest]

Thread overview: 85+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-09  0:34 [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Csepp
2023-01-09  0:34 ` [bug#60671] [PATCH 02/39] gnu: Add ocaml-macaddr Csepp
2023-01-09  0:34 ` [bug#60672] [PATCH 03/39] gnu: Add ocaml-ipaddr Csepp
2023-01-09  0:34 ` [bug#60674] [PATCH 04/39] gnu: Add ocaml-opam-monorepo Csepp
2023-01-09  0:34 ` [bug#60675] [PATCH 05/39] gnu: Add ocaml-pecu Csepp
2023-01-09  0:34 ` [bug#60676] [PATCH 06/39] gnu: Add ocaml-emile Csepp
2023-01-09  0:34 ` [bug#60677] [PATCH 07/39] gnu: Add ocaml-functoria-runtime Csepp
2023-01-09  0:34 ` [bug#60678] [PATCH 08/39] gnu: Add ocaml-mirage-runtime Csepp
2023-01-09  0:34 ` [bug#60679] [PATCH 09/39] gnu: Add ocaml-functoria Csepp
2023-01-09  0:35 ` [bug#60680] [PATCH 10/39] gnu: Add ocaml-mirage Csepp
2023-01-09  0:35 ` [bug#60681] [PATCH 11/39] gnu: Add ocaml-duration Csepp
2023-01-09  0:35 ` [bug#60682] [PATCH 12/39] gnu: Add ocaml-mirage-unix Csepp
2023-01-09  0:35 ` [bug#60683] [PATCH 13/39] gnu: Add ocaml-mirage-time Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 14/39] gnu: Add aliases for ocaml-cstruct and ocaml-lwt subpackages Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 15/39] gnu: Add ocaml-ppx-cstruct Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 16/39] gnu: Add ocaml-mirage-profile-unix Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 17/39] gnu: Add ocaml-mirage-profile Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 18/39] gnu: Add ocaml-mirage-clock Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 19/39] gnu: Add ocaml-ptime Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 20/39] gnu: Add ocaml-mirage-logs Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 21/39] gnu: Add ocaml-sexp-pretty Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 22/39] gnu: Add ocaml-expect-test-helpers-core Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 23/39] gnu: Add ocaml-intrinsics Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 24/39] gnu: Add ocaml-core-unix Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 25/39] gnu: Add ocaml-async-kernel Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 26/39] gnu: Add ocaml-async-unix Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 27/39] gnu: Add ocaml-textutils-kernel Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 28/39] gnu: Add ocaml-textutils Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 29/39] gnu: Add ocaml-protocol-version-header Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 30/39] gnu: Add ocaml-async-rpc-kernel Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 31/39] gnu: Add ocaml-async Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 32/39] gnu: Add ocaml-shared-memory-ring Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 33/39] gnu: Alias ocaml-shared-memory-ring-lwt to ocaml-shared-memory-ring Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 34/39] gnu: Add ocaml-xenstore Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 35/39] gnu: Add ocaml-io-page Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 36/39] gnu: Add ocaml-bheap Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 37/39] gnu: Add ocaml-mirage-xen Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 38/39] gnu: Add ocaml-parse-argv Csepp
2023-01-09  0:35 ` [bug#60673] [PATCH 39/39] gnu: Add ocaml-mirage-bootvar-unix Csepp
2023-02-07  7:57 ` [bug#60673] [PATCH 01/39] gnu: Add ocaml-domain-name Christopher Baines
2023-02-08  1:37   ` Csepp
2023-02-08  7:32     ` Christopher Baines
2023-02-17  1:03       ` Csepp
2023-02-17  6:41         ` Julien Lepiller
2023-02-17 15:50           ` Christopher Baines
2023-02-15 21:59 ` [bug#60673] Csepp
2023-02-15 21:59   ` [bug#60673] [PATCH v2 01/39] gnu: Add ocaml-domain-name Csepp
2023-02-15 21:59   ` [bug#60673] [PATCH v2 02/39] gnu: Add ocaml-macaddr Csepp
2023-02-15 21:59   ` [bug#60673] [PATCH v2 03/39] gnu: Add ocaml-ipaddr Csepp
2023-02-15 21:59   ` [bug#60673] [PATCH v2 04/39] gnu: Add ocaml-opam-monorepo Csepp
2023-02-15 21:59   ` [bug#60673] [PATCH v2 05/39] gnu: Add ocaml-pecu Csepp
2023-02-15 21:59   ` [bug#60673] [PATCH v2 06/39] gnu: Add ocaml-emile Csepp
2023-02-15 21:59   ` [bug#60673] [PATCH v2 07/39] gnu: Add ocaml-functoria-runtime Csepp
2023-02-15 21:59   ` [bug#60673] [PATCH v2 08/39] gnu: Add ocaml-mirage-runtime Csepp
2023-02-15 21:59   ` [bug#60673] [PATCH v2 09/39] gnu: Add ocaml-functoria Csepp
2023-02-15 21:59   ` [bug#60673] [PATCH v2 10/39] gnu: Add ocaml-mirage Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 11/39] gnu: Add ocaml-duration Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 12/39] gnu: Add ocaml-mirage-unix Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 13/39] gnu: Add ocaml-mirage-time Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 14/39] gnu: Add aliases for ocaml-cstruct and ocaml-lwt subpackages Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 15/39] gnu: Add ocaml-ppx-cstruct Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 16/39] gnu: Add ocaml-mirage-profile-unix Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 17/39] gnu: Add ocaml-mirage-profile Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 18/39] gnu: Add ocaml-mirage-clock Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 19/39] gnu: Add ocaml-ptime Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 20/39] gnu: Add ocaml-mirage-logs Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 21/39] gnu: Add ocaml-sexp-pretty Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 22/39] gnu: Add ocaml-expect-test-helpers-core Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 23/39] gnu: Add ocaml-intrinsics Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 24/39] gnu: Add ocaml-core-unix Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 25/39] gnu: Add ocaml-async-kernel Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 26/39] gnu: Add ocaml-async-unix Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 27/39] gnu: Add ocaml-textutils-kernel Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 28/39] gnu: Add ocaml-textutils Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 29/39] gnu: Add ocaml-protocol-version-header Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 30/39] gnu: Add ocaml-async-rpc-kernel Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 31/39] gnu: Add ocaml-async Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 32/39] gnu: Add ocaml-shared-memory-ring Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 33/39] gnu: Add ocaml-shared-memory-ring-lwt Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 34/39] gnu: Add ocaml-xenstore Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 35/39] gnu: Add ocaml-io-page Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 36/39] gnu: Add ocaml-bheap Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 37/39] gnu: Add ocaml-mirage-xen Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 38/39] gnu: Add ocaml-parse-argv Csepp
2023-02-15 22:00   ` [bug#60673] [PATCH v2 39/39] gnu: Add ocaml-mirage-bootvar-unix Csepp

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).