unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#49867] [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix.
@ 2021-08-04  7:10 pukkamustard
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                   ` (2 more replies)
  0 siblings, 3 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:10 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

Hi,

These patches add ocaml-cohttp-lwt-unix - an OCaml HTTP library - and dependencies.

Some known rough edges:

- ocaml-eqaf: Tests are disabled for now as I am not able to build ocaml-afl-persistent which is a dependency for ocaml-crowbar which is required to run ocaml-eqaf tests. There is ongoing work to port ocaml-afl-persistent to dune (https://github.com/stedolan/ocaml-afl-persistent/pull/7) with that it should be much easier to build it and enable tests for ocaml-eqaf.
- ocaml-mirage-crypto-ec: Contains generated code from Fiat-Crypto (https://github.com/mit-plv/fiat-crypto). It would be nicer to generate the C code from the Coq sources during Guix build, but that seems like a lot more work.
- ocaml-ca-certs: Tests requie access to `/etc/ssl/certs/*` which does not seem to be available during tests. Any ways to allow this in the test environment?
- ocaml-cohttp-lwt-unix: Seems to require network during tests. Can someone confirm this?

Thanks,
pukkamustard


pukkamustard (29):
  gnu: Add ocaml-cohttp-lwt.
  gnu: Add ocaml-domain-name.
  gnu: Add ocaml-macaddr.
  gnu: Add ocaml-ipaddr.
  gnu: Add ocaml-ipaddr-cstruct.
  gnu: Add ocaml-ipaddr-sexp.
  gnu: Add ocaml-conduit.
  gnu: Add ocaml-conduit-lwt.
  gnu: Add ocaml-eqaf.
  gnu: Add ocaml-mirage-crypto.
  gnu: Add ocaml-duration.
  gnu: Add ocaml-randomconv.
  gnu: Add ocaml-mirage-crypto-rng.
  gnu: Add ocaml-mirage-crypto-pk.
  gnu: Add ocaml-ptime.
  gnu: Add ocaml-asn1-combinators.
  gnu: Add ocaml-ppx-deriving.
  gnu: Add ocaml-ppx-deriving-yojson.
  gnu: Add ocaml-mirage-crypto-ec.
  gnu: Add ocaml-gmap.
  gnu: Add ocaml-pbkdf.
  gnu: Add ocaml-cstruct-unix.
  gnu: Add ocaml-x509.
  gnu: Add ocaml-ca-certs.
  gnu: Add ocaml-lwt-log.
  gnu: Add ocaml-lwt-ssl.
  gnu: Add ocaml-conduit-lwt-unix.
  gnu: Add ocaml-magic-mime.
  gnu: Add ocaml-cohttp-lwt-unix

 gnu/packages/ocaml.scm | 787 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 786 insertions(+), 1 deletion(-)

-- 
2.32.0





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

* [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt.
  2021-08-04  7:10 [bug#49867] [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix pukkamustard
@ 2021-08-04  7:15 ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 02/29] gnu: Add ocaml-domain-name pukkamustard
                     ` (27 more replies)
  2021-08-05 15:38 ` [bug#49867] [PATCH 00/29] " Xinglu Chen
  2021-11-15 13:23 ` bug#49867: " pukkamustard
  2 siblings, 28 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-cohttp-lwt): 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 bf9242410d..a33ae85c3a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7148,6 +7148,30 @@ HTTP parser, and implementations using various asynchronous programming
 libraries.")
     (license license:isc)))
 
+(define-public ocaml-cohttp-lwt
+  (package
+    (inherit ocaml-cohttp)
+    (name "ocaml-cohttp-lwt")
+    (arguments `(#:package "cohttp-lwt"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cohttp" ,ocaml-cohttp)
+       ("ocaml-lwt" ,ocaml-lwt)
+       ("ocaml-sexplib0" ,ocaml-sexplib0)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-uri" ,ocaml-uri)))
+    (synopsis "OCaml library for HTTP clients and servers using the Lwt
+concurrency library")
+    (description "This is a portable implementation of HTTP that uses the Lwt
+concurrency library to multiplex IO.  It implements as much of the logic in an
+OS-independent way as possible, so that more specialised modules can be
+tailored for different targets.  For example, you can install
+@code{ocaml-cohttp-lwt-unix} or @code{ocaml-cohttp-lwt-jsoo} for a Unix or
+JavaScript backend, or @code{ocaml-cohttp-mirage} for the MirageOS unikernel
+version of the library.  All of these implementations share the same IO logic
+from this module.")))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 02/29] gnu: Add ocaml-domain-name.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 03/29] gnu: Add ocaml-macaddr pukkamustard
                     ` (26 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-domain-name): 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 a33ae85c3a..7acc3bcf6d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7172,6 +7172,35 @@ JavaScript backend, or @code{ocaml-cohttp-mirage} for the MirageOS unikernel
 version of the library.  All of these implementations share the same IO logic
 from this module.")))
 
+(define-public ocaml-domain-name
+  (package
+    (name "ocaml-domain-name")
+    (version "0.3.0")
+    (home-page "https://github.com/hannesm/domain-name")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "06l82k27wa446k0sd799i73rrqwwmqfm542blkx6bbm2xpxaz2cm"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-fmt" ,ocaml-fmt)
+       ("ocaml-astring" ,ocaml-astring)))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)))
+    (synopsis "OCaml library for RFC 1035 Internet domain names")
+    (description "This OCaml library provides functions for working with
+Internet domain names (RFC 1035).  For example, it provides functions for
+comparing domain names or checking if one domain name is a sub-domain of
+another.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 03/29] gnu: Add ocaml-macaddr.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 02/29] gnu: Add ocaml-domain-name pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 04/29] gnu: Add ocaml-ipaddr pukkamustard
                     ` (25 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* 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 7acc3bcf6d..46adb95b93 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7201,6 +7201,34 @@ comparing domain names or checking if one domain name is a sub-domain of
 another.")
     (license license:isc)))
 
+(define-public ocaml-macaddr
+  (package
+    (name "ocaml-macaddr")
+    (version "5.1.0")
+    (home-page "https://github.com/mirage/ocaml-ipaddr")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "02pan5b8s4j5r68znjdb5mln3nffccdfsh4rw71x31b6qsrlqzgg"))))
+    (build-system dune-build-system)
+    (arguments `(#:package "macaddr"
+                 #:test-target "."))
+    (native-inputs
+     `(("ocaml-ounit" ,ocaml-ounit)
+       ("ocaml-domain-name" ,ocaml-domain-name)
+       ("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)))
+    (synopsis "OCaml library for manipulation of MAC address representations")
+    (description "This OCaml library provides functions for manipulating MAC
+address representations.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 04/29] gnu: Add ocaml-ipaddr.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 02/29] gnu: Add ocaml-domain-name pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 03/29] gnu: Add ocaml-macaddr pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 05/29] gnu: Add ocaml-ipaddr-cstruct pukkamustard
                     ` (24 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-ipaddr): 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 46adb95b93..08c45f46a7 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7229,6 +7229,25 @@ another.")
 address representations.")
     (license license:isc)))
 
+(define-public ocaml-ipaddr
+  (package
+    (inherit ocaml-macaddr)
+    (name "ocaml-ipaddr")
+    (arguments `(#:package "ipaddr"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-macaddr" ,ocaml-macaddr)
+       ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
+       ("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-domain-name" ,ocaml-domain-name)))
+    (native-inputs
+     `(("ocaml-ounit" ,ocaml-ounit)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)))
+    (synopsis "OCaml library for manipulation of IP address representations")
+    (description "This OCaml library provides functions for manipulating IP
+address representations.  It supports IPv4 and IPv6.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 05/29] gnu: Add ocaml-ipaddr-cstruct.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (2 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 04/29] gnu: Add ocaml-ipaddr pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 06/29] gnu: Add ocaml-ipaddr-sexp pukkamustard
                     ` (23 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-ipaddr-cstruct): 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 08c45f46a7..668299e89c 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7248,6 +7248,19 @@ address representations.")
 address representations.  It supports IPv4 and IPv6.")
     (license license:isc)))
 
+(define-public ocaml-ipaddr-cstruct
+  (package
+    (inherit ocaml-macaddr)
+    (name "ocaml-ipaddr-cstruct")
+    (arguments `(#:package "ipaddr-cstruct"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-ipaddr" ,ocaml-ipaddr)
+       ("ocaml-cstruct" ,ocaml-cstruct)))
+    (synopsis "OCaml library for manipulation of IP addresses as C-like structres")
+    (description "This OCaml library provides functions for manipulating as
+C-like structures using the @code{ocaml-cstruct} library.")))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 06/29] gnu: Add ocaml-ipaddr-sexp.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (3 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 05/29] gnu: Add ocaml-ipaddr-cstruct pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 07/29] gnu: Add ocaml-conduit pukkamustard
                     ` (22 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 668299e89c..7e3abcacb1 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7261,6 +7261,23 @@ address representations.  It supports IPv4 and IPv6.")
     (description "This OCaml library provides functions for manipulating as
 C-like structures using the @code{ocaml-cstruct} library.")))
 
+(define-public ocaml-ipaddr-sexp
+  (package
+    (inherit ocaml-macaddr)
+    (name "ocaml-ipaddr-sexp")
+    (arguments `(#:package "ipaddr-sexp"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-ipaddr" ,ocaml-ipaddr)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-sexplib0" ,ocaml-sexplib0)))
+    (native-inputs
+     `(("ocaml-ipaddr-cstruct" ,ocaml-ipaddr-cstruct)
+       ("ocaml-ounit" ,ocaml-ounit)))
+    (synopsis "OCaml library for manipulation of IP addresses as S-expressions")
+    (description "This OCaml library provides functions for manipulating as
+S-expressions using the @code{ocaml-sexp} library.")))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 07/29] gnu: Add ocaml-conduit.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (4 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 06/29] gnu: Add ocaml-ipaddr-sexp pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 08/29] gnu: Add ocaml-conduit-lwt pukkamustard
                     ` (21 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-conduit): 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 7e3abcacb1..f5723bdf09 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7278,6 +7278,38 @@ C-like structures using the @code{ocaml-cstruct} library.")))
     (description "This OCaml library provides functions for manipulating as
 S-expressions using the @code{ocaml-sexp} library.")))
 
+(define-public ocaml-conduit
+  (package
+    (name "ocaml-conduit")
+    (version "4.0.0")
+    (home-page "https://github.com/mirage/ocaml-conduit")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0ipm6fkmvgsyfj5f5p057av8kykli5rh8qzw7ycdrakdk7gzvhi0"))))
+    (build-system dune-build-system)
+    (arguments `(#:package "conduit"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-sexplib" ,ocaml-sexplib)
+       ("ocaml-astring" ,ocaml-astring)
+       ("ocaml-uri" ,ocaml-uri)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-ipaddr" ,ocaml-ipaddr)
+       ("ocaml-ipaddr-sexp" ,ocaml-ipaddr-sexp)))
+    (synopsis "OCaml library for establishing TCP and SSL/TLS connections")
+    (description "This OCaml library provides an abstraction for establishing
+TCP and SSL/TLS connections.  This allows using the same type signatures
+regardless of the SSL library or platform being used.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 08/29] gnu: Add ocaml-conduit-lwt.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (5 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 07/29] gnu: Add ocaml-conduit pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 09/29] gnu: Add ocaml-eqaf pukkamustard
                     ` (20 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-conduit-lwt): 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 f5723bdf09..c29a272214 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7310,6 +7310,24 @@ TCP and SSL/TLS connections.  This allows using the same type signatures
 regardless of the SSL library or platform being used.")
     (license license:isc)))
 
+(define-public ocaml-conduit-lwt
+  (package
+    (inherit ocaml-conduit)
+    (name "ocaml-conduit-lwt")
+    (arguments `(#:package "conduit-lwt"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-sexplib" ,ocaml-sexplib)
+       ("ocaml-conduit" ,ocaml-conduit)
+       ("ocaml-lwt" ,ocaml-lwt)))
+    (synopsis "OCaml library for establishing TCP and SSL/TLS connections
+using Lwt")
+    (description "This OCaml library provides the abstractions for
+establishing TCP and SSL/TLS connections from @code{ocaml-conduit} using
+@code{ocaml-lwt}.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 09/29] gnu: Add ocaml-eqaf.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (6 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 08/29] gnu: Add ocaml-conduit-lwt pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 10/29] gnu: Add ocaml-mirage-crypto pukkamustard
                     ` (19 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-eqaf): 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 c29a272214..04240b560b 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7328,6 +7328,39 @@ establishing TCP and SSL/TLS connections from @code{ocaml-conduit} using
 @code{ocaml-lwt}.")
     (license license:isc)))
 
+(define-public ocaml-eqaf
+  (package
+    (name "ocaml-eqaf")
+    (version "0.7")
+    (home-page "https://github.com/mirage/eqaf")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "06hsnnjax1kb3qsi3cj0nyyz8c2hj2gbw3h517gpjinpnwy2fr85"))))
+    (build-system dune-build-system)
+    (arguments
+     ;; Tests require ocaml-crowbar which depends on
+     ;; ocaml-afl-persistent. ocaml-afl-persistent uses a non-standard build system
+     ;; and I have not yet managed to build it with Guix. There is an on-going effort
+     ;; to port the build system to dune
+     ;; (https://github.com/stedolan/ocaml-afl-persistent/pull/7). With that it should
+     ;; be easy to add ocaml-afl-persistent and ocaml-crowbar and enable these tests.
+     `(#:tests? #f))
+    (propagated-inputs
+     ;; required to build the eqaf.cstruct library (see https://github.com/mirage/eqaf/pull/27)
+     `(("ocaml-bigarray-compat" ,ocaml-bigarray-compat)
+       ("ocaml-cstruct" ,ocaml-cstruct)))
+    (synopsis "OCaml library for constant-time equal function on string")
+    (description "This OCaml library provides an equal function on string in
+constant-time to avoid timing-attack with crypto stuff.")
+    (license license:expat)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 10/29] gnu: Add ocaml-mirage-crypto.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (7 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 09/29] gnu: Add ocaml-eqaf pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 11/29] gnu: Add ocaml-duration pukkamustard
                     ` (18 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 04240b560b..aa1129e5f3 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7361,6 +7361,37 @@ establishing TCP and SSL/TLS connections from @code{ocaml-conduit} using
 constant-time to avoid timing-attack with crypto stuff.")
     (license license:expat)))
 
+(define-public ocaml-mirage-crypto
+  (package
+    (name "ocaml-mirage-crypto")
+    (version "0.10.3")
+    (home-page "https://github.com/mirage/mirage-crypto")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0j7x07c8xy8bmqp9ad1cib6j69dy7acjg9m1d7pn0dnmbkrl8fiz"))))
+    (build-system dune-build-system)
+    (arguments `(#:package "mirage-crypto"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-eqaf" ,ocaml-eqaf)
+       ("ocaml-bigarray-compat" ,ocaml-bigarray-compat)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("ocaml-ounit" ,ocaml-ounit)))
+    (synopsis "OCaml library provding cryptographic primitives")
+    (description "This OCaml library provides symmetric ciphers (DES, AES,
+RC4, ChaCha20/Poly1305), and hashes (MD5, SHA-1, SHA-2).  This library can be
+used from MirageOS unikernels.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 11/29] gnu: Add ocaml-duration.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (8 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 10/29] gnu: Add ocaml-mirage-crypto pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 12/29] gnu: Add ocaml-randomconv pukkamustard
                     ` (17 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-duration): 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 aa1129e5f3..11458d0039 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7392,6 +7392,31 @@ RC4, ChaCha20/Poly1305), and hashes (MD5, SHA-1, SHA-2).  This library can be
 used from MirageOS unikernels.")
     (license license:isc)))
 
+(define-public ocaml-duration
+  (package
+    (name "ocaml-duration")
+    (version "0.1.3")
+    (home-page "https://github.com/hannesm/duration")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0ka4cv9581iaa6q1k02ddrpz7f53k3wk7rpq43j1lrdm4vl2jk4w"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)))
+    (synopsis "OCaml library providing conversions between various time units")
+    (description "This OCaml library provides functions for representing a
+time duration as an usigned 64 bit integer.  This can be used for conversions
+between various time units.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 12/29] gnu: Add ocaml-randomconv.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (9 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 11/29] gnu: Add ocaml-duration pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 13/29] gnu: Add ocaml-mirage-crypto-rng pukkamustard
                     ` (16 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-randomconv): 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 11458d0039..f7956fe216 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7417,6 +7417,31 @@ time duration as an usigned 64 bit integer.  This can be used for conversions
 between various time units.")
     (license license:isc)))
 
+(define-public ocaml-randomconv
+  (package
+    (name "ocaml-randomconv")
+    (version "0.1.3")
+    (home-page "https://github.com/hannesm/randomconv")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0pzq2zqz5bpy2snsvmn82hg79wfd0lmbbbhmhdvc8k20km86jqy7"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)))
+    (synopsis "OCaml library for converting random byte vectors to random numer")
+    (description
+     "This Ocaml library provides functions for converting random byte vectors
+as (C-like structures using @code{ocaml-cstruct}) to OCaml native numbers.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 13/29] gnu: Add ocaml-mirage-crypto-rng.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (10 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 12/29] gnu: Add ocaml-randomconv pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-05 15:42     ` Xinglu Chen
  2021-08-04  7:15   ` [bug#49867] [PATCH 14/29] gnu: Add ocaml-mirage-crypto-pk pukkamustard
                     ` (15 subsequent siblings)
  27 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-mirage-crypto-rng): 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 f7956fe216..6af9bedc65 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7442,6 +7442,26 @@ between various time units.")
 as (C-like structures using @code{ocaml-cstruct}) to OCaml native numbers.")
     (license license:isc)))
 
+(define-public ocaml-mirage-crypto-rng
+  (package
+    (inherit ocaml-mirage-crypto)
+    (name  "ocaml-mirage-crypto-rng")
+    (arguments `(#:package "mirage-crypto-rng"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-duration" ,ocaml-duration)
+       ("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-mirage-crypto" ,ocaml-mirage-crypto)
+       ("ocaml-mtime" ,ocaml-mtime)
+       ("ocaml-lwt" ,ocaml-lwt)))
+    (native-inputs
+     `(("ocaml-ounit" ,ocaml-ounit)
+       ("ocaml-randomconv" ,ocaml-randomconv)))
+    (synopsis "OCaml library providing a cryptographically secure pseudorandom number generator")
+    (description "@code{ocaml-mirage-crypto-rng} provides an OCaml random
+number generator interface, and implementations.")))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 14/29] gnu: Add ocaml-mirage-crypto-pk.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (11 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 13/29] gnu: Add ocaml-mirage-crypto-rng pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 15/29] gnu: Add ocaml-ptime pukkamustard
                     ` (14 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-mirage-crypto-pk): 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 6af9bedc65..a34c844059 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7462,6 +7462,31 @@ as (C-like structures using @code{ocaml-cstruct}) to OCaml native numbers.")
     (description "@code{ocaml-mirage-crypto-rng} provides an OCaml random
 number generator interface, and implementations.")))
 
+(define-public ocaml-mirage-crypto-pk
+  (package
+    (inherit ocaml-mirage-crypto)
+    (name  "ocaml-mirage-crypto-pk")
+    (arguments `(#:package "mirage-crypto-pk"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-mirage-crypto" ,ocaml-mirage-crypto)
+       ("ocaml-mirage-crypto-rng" ,ocaml-mirage-crypto-rng)
+       ("ocaml-mtime" ,ocaml-mtime)
+       ("ocaml-sexplib" ,ocaml-sexplib)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-zarith" ,ocaml-zarith)
+       ("ocaml-eqaf" ,ocaml-eqaf)
+       ("ocaml-rresult" ,ocaml-rresult)))
+    (native-inputs
+     `(("ocaml-ounit" ,ocaml-ounit)
+       ("ocaml-randomconv" ,ocaml-randomconv)))
+    (inputs `(("gmp" ,gmp)))
+    (synopsis "OCaml library providing public-key cryptography")
+    (description "@code{ocaml-mirage-crypto-pk} provides public-key
+cryptography (RSA, DSA, DH) for OCaml.")))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 15/29] gnu: Add ocaml-ptime.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (12 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 14/29] gnu: Add ocaml-mirage-crypto-pk pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-05 15:48     ` Xinglu Chen
  2021-08-04  7:15   ` [bug#49867] [PATCH 16/29] gnu: Add ocaml-asn1-combinators pukkamustard
                     ` (13 subsequent siblings)
  27 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index a34c844059..ab385eb26f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7487,6 +7487,48 @@ number generator interface, and implementations.")))
     (description "@code{ocaml-mirage-crypto-pk} provides public-key
 cryptography (RSA, DSA, DH) for OCaml.")))
 
+(define-public ocaml-ptime
+  (package
+    (name "ocaml-ptime")
+    (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
+     `(#:tests? #f
+       #:build-flags (list "build" "--with-js_of_ocaml" "false")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))))
+    (propagated-inputs
+     `(("ocaml-result" ,ocaml-result)))
+    (native-inputs
+     `(("ocamlbuild" ,ocamlbuild)
+       ("ocaml-topkg" ,ocaml-topkg)
+       ("opam" ,opam)))
+    (home-page "https://erratique.ch/software/ptime")
+    (synopsis "POSIX time for OCaml")
+    (description "Ptime has 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.
+
+The additional Ptime_clock library provides access to a system POSIX clock and
+to the system's current time zone offset.
+
+Ptime is not a calendar library.
+
+Ptime depends on the @code{ocaml-result} compatibility package. Ptime_clock
+depends on your system library. Ptime_clock's optional JavaScript support
+depends on @code{js-of-ocaml}.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 16/29] gnu: Add ocaml-asn1-combinators.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (13 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 15/29] gnu: Add ocaml-ptime pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 17/29] gnu: Add ocaml-ppx-deriving pukkamustard
                     ` (12 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-asn1-combinators): 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 ab385eb26f..3c8d6fb5df 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7529,6 +7529,41 @@ depends on your system library. Ptime_clock's optional JavaScript support
 depends on @code{js-of-ocaml}.")
     (license license:isc)))
 
+(define-public ocaml-asn1-combinators
+  (package
+    (name "ocaml-asn1-combinators")
+    (version "0.2.5")
+    (home-page "https://github.com/mirleft/ocaml-asn1-combinators")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0n7afzyqc3b7g7rl54ccw31431h6g145zvpzg34q0y4m5gzjv5h5"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-zarith" ,ocaml-zarith)
+       ("ocaml-bigarray-compat" ,ocaml-bigarray-compat)
+       ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
+       ("ocaml-ptime" ,ocaml-ptime)))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)))
+    (inputs `(("gmp" ,gmp)))
+    (synopsis "OCaml library for embedding typed ASN.1 grammars")
+    (description "@{ocaml-asn1-combinators} is an OCaml library for expressing
+ASN.1 in OCaml.  This allows you to skip the notation part of ASN.1, and embed
+the abstract syntax directly in the language.  These abstract syntax
+representations can be used for parsing, serialization, or random testing.
+
+The only ASN.1 encodings currently supported are BER and DER.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 17/29] gnu: Add ocaml-ppx-deriving.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (14 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 16/29] gnu: Add ocaml-asn1-combinators pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 18/29] gnu: Add ocaml-ppx-deriving-yojson pukkamustard
                     ` (11 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 3c8d6fb5df..f385aa2a94 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4528,7 +4528,38 @@ speedup, polymorphic variants and optional syntax for tuples and variants.
 yojson package.  The program @code{atdgen} can be used to derive OCaml-JSON
 serializers and deserializers from type definitions.")
     (license license:bsd-3)))
- 
+
+(define-public ocaml-ppx-deriving
+  (package
+    (name "ocaml-ppx-deriving")
+    (version "5.2.1")
+    (home-page "https://github.com/ocaml-ppx/ppx_deriving")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1wqcnw4wi6pfjjhixpakckm03dpj990259za432804471a6spm2j"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-ppx-derivers" ,ocaml-ppx-derivers)
+       ("ocaml-ppxlib" ,ocaml-ppxlib)
+       ("ocaml-result" ,ocaml-result)))
+    (native-inputs
+     `(("ocaml-cppo" ,ocaml-cppo)
+       ("ocaml-ounit2" ,ocaml-ounit2)))
+    (properties `((upstream-name . "ppx_deriving")))
+    (synopsis "Type-driven code generation for OCaml")
+    (description "This OCaml library provides common infrastructure for
+generating code based on type definitions, and a set of useful plugins for
+common tasks.")
+    (license license:expat)))
+
 (define-public ocaml-craml
   (package
     (name "ocaml-craml")
-- 
2.32.0





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

* [bug#49867] [PATCH 18/29] gnu: Add ocaml-ppx-deriving-yojson.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (15 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 17/29] gnu: Add ocaml-ppx-deriving pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 19/29] gnu: Add ocaml-mirage-crypto-ec pukkamustard
                     ` (10 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-ppx-deriving-yojson): 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 f385aa2a94..2cc91ea2c0 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4560,6 +4560,35 @@ generating code based on type definitions, and a set of useful plugins for
 common tasks.")
     (license license:expat)))
 
+(define-public ocaml-ppx-deriving-yojson
+  (package
+    (name "ocaml-ppx-deriving-yojson")
+    (version "3.6.1")
+    (home-page "https://github.com/ocaml-ppx/ppx_deriving_yojson")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1icz5h6p3pfj7my5gi7wxpflrb8c902dqa17f9w424njilnpyrbk"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-yojson" ,ocaml-yojson)
+       ("ocaml-result" ,ocaml-result)
+       ("ocaml-ppx-deriving" ,ocaml-ppx-deriving)
+       ("ocaml-ppxlib" ,ocaml-ppxlib)))
+    (native-inputs `(("ocaml-ounit" ,ocaml-ounit)))
+    (properties `((upstream-name . "ppx_deriving_yojson")))
+    (synopsis "JSON codec generator for OCaml")
+    (description "@code{ocaml-ppx-deriving-yojson} is an OCaml ppx_deriving
+plugin that provides a JSON codec generator.")
+    (license license:expat)))
+
 (define-public ocaml-craml
   (package
     (name "ocaml-craml")
-- 
2.32.0





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

* [bug#49867] [PATCH 19/29] gnu: Add ocaml-mirage-crypto-ec.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (16 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 18/29] gnu: Add ocaml-ppx-deriving-yojson pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 20/29] gnu: Add ocaml-gmap pukkamustard
                     ` (9 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-mirage-crypto-ec): 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 2cc91ea2c0..8463682e79 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7624,6 +7624,40 @@ representations can be used for parsing, serialization, or random testing.
 The only ASN.1 encodings currently supported are BER and DER.")
     (license license:isc)))
 
+(define-public ocaml-mirage-crypto-ec
+  ;; FIXME: This package contains generated code (see
+  ;; https://github.com/mirage/mirage-crypto/blob/main/ec/native/README.md). These
+  ;; should be re-generated during the build process.
+  (package
+    (inherit ocaml-mirage-crypto)
+    (name "ocaml-mirage-crypto-ec")
+    (arguments `(#:package "mirage-crypto-ec"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-eqaf" ,ocaml-eqaf)
+       ("ocaml-mirage-crypto" ,ocaml-mirage-crypto)
+       ("ocaml-mirage-crypto-rng" ,ocaml-mirage-crypto-rng)
+       ("gmp" ,gmp)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("ocaml-randomconv" ,ocaml-randomconv)
+       ("ocaml-ounit" ,ocaml-ounit)
+       ("ocaml-mirage-crypto-pk" ,ocaml-mirage-crypto-pk)
+       ("ocaml-hex" ,ocaml-hex)
+       ("ocaml-alcotest" ,ocaml-alcotest)
+       ("ocaml-asn1-combinators" ,ocaml-asn1-combinators)
+       ("ocaml-ppx-deriving-yojson" ,ocaml-ppx-deriving-yojson)
+       ("ocaml-ppx-deriving" ,ocaml-ppx-deriving)
+       ("ocaml-yojson" ,ocaml-yojson)))
+    (synopsis "OCaml library providing Elliptic Curve Cryptography")
+    (description "This OCaml library provides an implementation of key exchange
+(ECDH) and digital signature (ECDSA/EdDSA) algorithms.  The curves P224
+(SECP224R1), P256 (SECP256R1), P384 (SECP384R1),P521 (SECP521R1), and 25519
+(X25519, Ed25519) are implemented by this package.")
+    ;; See https://github.com/mirage/mirage-crypto/blob/main/ec/LICENSE.md
+    (license license:expat)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 20/29] gnu: Add ocaml-gmap.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (17 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 19/29] gnu: Add ocaml-mirage-crypto-ec pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 21/29] gnu: Add ocaml-pbkdf pukkamustard
                     ` (8 subsequent siblings)
  27 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-gmap): 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 8463682e79..e520151adf 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7658,6 +7658,32 @@ The only ASN.1 encodings currently supported are BER and DER.")
     ;; See https://github.com/mirage/mirage-crypto/blob/main/ec/LICENSE.md
     (license license:expat)))
 
+(define-public ocaml-gmap
+  (package
+    (name "ocaml-gmap")
+    (version "0.3.0")
+    (home-page "https://github.com/hannesm/gmap")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0880mhcybr662k6wnahx5mwbialh878kkzxacn47qniadd21x411"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)
+       ("ocaml-fmt" ,ocaml-fmt)))
+    (synopsis "OCaml library for heterogenous maps over a Generalized
+Algebraic Data Type")
+    (description "@code{ocaml-gmap} exposes an OCaml functor which can be used
+to create a type-safe heterogenous maps.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 21/29] gnu: Add ocaml-pbkdf.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (18 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 20/29] gnu: Add ocaml-gmap pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-05 15:55     ` Xinglu Chen
  2021-08-04  7:15   ` [bug#49867] [PATCH 22/29] gnu: Add ocaml-cstruct-unix pukkamustard
                     ` (7 subsequent siblings)
  27 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-pbkdf): 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 e520151adf..6effe1ff12 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7684,6 +7684,32 @@ Algebraic Data Type")
 to create a type-safe heterogenous maps.")
     (license license:isc)))
 
+(define-public ocaml-pbkdf
+  (package
+    (name "ocaml-pbkdf")
+    (version "1.1.0")
+    (home-page "https://github.com/abeaumont/ocaml-pbkdf")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0scq1i7hiy8dgjdfrcaca3k7wzys35k1g2cdg7v4kfdqr6q1scb3"))))
+    (build-system dune-build-system)
+    (propagated-inputs
+     `(("ocaml-mirage-crypto" ,ocaml-mirage-crypto)))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)))
+    (synopsis "OCaml library for password based key derivation functions
+(PBKDF) from PKCS#5")
+    (description "An OCaml implementation of PBKDF 1 and 2 as defined by
+PKCS#5 using @code{ocaml-mirage-crypto}.")
+    (license license:bsd-2)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 22/29] gnu: Add ocaml-cstruct-unix.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (19 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 21/29] gnu: Add ocaml-pbkdf pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-05 16:02     ` Xinglu Chen
  2021-08-04  7:15   ` [bug#49867] [PATCH 23/29] gnu: Add ocaml-x509 pukkamustard
                     ` (6 subsequent siblings)
  27 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-cstruct-unix): 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 6effe1ff12..a9a4c8a684 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3412,6 +3412,22 @@ to access C-like structures directly from OCaml.  It supports both reading and
 writing to these structures, and they are accessed via the Bigarray module.")
     (license license:isc)))
 
+(define-public ocaml-cstruct-unix
+  (package
+    (inherit ocaml-cstruct)
+    (name "ocaml-cstruct-unix")
+    (build-system dune-build-system)
+    (arguments
+     `(#:package "cstruct-unix"
+       #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)))
+    (synopsis "Unix variation of the @code{ocaml-cstruct} library for accessing C-like structures directly from OCaml")
+    (description "Cstruct is a library and syntax extension to make it easier to access C-like
+structures directly from OCaml. It supports both reading and writing to these
+structures, and they are accessed via the `Bigarray` module.")
+    (license license:isc)))
+
 (define-public ocaml-hex
   (package
     (name "ocaml-hex")
-- 
2.32.0





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

* [bug#49867] [PATCH 23/29] gnu: Add ocaml-x509.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (20 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 22/29] gnu: Add ocaml-cstruct-unix pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-05 16:04     ` Xinglu Chen
  2021-08-04  7:15   ` [bug#49867] [PATCH 24/29] gnu: Add ocaml-ca-certs pukkamustard
                     ` (5 subsequent siblings)
  27 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index a9a4c8a684..3ce07057f5 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7726,6 +7726,52 @@ to create a type-safe heterogenous maps.")
 PKCS#5 using @code{ocaml-mirage-crypto}.")
     (license license:bsd-2)))
 
+(define-public ocaml-x509
+  (package
+    (name "ocaml-x509")
+    (version "0.14.0")
+    (home-page "https://github.com/mirleft/ocaml-x509")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0b51vzyxxkhwgx12dg55clb1lb971cxlmsk4wlxzs5h115j5hcy7"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-asn1-combinators" ,ocaml-asn1-combinators)
+       ("ocaml-ptime" ,ocaml-ptime)
+       ("ocaml-base64" ,ocaml-base64)
+       ("ocaml-mirage-crypto" ,ocaml-mirage-crypto)
+       ("ocaml-mirage-crypto-pk" ,ocaml-mirage-crypto-pk)
+       ("ocaml-mirage-crypto-ec" ,ocaml-mirage-crypto-ec)
+       ("ocaml-mirage-crypto-rng" ,ocaml-mirage-crypto-rng)
+       ("ocaml-rresult" ,ocaml-rresult)
+       ("ocaml-fmt" ,ocaml-fmt)
+       ("ocaml-gmap" ,ocaml-gmap)
+       ("ocaml-domain-name" ,ocaml-domain-name)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-pbkdf" ,ocaml-pbkdf)))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)
+       ("ocaml-cstruct-unix" ,ocaml-cstruct-unix)))
+    (synopsis "Public Key Infrastructure (RFC 5280, PKCS) purely in OCaml")
+    (description "X.509 is a public key infrastructure used mostly on the
+Internet.  It consists of certificates which include public keys and
+identifiers, signed by an authority. Authorities must be exchanged over a
+second channel to establish the trust relationship. This OCaml library
+implements most parts of RFC5280 and RFC6125.  The Public Key Cryptography
+Standards (PKCS) defines encoding and decoding (in ASN.1 DER and PEM format),
+which is also implemented by this library - namely PKCS 1, PKCS 5, PKCS 7,
+PKCS 8, PKCS 9, PKCS 10, and PKCS 12.")
+    (license license:bsd-2)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 24/29] gnu: Add ocaml-ca-certs.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (21 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 23/29] gnu: Add ocaml-x509 pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
       [not found]     ` <87fsvnkgzk.fsf@yoctocell.xyz>
  2021-08-04  7:15   ` [bug#49867] [PATCH 25/29] gnu: Add ocaml-lwt-log pukkamustard
                     ` (4 subsequent siblings)
  27 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-ca-certs): 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 3ce07057f5..e832adc069 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7772,6 +7772,44 @@ which is also implemented by this library - namely PKCS 1, PKCS 5, PKCS 7,
 PKCS 8, PKCS 9, PKCS 10, and PKCS 12.")
     (license license:bsd-2)))
 
+(define-public ocaml-ca-certs
+  (package
+    (name "ocaml-ca-certs")
+    (version "0.2.1")
+    (home-page "https://github.com/mirage/ca-certs")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0qkxdrqyah24fz80hwkycdj50nybfjfz9b04qscv01r2ifb0kqy5"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."
+                 ;; Tests are failing as they require certificates to be in /etc/ssl/certs
+                 #:tests? #f))
+    (propagated-inputs
+     `(("ocaml-astring" ,ocaml-astring)
+       ("ocaml-bos" ,ocaml-bos)
+       ("ocaml-fpath" ,ocaml-fpath)
+       ("ocaml-rresult" ,ocaml-rresult)
+       ("ocaml-ptime" ,ocaml-ptime)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-mirage-crypto" ,ocaml-mirage-crypto)
+       ("ocaml-x509" ,ocaml-x509)))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)))
+    (synopsis
+     "Detect root CA certificates from the operating system")
+    (description
+     "TLS requires a set of root anchors (Certificate Authorities) to
+authenticate servers. This library exposes this list so that it can be
+registered with ocaml-tls.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 25/29] gnu: Add ocaml-lwt-log.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (22 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 24/29] gnu: Add ocaml-ca-certs pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-05 16:18     ` Xinglu Chen
  2021-08-04  7:15   ` [bug#49867] [PATCH 26/29] gnu: Add ocaml-lwt-ssl pukkamustard
                     ` (3 subsequent siblings)
  27 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-lwt-log): 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 e832adc069..d475b75287 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7404,6 +7404,30 @@ establishing TCP and SSL/TLS connections from @code{ocaml-conduit} using
 @code{ocaml-lwt}.")
     (license license:isc)))
 
+(define-public ocaml-lwt-log
+  (package
+    (name "ocaml-lwt-log")
+    (version "1.1.1")
+    (home-page "https://github.com/ocsigen/lwt_log")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1n12i1rmn9cjn6p8yr6qn5dwbrwvym7ckr7bla04a1xnq8qlcyj7"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs `(("ocaml-lwt" ,ocaml-lwt)))
+    (properties `((upstream-name . "lwt_log")))
+    (synopsis "OCaml/Lwt logging library (deprecated)")
+    (description "This OCaml library provides helpers for logging is
+deprecated for @code{ocaml-logs}.")
+    (license license:lgpl2.1)))
+
 (define-public ocaml-eqaf
   (package
     (name "ocaml-eqaf")
-- 
2.32.0





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

* [bug#49867] [PATCH 26/29] gnu: Add ocaml-lwt-ssl.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (23 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 25/29] gnu: Add ocaml-lwt-log pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-05 16:20     ` Xinglu Chen
  2021-08-04  7:15   ` [bug#49867] [PATCH 27/29] gnu: Add ocaml-conduit-lwt-unix pukkamustard
                     ` (2 subsequent siblings)
  27 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-lwt-ssl): 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 d475b75287..cadd22cb9c 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7428,6 +7428,32 @@ establishing TCP and SSL/TLS connections from @code{ocaml-conduit} using
 deprecated for @code{ocaml-logs}.")
     (license license:lgpl2.1)))
 
+(define-public ocaml-lwt-ssl
+  (package
+    (name "ocaml-lwt-ssl")
+    (version "1.1.3")
+    (home-page "https://github.com/ocsigen/lwt_ssl")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0v417ch5zn0yknj156awa5mrq3mal08pbrvsyribbn63ix6f9y3p"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-lwt" ,ocaml-lwt)
+       ("ocaml-ssl" ,ocaml-ssl)))
+    (properties `((upstream-name . "lwt_ssl")))
+    (synopsis "OpenSSL binding for OCaml with concurrent I/O")
+    (description "An Lwt-enabled wrapper around @code{ocaml-ssl}, that
+performs I/O concurrently.")
+(license license:lgpl2.1+))) ; with linking exception
+
 (define-public ocaml-eqaf
   (package
     (name "ocaml-eqaf")
-- 
2.32.0





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

* [bug#49867] [PATCH 27/29] gnu: Add ocaml-conduit-lwt-unix.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (24 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 26/29] gnu: Add ocaml-lwt-ssl pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-05 16:20     ` Xinglu Chen
  2021-08-04  7:15   ` [bug#49867] [PATCH 28/29] gnu: Add ocaml-magic-mime pukkamustard
  2021-08-04  7:15   ` [bug#49867] [PATCH 29/29] gnu: Add ocaml-cohttp-lwt-unix pukkamustard
  27 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-conduit-lwt-unix): 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 cadd22cb9c..8904f2df19 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7454,6 +7454,31 @@ deprecated for @code{ocaml-logs}.")
 performs I/O concurrently.")
 (license license:lgpl2.1+))) ; with linking exception
 
+(define-public ocaml-conduit-lwt-unix
+  (package
+    (inherit ocaml-conduit)
+    (name "ocaml-conduit-lwt-unix")
+    (arguments `(#:package "conduit-lwt-unix"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-logs" ,ocaml-logs)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-conduit-lwt" ,ocaml-conduit-lwt)
+       ("ocaml-lwt" ,ocaml-lwt)
+       ("ocaml-uri" ,ocaml-uri)
+       ("ocaml-ipaddr" ,ocaml-ipaddr)
+       ("ocaml-ipaddr-sexp" ,ocaml-ipaddr-sexp)
+       ("ocaml-ca-certs" ,ocaml-ca-certs)))
+    (native-inputs
+     `(("ocaml-lwt-log" ,ocaml-lwt-log)
+       ("ocaml-ssl" ,ocaml-ssl)
+       ("ocaml-lwt-ssl" ,ocaml-lwt-ssl)))
+    (synopsis "OCaml library for establishing TCP and SSL/TLC connections using Lwt_unix")
+    (description "This OCaml library provides an implementation for
+establishing TCP and SSL/TLS connections for the @code{ocaml-conduit}
+signatures using Lwt_unix.")
+    (license license:isc)))
+
 (define-public ocaml-eqaf
   (package
     (name "ocaml-eqaf")
-- 
2.32.0





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

* [bug#49867] [PATCH 28/29] gnu: Add ocaml-magic-mime.
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (25 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 27/29] gnu: Add ocaml-conduit-lwt-unix pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-05 16:22     ` Xinglu Chen
  2021-08-04  7:15   ` [bug#49867] [PATCH 29/29] gnu: Add ocaml-cohttp-lwt-unix pukkamustard
  27 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-magic-mime): 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 8904f2df19..d9e84cd7ad 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7248,6 +7248,31 @@ JavaScript backend, or @code{ocaml-cohttp-mirage} for the MirageOS unikernel
 version of the library.  All of these implementations share the same IO logic
 from this module.")))
 
+(define-public ocaml-magic-mime
+  (package
+    (name "ocaml-magic-mime")
+    (version "1.2.0")
+    (home-page "https://github.com/mirage/ocaml-magic-mime")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1pmwxw5n0lxbp7b9z1wplkn0cfl816cbacx3cdj2912n5zyjpjnk"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (synopsis "OCaml library for mapping filenames to common MIME types")
+    (description "This library contains a database of MIME types that maps
+filename extensions into MIME types suitable for use in many Internet
+protocols such as HTTP or e-mail.  It is generated from the `mime.types` file
+found in Unix systems, but has no dependency on a filesystem since it includes
+the contents of the database as an ML datastructure.")
+    (license license:isc)))
+
 (define-public ocaml-domain-name
   (package
     (name "ocaml-domain-name")
-- 
2.32.0





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

* [bug#49867] [PATCH 29/29] gnu: Add ocaml-cohttp-lwt-unix
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
                     ` (26 preceding siblings ...)
  2021-08-04  7:15   ` [bug#49867] [PATCH 28/29] gnu: Add ocaml-magic-mime pukkamustard
@ 2021-08-04  7:15   ` pukkamustard
  2021-08-05 16:25     ` Xinglu Chen
  27 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-04  7:15 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-cohttp-lwt-unix): 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 d9e84cd7ad..db195996c9 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7248,6 +7248,29 @@ JavaScript backend, or @code{ocaml-cohttp-mirage} for the MirageOS unikernel
 version of the library.  All of these implementations share the same IO logic
 from this module.")))
 
+(define-public ocaml-cohttp-lwt-unix
+  (package
+    (inherit ocaml-cohttp)
+    (name "ocaml-cohttp-lwt-unix")
+    (arguments `(#:package "cohttp-lwt-unix"
+                 ;; tests require network
+                 #:tests? #f))
+    (propagated-inputs
+     `(("ocaml-conduit-lwt" ,ocaml-conduit-lwt)
+       ("ocaml-conduit-lwt-unix" ,ocaml-conduit-lwt-unix)
+       ("ocaml-cmdliner" ,ocaml-cmdliner)
+       ("ocaml-magic-mime" ,ocaml-magic-mime)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-fmt" ,ocaml-fmt)
+       ("ocaml-cohttp-lwt" ,ocaml-cohttp-lwt)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-lwt" ,ocaml-lwt)
+       ("ocaml-lwt-ssl" ,ocaml-lwt-ssl)))
+    (native-inputs `(("ocaml-ounit" ,ocaml-ounit)))
+    (synopsis "OCaml HTTP implementation for Unix and Windows using Lwt")
+    (description "An OCaml implementation of an HTTP client and server for
+Unix and Windows using the Lwt concurrency library.")))
+
 (define-public ocaml-magic-mime
   (package
     (name "ocaml-magic-mime")
-- 
2.32.0





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

* [bug#49867] [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix.
  2021-08-04  7:10 [bug#49867] [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix pukkamustard
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
@ 2021-08-05 15:38 ` Xinglu Chen
  2021-08-09  6:55   ` pukkamustard
  2021-11-15 13:23 ` bug#49867: " pukkamustard
  2 siblings, 1 reply; 99+ messages in thread
From: Xinglu Chen @ 2021-08-05 15:38 UTC (permalink / raw)
  To: pukkamustard, 49867; +Cc: pukkamustard


[-- Attachment #1.1: Type: text/plain, Size: 789 bytes --]

On Wed, Aug 04 2021, pukkamustard wrote:

> Hi,
>
> These patches add ocaml-cohttp-lwt-unix - an OCaml HTTP library - and dependencies.
>
> Some known rough edges:
>
> - ocaml-eqaf: Tests are disabled for now as I am not able to build
> ocaml-afl-persistent which is a dependency for ocaml-crowbar which is
> required to run ocaml-eqaf tests. There is ongoing work to port
> ocaml-afl-persistent to dune
> (https://github.com/stedolan/ocaml-afl-persistent/pull/7) with that it
> should be much easier to build it and enable tests for ocaml-eqaf.

I managed to package ‘ocaml-afl-persistent’ with the attached patch,
but it doesn’t respect the ‘--without-tests’ transformation since the
tests are run as part of the build phase.

Thanks for working on this!


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Add-ocaml-afl-persistent.patch --]
[-- Type: text/x-patch, Size: 2203 bytes --]

From 49918dee551c9fa9acddfcf1162007d26f0bdff6 Mon Sep 17 00:00:00 2001
Message-Id: <49918dee551c9fa9acddfcf1162007d26f0bdff6.1628177652.git.public@yoctocell.xyz>
From: Xinglu Chen <public@yoctocell.xyz>
Date: Thu, 5 Aug 2021 17:33:51 +0200
Subject: [PATCH] gnu: Add ocaml-afl-persistent.

* gnu/packages/ocaml.scm (ocaml-afl-persistent): 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 bb42003de2..321908f8ba 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7183,6 +7183,39 @@ It makes it possible to run pure OCaml programs in JavaScript environment like
 browsers and Node.js.")
     (license license:lgpl2.1+)))
 
+(define-public ocaml-afl-persistent
+  (package
+    (name "ocaml-afl-persistent")
+    (version "1.3")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/stedolan/ocaml-afl-persistent")
+              (commit (string-append "v" version))))
+        (sha256
+          (base32
+           "06yyds2vcwlfr2nd3gvyrazlijjcrd1abnvkfpkaadgwdw3qam1i"))))
+    (build-system ocaml-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'build
+           (lambda _
+             (invoke "./build.sh")))
+         ;; XXX: The tests are already run in the build.sh script.
+         (delete 'check))))
+    (native-inputs
+     `(("opam" ,opam)))
+    (home-page "https://github.com/stedolan/ocaml-afl-persistent")
+    (synopsis "Use afl-fuzz in persistent mode")
+    (description
+      "afl-fuzz normally works by repeatedly forking the program being tested.
+Using this package, you can run afl-fuzz in ``persistent mode'', which avoids
+repeated forking and is much faster.")
+    (license license:expat)))
+
 (define-public ocaml-bibtex2html
   (package
     (name "ocaml-bibtex2html")

base-commit: ead6cc03c66ed31f0ab7300fab11cef3a1e459f0
prerequisite-patch-id: 13039007a822f956c10ede72109a6a74e5bb2b08
-- 
2.32.0


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

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

* [bug#49867] [PATCH 13/29] gnu: Add ocaml-mirage-crypto-rng.
  2021-08-04  7:15   ` [bug#49867] [PATCH 13/29] gnu: Add ocaml-mirage-crypto-rng pukkamustard
@ 2021-08-05 15:42     ` Xinglu Chen
  2021-08-08 11:04       ` pukkamustard
  0 siblings, 1 reply; 99+ messages in thread
From: Xinglu Chen @ 2021-08-05 15:42 UTC (permalink / raw)
  To: pukkamustard, 49867; +Cc: pukkamustard

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

On Wed, Aug 04 2021, pukkamustard wrote:

> * gnu/packages/ocaml.scm (ocaml-mirage-crypto-rng): 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 f7956fe216..6af9bedc65 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -7442,6 +7442,26 @@ between various time units.")
>  as (C-like structures using @code{ocaml-cstruct}) to OCaml native numbers.")
>      (license license:isc)))
>  
> +(define-public ocaml-mirage-crypto-rng
> +  (package
> +    (inherit ocaml-mirage-crypto)
> +    (name  "ocaml-mirage-crypto-rng")
> +    (arguments `(#:package "mirage-crypto-rng"
> +                 #:test-target "."))
> +    (propagated-inputs
> +     `(("ocaml-duration" ,ocaml-duration)
> +       ("ocaml-cstruct" ,ocaml-cstruct)
> +       ("ocaml-logs" ,ocaml-logs)
> +       ("ocaml-mirage-crypto" ,ocaml-mirage-crypto)
> +       ("ocaml-mtime" ,ocaml-mtime)
> +       ("ocaml-lwt" ,ocaml-lwt)))
> +    (native-inputs
> +     `(("ocaml-ounit" ,ocaml-ounit)
> +       ("ocaml-randomconv" ,ocaml-randomconv)))
> +    (synopsis "OCaml library providing a cryptographically secure pseudorandom number generator")

Keep lines at ~80 characters.  To keep the synopsis slighty shorter,
maybe

  "Cryptographically secure pseudo-random number generator in OCaml"

WDYT?

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

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

* [bug#49867] [PATCH 15/29] gnu: Add ocaml-ptime.
  2021-08-04  7:15   ` [bug#49867] [PATCH 15/29] gnu: Add ocaml-ptime pukkamustard
@ 2021-08-05 15:48     ` Xinglu Chen
  2021-08-08 11:13       ` pukkamustard
  0 siblings, 1 reply; 99+ messages in thread
From: Xinglu Chen @ 2021-08-05 15:48 UTC (permalink / raw)
  To: pukkamustard, 49867; +Cc: pukkamustard

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

On Wed, Aug 04 2021, pukkamustard wrote:

> * gnu/packages/ocaml.scm (ocaml-ptime): New variable.
> ---
>  gnu/packages/ocaml.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 42 insertions(+)
>
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index a34c844059..ab385eb26f 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -7487,6 +7487,48 @@ number generator interface, and implementations.")))
>      (description "@code{ocaml-mirage-crypto-pk} provides public-key
>  cryptography (RSA, DSA, DH) for OCaml.")))
>  
> +(define-public ocaml-ptime
> +  (package
> +    (name "ocaml-ptime")
> +    (version "0.8.5")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri "https://erratique.ch/software/ptime/releases/ptime-0.8.5.tbz")

Use (string-append "https://erratique.ch..." version ".tbz") to make it
easier to update the package in the future.

> +       (sha256
> +        (base32
> +         "1fxq57xy1ajzfdnvv5zfm7ap2nf49znw5f9gbi4kb9vds942ij27"))))
> +    (build-system ocaml-build-system)
> +    (arguments
> +     `(#:tests? #f

What’s the reason for disabling tests?

> +       #:build-flags (list "build" "--with-js_of_ocaml" "false")
> +       #:phases
> +       (modify-phases %standard-phases
> +         (delete 'configure))))
> +    (propagated-inputs
> +     `(("ocaml-result" ,ocaml-result)))
> +    (native-inputs
> +     `(("ocamlbuild" ,ocamlbuild)
> +       ("ocaml-topkg" ,ocaml-topkg)
> +       ("opam" ,opam)))
> +    (home-page "https://erratique.ch/software/ptime")
> +    (synopsis "POSIX time for OCaml")
> +    (description "Ptime has platform independent POSIX time support in pure
> +OCaml. It provides a type to represent a well-defined range of POSIX
         ^
Double spacing.  :-)

> +timestamps with picosecond precision, conversion with date-time values,
> +conversion with RFC 3339 timestamps and pretty printing to a human-readable,
> +locale-independent representation.
> +
> +The additional Ptime_clock library provides access to a system POSIX clock and
> +to the system's current time zone offset.
> +
> +Ptime is not a calendar library.

Not really sure if this sentence is necessary.  I think the previous
sentences has hade it pretty clear that it a time and date library.

> +Ptime depends on the @code{ocaml-result} compatibility package. Ptime_clock
> +depends on your system library. Ptime_clock's optional JavaScript support
> +depends on @code{js-of-ocaml}.")

This two sentences are probably also not necessary for users of the
package.  It should be the packager’s job to specify the dependencies.  :-)

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

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

* [bug#49867] [PATCH 21/29] gnu: Add ocaml-pbkdf.
  2021-08-04  7:15   ` [bug#49867] [PATCH 21/29] gnu: Add ocaml-pbkdf pukkamustard
@ 2021-08-05 15:55     ` Xinglu Chen
  2021-08-08 11:21       ` pukkamustard
  0 siblings, 1 reply; 99+ messages in thread
From: Xinglu Chen @ 2021-08-05 15:55 UTC (permalink / raw)
  To: pukkamustard, 49867; +Cc: pukkamustard

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

On Wed, Aug 04 2021, pukkamustard wrote:

> * gnu/packages/ocaml.scm (ocaml-pbkdf): 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 e520151adf..6effe1ff12 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -7684,6 +7684,32 @@ Algebraic Data Type")
>  to create a type-safe heterogenous maps.")
>      (license license:isc)))
>  
> +(define-public ocaml-pbkdf
> +  (package
> +    (name "ocaml-pbkdf")
> +    (version "1.1.0")
> +    (home-page "https://github.com/abeaumont/ocaml-pbkdf")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url home-page)
> +             (commit version)))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32
> +         "0scq1i7hiy8dgjdfrcaca3k7wzys35k1g2cdg7v4kfdqr6q1scb3"))))
> +    (build-system dune-build-system)
> +    (propagated-inputs
> +     `(("ocaml-mirage-crypto" ,ocaml-mirage-crypto)))
> +    (native-inputs
> +     `(("ocaml-alcotest" ,ocaml-alcotest)))
> +    (synopsis "OCaml library for password based key derivation functions
> +(PBKDF) from PKCS#5")
> +    (description "An OCaml implementation of PBKDF 1 and 2 as defined by
> +PKCS#5 using @code{ocaml-mirage-crypto}.")

The description should contain full sentences, maybe

  "This package provides an OCaml implementation of …"

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

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

* [bug#49867] [PATCH 22/29] gnu: Add ocaml-cstruct-unix.
  2021-08-04  7:15   ` [bug#49867] [PATCH 22/29] gnu: Add ocaml-cstruct-unix pukkamustard
@ 2021-08-05 16:02     ` Xinglu Chen
  2021-08-08 11:24       ` pukkamustard
  0 siblings, 1 reply; 99+ messages in thread
From: Xinglu Chen @ 2021-08-05 16:02 UTC (permalink / raw)
  To: pukkamustard, 49867; +Cc: pukkamustard

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

On Wed, Aug 04 2021, pukkamustard wrote:

> * gnu/packages/ocaml.scm (ocaml-cstruct-unix): 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 6effe1ff12..a9a4c8a684 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -3412,6 +3412,22 @@ to access C-like structures directly from OCaml.  It supports both reading and
>  writing to these structures, and they are accessed via the Bigarray module.")
>      (license license:isc)))
>  
> +(define-public ocaml-cstruct-unix
> +  (package
> +    (inherit ocaml-cstruct)
> +    (name "ocaml-cstruct-unix")
> +    (build-system dune-build-system)
> +    (arguments
> +     `(#:package "cstruct-unix"
> +       #:test-target "."))
> +    (propagated-inputs
> +     `(("ocaml-cstruct" ,ocaml-cstruct)))
> +    (synopsis "Unix variation of the @code{ocaml-cstruct} library for accessing C-like structures directly from OCaml")

Keep lines at around ~80 characters (applies to the description too).
Maybe drop the second half of the synopsis, so

  "Unix variation of the @code{ocaml-cstruct} library"

The desciption already mentions “access C-like structures directly from
OCaml.”; the synopsis of ‘ocaml-cstruct’ also mentions “Access C
structures via a camlp4 extension”.

WDYT?

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

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

* [bug#49867] [PATCH 23/29] gnu: Add ocaml-x509.
  2021-08-04  7:15   ` [bug#49867] [PATCH 23/29] gnu: Add ocaml-x509 pukkamustard
@ 2021-08-05 16:04     ` Xinglu Chen
  2021-08-08 11:29       ` pukkamustard
  0 siblings, 1 reply; 99+ messages in thread
From: Xinglu Chen @ 2021-08-05 16:04 UTC (permalink / raw)
  To: pukkamustard, 49867; +Cc: pukkamustard

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

On Wed, Aug 04 2021, pukkamustard wrote:

> * gnu/packages/ocaml.scm (ocaml-x509): New variable.
> ---
>  gnu/packages/ocaml.scm | 46 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 46 insertions(+)
>
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index a9a4c8a684..3ce07057f5 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -7726,6 +7726,52 @@ to create a type-safe heterogenous maps.")
>  PKCS#5 using @code{ocaml-mirage-crypto}.")
>      (license license:bsd-2)))
>  
> +(define-public ocaml-x509
> +  (package
> +    (name "ocaml-x509")
> +    (version "0.14.0")
> +    (home-page "https://github.com/mirleft/ocaml-x509")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url home-page)
> +             (commit (string-append "v" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32
> +         "0b51vzyxxkhwgx12dg55clb1lb971cxlmsk4wlxzs5h115j5hcy7"))))
> +    (build-system dune-build-system)
> +    (arguments `(#:test-target "."))
> +    (propagated-inputs
> +     `(("ocaml-cstruct" ,ocaml-cstruct)
> +       ("ocaml-asn1-combinators" ,ocaml-asn1-combinators)
> +       ("ocaml-ptime" ,ocaml-ptime)
> +       ("ocaml-base64" ,ocaml-base64)
> +       ("ocaml-mirage-crypto" ,ocaml-mirage-crypto)
> +       ("ocaml-mirage-crypto-pk" ,ocaml-mirage-crypto-pk)
> +       ("ocaml-mirage-crypto-ec" ,ocaml-mirage-crypto-ec)
> +       ("ocaml-mirage-crypto-rng" ,ocaml-mirage-crypto-rng)
> +       ("ocaml-rresult" ,ocaml-rresult)
> +       ("ocaml-fmt" ,ocaml-fmt)
> +       ("ocaml-gmap" ,ocaml-gmap)
> +       ("ocaml-domain-name" ,ocaml-domain-name)
> +       ("ocaml-logs" ,ocaml-logs)
> +       ("ocaml-pbkdf" ,ocaml-pbkdf)))
> +    (native-inputs
> +     `(("ocaml-alcotest" ,ocaml-alcotest)
> +       ("ocaml-cstruct-unix" ,ocaml-cstruct-unix)))
> +    (synopsis "Public Key Infrastructure (RFC 5280, PKCS) purely in OCaml")
> +    (description "X.509 is a public key infrastructure used mostly on the
> +Internet.  It consists of certificates which include public keys and
> +identifiers, signed by an authority. Authorities must be exchanged over a
> +second channel to establish the trust relationship. This OCaml library
> +implements most parts of RFC5280 and RFC6125.  The Public Key Cryptography
> +Standards (PKCS) defines encoding and decoding (in ASN.1 DER and PEM format),
> +which is also implemented by this library - namely PKCS 1, PKCS 5, PKCS 7,

Nit: Use ‘---’ instead of just ‘-’, see the fifth bullet point in “2.1
General Syntactic Conventions” in the Texinfo manual.

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

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

* [bug#49867] [PATCH 25/29] gnu: Add ocaml-lwt-log.
  2021-08-04  7:15   ` [bug#49867] [PATCH 25/29] gnu: Add ocaml-lwt-log pukkamustard
@ 2021-08-05 16:18     ` Xinglu Chen
  2021-08-08 13:01       ` pukkamustard
  0 siblings, 1 reply; 99+ messages in thread
From: Xinglu Chen @ 2021-08-05 16:18 UTC (permalink / raw)
  To: pukkamustard, 49867; +Cc: pukkamustard

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

On Wed, Aug 04 2021, pukkamustard wrote:

> * gnu/packages/ocaml.scm (ocaml-lwt-log): 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 e832adc069..d475b75287 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -7404,6 +7404,30 @@ establishing TCP and SSL/TLS connections from @code{ocaml-conduit} using
>  @code{ocaml-lwt}.")
>      (license license:isc)))
>  
> +(define-public ocaml-lwt-log
> +  (package
> +    (name "ocaml-lwt-log")
> +    (version "1.1.1")
> +    (home-page "https://github.com/ocsigen/lwt_log")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url home-page)
> +             (commit version)))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32
> +         "1n12i1rmn9cjn6p8yr6qn5dwbrwvym7ckr7bla04a1xnq8qlcyj7"))))
> +    (build-system dune-build-system)
> +    (arguments `(#:test-target "."))
> +    (propagated-inputs `(("ocaml-lwt" ,ocaml-lwt)))
> +    (properties `((upstream-name . "lwt_log")))
> +    (synopsis "OCaml/Lwt logging library (deprecated)")
> +    (description "This OCaml library provides helpers for logging is
> +deprecated for @code{ocaml-logs}.")

This sentence is a bit weird, maybe

  This OCaml library provides helpers for logging; it has been
  deprecated in favor of @code{ocaml-logs}.

> +    (license license:lgpl2.1)))

COPYING[1] say lgpgl2.1+, and “with the additional exemption that
compiling, linking, and/or using OpenSSL is allowed”.  You can probably
put a comment that mentions the exemption.

[1]: <https://github.com/ocsigen/lwt_log/blob/master/COPYING>

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

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

* [bug#49867] [PATCH 26/29] gnu: Add ocaml-lwt-ssl.
  2021-08-04  7:15   ` [bug#49867] [PATCH 26/29] gnu: Add ocaml-lwt-ssl pukkamustard
@ 2021-08-05 16:20     ` Xinglu Chen
  2021-08-08 13:04       ` pukkamustard
  0 siblings, 1 reply; 99+ messages in thread
From: Xinglu Chen @ 2021-08-05 16:20 UTC (permalink / raw)
  To: pukkamustard, 49867; +Cc: pukkamustard

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

On Wed, Aug 04 2021, pukkamustard wrote:

> * gnu/packages/ocaml.scm (ocaml-lwt-ssl): 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 d475b75287..cadd22cb9c 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -7428,6 +7428,32 @@ establishing TCP and SSL/TLS connections from @code{ocaml-conduit} using
>  deprecated for @code{ocaml-logs}.")
>      (license license:lgpl2.1)))
>  
> +(define-public ocaml-lwt-ssl
> +  (package
> +    (name "ocaml-lwt-ssl")
> +    (version "1.1.3")
> +    (home-page "https://github.com/ocsigen/lwt_ssl")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url home-page)
> +             (commit version)))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32
> +         "0v417ch5zn0yknj156awa5mrq3mal08pbrvsyribbn63ix6f9y3p"))))
> +    (build-system dune-build-system)
> +    (arguments `(#:test-target "."))
> +    (propagated-inputs
> +     `(("ocaml-lwt" ,ocaml-lwt)
> +       ("ocaml-ssl" ,ocaml-ssl)))
> +    (properties `((upstream-name . "lwt_ssl")))
> +    (synopsis "OpenSSL binding for OCaml with concurrent I/O")
> +    (description "An Lwt-enabled wrapper around @code{ocaml-ssl}, that
> +performs I/O concurrently.")

Write a complete sentence, maybe

  This OCaml library provides an Lwt-enabled…

?

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

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

* [bug#49867] [PATCH 27/29] gnu: Add ocaml-conduit-lwt-unix.
  2021-08-04  7:15   ` [bug#49867] [PATCH 27/29] gnu: Add ocaml-conduit-lwt-unix pukkamustard
@ 2021-08-05 16:20     ` Xinglu Chen
  2021-08-08 13:06       ` pukkamustard
  0 siblings, 1 reply; 99+ messages in thread
From: Xinglu Chen @ 2021-08-05 16:20 UTC (permalink / raw)
  To: pukkamustard, 49867; +Cc: pukkamustard

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

On Wed, Aug 04 2021, pukkamustard wrote:

> * gnu/packages/ocaml.scm (ocaml-conduit-lwt-unix): 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 cadd22cb9c..8904f2df19 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -7454,6 +7454,31 @@ deprecated for @code{ocaml-logs}.")
>  performs I/O concurrently.")
>  (license license:lgpl2.1+))) ; with linking exception
>  
> +(define-public ocaml-conduit-lwt-unix
> +  (package
> +    (inherit ocaml-conduit)
> +    (name "ocaml-conduit-lwt-unix")
> +    (arguments `(#:package "conduit-lwt-unix"
> +                 #:test-target "."))
> +    (propagated-inputs
> +     `(("ocaml-logs" ,ocaml-logs)
> +       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
> +       ("ocaml-conduit-lwt" ,ocaml-conduit-lwt)
> +       ("ocaml-lwt" ,ocaml-lwt)
> +       ("ocaml-uri" ,ocaml-uri)
> +       ("ocaml-ipaddr" ,ocaml-ipaddr)
> +       ("ocaml-ipaddr-sexp" ,ocaml-ipaddr-sexp)
> +       ("ocaml-ca-certs" ,ocaml-ca-certs)))
> +    (native-inputs
> +     `(("ocaml-lwt-log" ,ocaml-lwt-log)
> +       ("ocaml-ssl" ,ocaml-ssl)
> +       ("ocaml-lwt-ssl" ,ocaml-lwt-ssl)))
> +    (synopsis "OCaml library for establishing TCP and SSL/TLC connections using Lwt_unix")

Keep lines at ~80 characters.  :-)


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

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

* [bug#49867] [PATCH 28/29] gnu: Add ocaml-magic-mime.
  2021-08-04  7:15   ` [bug#49867] [PATCH 28/29] gnu: Add ocaml-magic-mime pukkamustard
@ 2021-08-05 16:22     ` Xinglu Chen
  2021-08-08 13:07       ` pukkamustard
  0 siblings, 1 reply; 99+ messages in thread
From: Xinglu Chen @ 2021-08-05 16:22 UTC (permalink / raw)
  To: pukkamustard, 49867; +Cc: pukkamustard

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

On Wed, Aug 04 2021, pukkamustard wrote:

> * gnu/packages/ocaml.scm (ocaml-magic-mime): 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 8904f2df19..d9e84cd7ad 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -7248,6 +7248,31 @@ JavaScript backend, or @code{ocaml-cohttp-mirage} for the MirageOS unikernel
>  version of the library.  All of these implementations share the same IO logic
>  from this module.")))
>  
> +(define-public ocaml-magic-mime
> +  (package
> +    (name "ocaml-magic-mime")
> +    (version "1.2.0")
> +    (home-page "https://github.com/mirage/ocaml-magic-mime")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url home-page)
> +             (commit (string-append "v" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32
> +         "1pmwxw5n0lxbp7b9z1wplkn0cfl816cbacx3cdj2912n5zyjpjnk"))))
> +    (build-system dune-build-system)
> +    (arguments `(#:test-target "."))
> +    (synopsis "OCaml library for mapping filenames to common MIME types")
> +    (description "This library contains a database of MIME types that maps
> +filename extensions into MIME types suitable for use in many Internet
> +protocols such as HTTP or e-mail.  It is generated from the `mime.types` file
                                                                ^^^^^^^^^^
Nit: @file{mime.types}

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

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

* [bug#49867] [PATCH 29/29] gnu: Add ocaml-cohttp-lwt-unix
  2021-08-04  7:15   ` [bug#49867] [PATCH 29/29] gnu: Add ocaml-cohttp-lwt-unix pukkamustard
@ 2021-08-05 16:25     ` Xinglu Chen
  2021-08-08 13:14       ` pukkamustard
  0 siblings, 1 reply; 99+ messages in thread
From: Xinglu Chen @ 2021-08-05 16:25 UTC (permalink / raw)
  To: pukkamustard, 49867; +Cc: pukkamustard

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

On Wed, Aug 04 2021, pukkamustard wrote:

> * gnu/packages/ocaml.scm (ocaml-cohttp-lwt-unix): 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 d9e84cd7ad..db195996c9 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -7248,6 +7248,29 @@ JavaScript backend, or @code{ocaml-cohttp-mirage} for the MirageOS unikernel
>  version of the library.  All of these implementations share the same IO logic
>  from this module.")))
>  
> +(define-public ocaml-cohttp-lwt-unix
> +  (package
> +    (inherit ocaml-cohttp)
> +    (name "ocaml-cohttp-lwt-unix")
> +    (arguments `(#:package "cohttp-lwt-unix"
> +                 ;; tests require network
> +                 #:tests? #f))
> +    (propagated-inputs
> +     `(("ocaml-conduit-lwt" ,ocaml-conduit-lwt)
> +       ("ocaml-conduit-lwt-unix" ,ocaml-conduit-lwt-unix)
> +       ("ocaml-cmdliner" ,ocaml-cmdliner)
> +       ("ocaml-magic-mime" ,ocaml-magic-mime)
> +       ("ocaml-logs" ,ocaml-logs)
> +       ("ocaml-fmt" ,ocaml-fmt)
> +       ("ocaml-cohttp-lwt" ,ocaml-cohttp-lwt)
> +       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
> +       ("ocaml-lwt" ,ocaml-lwt)
> +       ("ocaml-lwt-ssl" ,ocaml-lwt-ssl)))
> +    (native-inputs `(("ocaml-ounit" ,ocaml-ounit)))
> +    (synopsis "OCaml HTTP implementation for Unix and Windows using Lwt")
> +    (description "An OCaml implementation of an HTTP client and server for
> +Unix and Windows using the Lwt concurrency library.")))

Full sentence, maybe

  This OCaml library provides an implementation of an HTTP…

Also, I don’t think Windows support should be mentioned since it’s
not supported by Guix, and it’s non-free software.  :-)


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

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

* [bug#49867] [PATCH 13/29] gnu: Add ocaml-mirage-crypto-rng.
  2021-08-05 15:42     ` Xinglu Chen
@ 2021-08-08 11:04       ` pukkamustard
  0 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-08 11:04 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 49867


Xinglu Chen <public@yoctocell.xyz> writes:

> Keep lines at ~80 characters.  To keep the synopsis slighty 
> shorter,
> maybe
>
>   "Cryptographically secure pseudo-random number generator in 
>   OCaml"
>
> WDYT?

Sounds good! Fixed in V2.




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

* [bug#49867] [PATCH 15/29] gnu: Add ocaml-ptime.
  2021-08-05 15:48     ` Xinglu Chen
@ 2021-08-08 11:13       ` pukkamustard
  0 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-08 11:13 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 49867


Xinglu Chen <public@yoctocell.xyz> writes:

> Use (string-append "https://erratique.ch..." version ".tbz") to 
> make it
> easier to update the package in the future.

Done.

>> +       (sha256
>> +        (base32
>> + 
>> "1fxq57xy1ajzfdnvv5zfm7ap2nf49znw5f9gbi4kb9vds942ij27"))))
>> +    (build-system ocaml-build-system)
>> +    (arguments
>> +     `(#:tests? #f
>
> What’s the reason for disabling tests?
>

Laziness, I guess.. :)

Enabled in V2.

>> +    (description "Ptime has platform independent POSIX time 
>> support in pure
>> +OCaml. It provides a type to represent a well-defined range of 
>> POSIX
>          ^
> Double spacing.  :-)
>

Thanks!

>> +Ptime is not a calendar library.
>
> Not really sure if this sentence is necessary.  I think the 
> previous
> sentences has hade it pretty clear that it a time and date 
> library.
>

Agree, removed sentence.

>> +Ptime depends on the @code{ocaml-result} compatibility 
>> package. Ptime_clock
>> +depends on your system library. Ptime_clock's optional 
>> JavaScript support
>> +depends on @code{js-of-ocaml}.")
>
> This two sentences are probably also not necessary for users of 
> the
> package.  It should be the packager’s job to specify the 
> dependencies.  :-)

Also agree. Removed sentences.




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

* [bug#49867] [PATCH 21/29] gnu: Add ocaml-pbkdf.
  2021-08-05 15:55     ` Xinglu Chen
@ 2021-08-08 11:21       ` pukkamustard
  2021-08-09  9:53         ` Xinglu Chen
  0 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-08 11:21 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 49867


Xinglu Chen <public@yoctocell.xyz> writes:

>> +    (description "An OCaml implementation of PBKDF 1 and 2 as 
>> defined by
>> +PKCS#5 using @code{ocaml-mirage-crypto}.")
>
> The description should contain full sentences, maybe
>
>   "This package provides an OCaml implementation of …"

Changed to: "This package provides an OCaml implementation of 
PBKDF 1 and 2 as defined by PKCS#5 using 
@code{ocaml-mirage-crypto}."

Note: A version 1.2.0 was released recently. However, it requires 
CStruct 6.0.0. I will submit a patch to update ocaml-cstruct and 
then ocaml-pbkdf can be updated to 1.2.0.




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

* [bug#49867] [PATCH 22/29] gnu: Add ocaml-cstruct-unix.
  2021-08-05 16:02     ` Xinglu Chen
@ 2021-08-08 11:24       ` pukkamustard
  0 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-08 11:24 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 49867


Xinglu Chen <public@yoctocell.xyz> writes:

>> +    (synopsis "Unix variation of the @code{ocaml-cstruct} 
>> library for accessing C-like structures directly from OCaml")
>
> Keep lines at around ~80 characters (applies to the description 
> too).
> Maybe drop the second half of the synopsis, so
>
>   "Unix variation of the @code{ocaml-cstruct} library"
>
> The desciption already mentions “access C-like structures 
> directly from
> OCaml.”; the synopsis of ‘ocaml-cstruct’ also mentions “Access C
> structures via a camlp4 extension”.
>
> WDYT?

I agree. Fixed in V2.

Also fixed a missing double-space in the description.




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

* [bug#49867] [PATCH 23/29] gnu: Add ocaml-x509.
  2021-08-05 16:04     ` Xinglu Chen
@ 2021-08-08 11:29       ` pukkamustard
  0 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-08 11:29 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 49867


Xinglu Chen <public@yoctocell.xyz> writes:

>> +    (description "X.509 is a public key infrastructure used 
>> mostly on the
>> +Internet.  It consists of certificates which include public 
>> keys and
>> +identifiers, signed by an authority. Authorities must be 
>> exchanged over a
>> +second channel to establish the trust relationship. This OCaml 
>> library
>> +implements most parts of RFC5280 and RFC6125.  The Public Key 
>> Cryptography
>> +Standards (PKCS) defines encoding and decoding (in ASN.1 DER 
>> and PEM format),
>> +which is also implemented by this library - namely PKCS 1, 
>> PKCS 5, PKCS 7,
>
> Nit: Use ‘---’ instead of just ‘-’, see the fifth bullet point 
> in “2.1
> General Syntactic Conventions” in the Texinfo manual.

Thanks! Done in V2.

Note: This has also been updated to 0.14.1 which requires Cstruct 
6.0.0.




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

* [bug#49867] [PATCH 24/29] gnu: Add ocaml-ca-certs.
       [not found]     ` <87fsvnkgzk.fsf@yoctocell.xyz>
@ 2021-08-08 12:36       ` pukkamustard
  2021-08-09  9:30         ` Xinglu Chen
  0 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-08 12:36 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 49867


Xinglu Chen <public@yoctocell.xyz> writes:

>> +                 ;; Tests are failing as they require 
>> certificates to be in /etc/ssl/certs
>> +                 #:tests? #f))
>
> The same issue has been mentioned by NixOS people on their bug
> tracker[1], they solved[2] it by reading the NIX_SSL_CERT_FILE
> environment variable, which automatically gets set in the build
> environment if the ‘cacert’ package is specified as an input.  I 
> don’t
> know if Guix does something similar.
>
> [1]: <https://github.com/mirage/ca-certs/issues/16>
> [2]: <https://github.com/mirage/ca-certs/pull/17>
>

Thanks for the pointers.

Inspired by the package definition for curl, I tried setting 
NIX_SSL_CERT_FILE with native-search-paths:

```
    (native-search-paths
     (list
      (search-path-specification
       (variable "NIX_SSL_CERT_FILE")
       (file-type 'regular)
       (separator #f)                   ;single entry
       (files '("/etc/ssl/certs/ca-certificates.crt")))))
```

and adding `nss-certs` to the native-inputs.

However, this does not work. Some observations/questions:

- The NIX_SSL_CERT_FILE does not appear in the 
  `environment-variables` file when running `guix build -K`. I 
  would have expected it to be set there.
- `nss-certs` does not provide the `ca-certificates.crt` file. It 
  is built when creating a profile with the 
  `ca-certificate-bundle` hook. Is this run when creating a build 
  environment?

I seem to be not understanding a lot of things about the build 
environment ... Pointers very welcome!

>> +    (propagated-inputs
>> +     `(("ocaml-astring" ,ocaml-astring)
>> +       ("ocaml-bos" ,ocaml-bos)
>> +       ("ocaml-fpath" ,ocaml-fpath)
>> +       ("ocaml-rresult" ,ocaml-rresult)
>> +       ("ocaml-ptime" ,ocaml-ptime)
>> +       ("ocaml-logs" ,ocaml-logs)
>> +       ("ocaml-mirage-crypto" ,ocaml-mirage-crypto)
>> +       ("ocaml-x509" ,ocaml-x509)))
>> +    (native-inputs
>> +     `(("ocaml-alcotest" ,ocaml-alcotest)))
>> +    (synopsis
>> +     "Detect root CA certificates from the operating system")
>> +    (description
>> +     "TLS requires a set of root anchors (Certificate 
>> Authorities) to
>> +authenticate servers. This library exposes this list so that 
>> it can be
>                         ^
> Double spacing.

Fixed in V2.




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

* [bug#49867] [PATCH 25/29] gnu: Add ocaml-lwt-log.
  2021-08-05 16:18     ` Xinglu Chen
@ 2021-08-08 13:01       ` pukkamustard
  0 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-08 13:01 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 49867


Xinglu Chen <public@yoctocell.xyz> writes:

> This sentence is a bit weird, maybe
>
>   This OCaml library provides helpers for logging; it has been
>   deprecated in favor of @code{ocaml-logs}.
>
>> +    (license license:lgpl2.1)))
>
> COPYING[1] say lgpgl2.1+, and “with the additional exemption 
> that
> compiling, linking, and/or using OpenSSL is allowed”.  You can 
> probably
> put a comment that mentions the exemption.
>
> [1]: <https://github.com/ocsigen/lwt_log/blob/master/COPYING>

While fixing the package definition, I notice that ocaml-lwt-log 
already existed. V2 removes my patch for adding ocaml-lwt-log.




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

* [bug#49867] [PATCH 26/29] gnu: Add ocaml-lwt-ssl.
  2021-08-05 16:20     ` Xinglu Chen
@ 2021-08-08 13:04       ` pukkamustard
  0 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-08 13:04 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 49867


Xinglu Chen <public@yoctocell.xyz> writes:

>> +    (description "An Lwt-enabled wrapper around 
>> @code{ocaml-ssl}, that
>> +performs I/O concurrently.")
>
> Write a complete sentence, maybe
>
>   This OCaml library provides an Lwt-enabled…
>
> ?

Perfect. Using description as suggested in V2.




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

* [bug#49867] [PATCH 27/29] gnu: Add ocaml-conduit-lwt-unix.
  2021-08-05 16:20     ` Xinglu Chen
@ 2021-08-08 13:06       ` pukkamustard
  0 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-08 13:06 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 49867


Xinglu Chen <public@yoctocell.xyz> writes:

>> +    (synopsis "OCaml library for establishing TCP and SSL/TLC 
>> connections using Lwt_unix")
>
> Keep lines at ~80 characters.  :-)

Thanks! Fixed in V2.




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

* [bug#49867] [PATCH 28/29] gnu: Add ocaml-magic-mime.
  2021-08-05 16:22     ` Xinglu Chen
@ 2021-08-08 13:07       ` pukkamustard
  0 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-08 13:07 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 49867


Xinglu Chen <public@yoctocell.xyz> writes:

>> +    (description "This library contains a database of MIME 
>> types that maps
>> +filename extensions into MIME types suitable for use in many 
>> Internet
>> +protocols such as HTTP or e-mail.  It is generated from the 
>> `mime.types` file
>                                                                 ^^^^^^^^^^
> Nit: @file{mime.types}

Fixed in V2.




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

* [bug#49867] [PATCH 29/29] gnu: Add ocaml-cohttp-lwt-unix
  2021-08-05 16:25     ` Xinglu Chen
@ 2021-08-08 13:14       ` pukkamustard
  0 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-08 13:14 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 49867


Xinglu Chen <public@yoctocell.xyz> writes:

> Full sentence, maybe
>
>   This OCaml library provides an implementation of an HTTP…
>
> Also, I don’t think Windows support should be mentioned since 
> it’s
> not supported by Guix, and it’s non-free software.  :-)

:) done and done (in V2).




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

* [bug#49867] [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix.
  2021-08-05 15:38 ` [bug#49867] [PATCH 00/29] " Xinglu Chen
@ 2021-08-09  6:55   ` pukkamustard
  2021-08-09  6:59     ` [bug#49867] [PATCH 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                       ` (2 more replies)
  0 siblings, 3 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  6:55 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 49867


Xinglu Chen <public@yoctocell.xyz> writes:

> I managed to package ‘ocaml-afl-persistent’ with the attached 
> patch,
> but it doesn’t respect the ‘--without-tests’ transformation 
> since the
> tests are run as part of the build phase.

Fantastic! With your patch I've added ocaml-crowbar and enabled 
tests for ocaml-eqaf in V2.

Tests for ocaml-crowbar are currently disabled as they require 
ocaml-xmldiff which requires OCaml 4.12.0.

> Thanks for working on this!

Thank you for your comments!

V2 follows.

-pukkamustard




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

* [bug#49867] [PATCH 01/31] gnu: Add ocaml-cohttp-lwt.
  2021-08-09  6:55   ` pukkamustard
@ 2021-08-09  6:59     ` pukkamustard
  2021-08-09  6:59       ` [bug#49867] [PATCH 02/31] gnu: Add ocaml-domain-name pukkamustard
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
  2021-08-09  9:55     ` [bug#49867] [PATCH 00/29] " Xinglu Chen
  2 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-09  6:59 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-cohttp-lwt): 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 112751ddec..6518f21f5e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7323,6 +7323,30 @@ HTTP parser, and implementations using various asynchronous programming
 libraries.")
     (license license:isc)))
 
+(define-public ocaml-cohttp-lwt
+  (package
+    (inherit ocaml-cohttp)
+    (name "ocaml-cohttp-lwt")
+    (arguments `(#:package "cohttp-lwt"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cohttp" ,ocaml-cohttp)
+       ("ocaml-lwt" ,ocaml-lwt)
+       ("ocaml-sexplib0" ,ocaml-sexplib0)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-uri" ,ocaml-uri)))
+    (synopsis "OCaml library for HTTP clients and servers using the Lwt
+concurrency library")
+    (description "This is a portable implementation of HTTP that uses the Lwt
+concurrency library to multiplex IO.  It implements as much of the logic in an
+OS-independent way as possible, so that more specialised modules can be
+tailored for different targets.  For example, you can install
+@code{ocaml-cohttp-lwt-unix} or @code{ocaml-cohttp-lwt-jsoo} for a Unix or
+JavaScript backend, or @code{ocaml-cohttp-mirage} for the MirageOS unikernel
+version of the library.  All of these implementations share the same IO logic
+from this module.")))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH 02/31] gnu: Add ocaml-domain-name.
  2021-08-09  6:59     ` [bug#49867] [PATCH 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
@ 2021-08-09  6:59       ` pukkamustard
  0 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  6:59 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-domain-name): 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 6518f21f5e..56e3c39c2d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7347,6 +7347,35 @@ JavaScript backend, or @code{ocaml-cohttp-mirage} for the MirageOS unikernel
 version of the library.  All of these implementations share the same IO logic
 from this module.")))
 
+(define-public ocaml-domain-name
+  (package
+    (name "ocaml-domain-name")
+    (version "0.3.0")
+    (home-page "https://github.com/hannesm/domain-name")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "06l82k27wa446k0sd799i73rrqwwmqfm542blkx6bbm2xpxaz2cm"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-fmt" ,ocaml-fmt)
+       ("ocaml-astring" ,ocaml-astring)))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)))
+    (synopsis "OCaml library for RFC 1035 Internet domain names")
+    (description "This OCaml library provides functions for working with
+Internet domain names (RFC 1035).  For example, it provides functions for
+comparing domain names or checking if one domain name is a sub-domain of
+another.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt.
  2021-08-09  6:55   ` pukkamustard
  2021-08-09  6:59     ` [bug#49867] [PATCH 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
@ 2021-08-09  7:00     ` pukkamustard
  2021-08-09  7:00       ` [bug#49867] [PATCH v2 02/31] gnu: Add ocaml-domain-name pukkamustard
                         ` (29 more replies)
  2021-08-09  9:55     ` [bug#49867] [PATCH 00/29] " Xinglu Chen
  2 siblings, 30 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:00 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-cohttp-lwt): 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 112751ddec..6518f21f5e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7323,6 +7323,30 @@ HTTP parser, and implementations using various asynchronous programming
 libraries.")
     (license license:isc)))
 
+(define-public ocaml-cohttp-lwt
+  (package
+    (inherit ocaml-cohttp)
+    (name "ocaml-cohttp-lwt")
+    (arguments `(#:package "cohttp-lwt"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cohttp" ,ocaml-cohttp)
+       ("ocaml-lwt" ,ocaml-lwt)
+       ("ocaml-sexplib0" ,ocaml-sexplib0)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-uri" ,ocaml-uri)))
+    (synopsis "OCaml library for HTTP clients and servers using the Lwt
+concurrency library")
+    (description "This is a portable implementation of HTTP that uses the Lwt
+concurrency library to multiplex IO.  It implements as much of the logic in an
+OS-independent way as possible, so that more specialised modules can be
+tailored for different targets.  For example, you can install
+@code{ocaml-cohttp-lwt-unix} or @code{ocaml-cohttp-lwt-jsoo} for a Unix or
+JavaScript backend, or @code{ocaml-cohttp-mirage} for the MirageOS unikernel
+version of the library.  All of these implementations share the same IO logic
+from this module.")))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 02/31] gnu: Add ocaml-domain-name.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
@ 2021-08-09  7:00       ` pukkamustard
  2021-08-09  7:00       ` [bug#49867] [PATCH v2 03/31] gnu: Add ocaml-macaddr pukkamustard
                         ` (28 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:00 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-domain-name): 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 6518f21f5e..56e3c39c2d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7347,6 +7347,35 @@ JavaScript backend, or @code{ocaml-cohttp-mirage} for the MirageOS unikernel
 version of the library.  All of these implementations share the same IO logic
 from this module.")))
 
+(define-public ocaml-domain-name
+  (package
+    (name "ocaml-domain-name")
+    (version "0.3.0")
+    (home-page "https://github.com/hannesm/domain-name")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "06l82k27wa446k0sd799i73rrqwwmqfm542blkx6bbm2xpxaz2cm"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-fmt" ,ocaml-fmt)
+       ("ocaml-astring" ,ocaml-astring)))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)))
+    (synopsis "OCaml library for RFC 1035 Internet domain names")
+    (description "This OCaml library provides functions for working with
+Internet domain names (RFC 1035).  For example, it provides functions for
+comparing domain names or checking if one domain name is a sub-domain of
+another.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 03/31] gnu: Add ocaml-macaddr.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
  2021-08-09  7:00       ` [bug#49867] [PATCH v2 02/31] gnu: Add ocaml-domain-name pukkamustard
@ 2021-08-09  7:00       ` pukkamustard
  2021-08-09  7:00       ` [bug#49867] [PATCH v2 04/31] gnu: Add ocaml-ipaddr pukkamustard
                         ` (27 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:00 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* 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 56e3c39c2d..34be7e5497 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7376,6 +7376,34 @@ comparing domain names or checking if one domain name is a sub-domain of
 another.")
     (license license:isc)))
 
+(define-public ocaml-macaddr
+  (package
+    (name "ocaml-macaddr")
+    (version "5.1.0")
+    (home-page "https://github.com/mirage/ocaml-ipaddr")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "02pan5b8s4j5r68znjdb5mln3nffccdfsh4rw71x31b6qsrlqzgg"))))
+    (build-system dune-build-system)
+    (arguments `(#:package "macaddr"
+                 #:test-target "."))
+    (native-inputs
+     `(("ocaml-ounit" ,ocaml-ounit)
+       ("ocaml-domain-name" ,ocaml-domain-name)
+       ("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)))
+    (synopsis "OCaml library for manipulation of MAC address representations")
+    (description "This OCaml library provides functions for manipulating MAC
+address representations.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 04/31] gnu: Add ocaml-ipaddr.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
  2021-08-09  7:00       ` [bug#49867] [PATCH v2 02/31] gnu: Add ocaml-domain-name pukkamustard
  2021-08-09  7:00       ` [bug#49867] [PATCH v2 03/31] gnu: Add ocaml-macaddr pukkamustard
@ 2021-08-09  7:00       ` pukkamustard
  2021-08-09  7:00       ` [bug#49867] [PATCH v2 05/31] gnu: Add ocaml-ipaddr-cstruct pukkamustard
                         ` (26 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:00 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-ipaddr): 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 34be7e5497..c167836db5 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7404,6 +7404,25 @@ another.")
 address representations.")
     (license license:isc)))
 
+(define-public ocaml-ipaddr
+  (package
+    (inherit ocaml-macaddr)
+    (name "ocaml-ipaddr")
+    (arguments `(#:package "ipaddr"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-macaddr" ,ocaml-macaddr)
+       ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
+       ("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-domain-name" ,ocaml-domain-name)))
+    (native-inputs
+     `(("ocaml-ounit" ,ocaml-ounit)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)))
+    (synopsis "OCaml library for manipulation of IP address representations")
+    (description "This OCaml library provides functions for manipulating IP
+address representations.  It supports IPv4 and IPv6.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 05/31] gnu: Add ocaml-ipaddr-cstruct.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (2 preceding siblings ...)
  2021-08-09  7:00       ` [bug#49867] [PATCH v2 04/31] gnu: Add ocaml-ipaddr pukkamustard
@ 2021-08-09  7:00       ` pukkamustard
  2021-08-09  7:00       ` [bug#49867] [PATCH v2 06/31] gnu: Add ocaml-ipaddr-sexp pukkamustard
                         ` (25 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:00 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-ipaddr-cstruct): 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 c167836db5..e47512ec18 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7423,6 +7423,19 @@ address representations.")
 address representations.  It supports IPv4 and IPv6.")
     (license license:isc)))
 
+(define-public ocaml-ipaddr-cstruct
+  (package
+    (inherit ocaml-macaddr)
+    (name "ocaml-ipaddr-cstruct")
+    (arguments `(#:package "ipaddr-cstruct"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-ipaddr" ,ocaml-ipaddr)
+       ("ocaml-cstruct" ,ocaml-cstruct)))
+    (synopsis "OCaml library for manipulation of IP addresses as C-like structres")
+    (description "This OCaml library provides functions for manipulating as
+C-like structures using the @code{ocaml-cstruct} library.")))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 06/31] gnu: Add ocaml-ipaddr-sexp.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (3 preceding siblings ...)
  2021-08-09  7:00       ` [bug#49867] [PATCH v2 05/31] gnu: Add ocaml-ipaddr-cstruct pukkamustard
@ 2021-08-09  7:00       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 07/31] gnu: Add ocaml-conduit pukkamustard
                         ` (24 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:00 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e47512ec18..880b4d7836 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7436,6 +7436,23 @@ address representations.  It supports IPv4 and IPv6.")
     (description "This OCaml library provides functions for manipulating as
 C-like structures using the @code{ocaml-cstruct} library.")))
 
+(define-public ocaml-ipaddr-sexp
+  (package
+    (inherit ocaml-macaddr)
+    (name "ocaml-ipaddr-sexp")
+    (arguments `(#:package "ipaddr-sexp"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-ipaddr" ,ocaml-ipaddr)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-sexplib0" ,ocaml-sexplib0)))
+    (native-inputs
+     `(("ocaml-ipaddr-cstruct" ,ocaml-ipaddr-cstruct)
+       ("ocaml-ounit" ,ocaml-ounit)))
+    (synopsis "OCaml library for manipulation of IP addresses as S-expressions")
+    (description "This OCaml library provides functions for manipulating as
+S-expressions using the @code{ocaml-sexp} library.")))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 07/31] gnu: Add ocaml-conduit.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (4 preceding siblings ...)
  2021-08-09  7:00       ` [bug#49867] [PATCH v2 06/31] gnu: Add ocaml-ipaddr-sexp pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 08/31] gnu: Add ocaml-conduit-lwt pukkamustard
                         ` (23 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-conduit): 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 880b4d7836..efd21d56e6 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7453,6 +7453,38 @@ C-like structures using the @code{ocaml-cstruct} library.")))
     (description "This OCaml library provides functions for manipulating as
 S-expressions using the @code{ocaml-sexp} library.")))
 
+(define-public ocaml-conduit
+  (package
+    (name "ocaml-conduit")
+    (version "4.0.0")
+    (home-page "https://github.com/mirage/ocaml-conduit")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0ipm6fkmvgsyfj5f5p057av8kykli5rh8qzw7ycdrakdk7gzvhi0"))))
+    (build-system dune-build-system)
+    (arguments `(#:package "conduit"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-sexplib" ,ocaml-sexplib)
+       ("ocaml-astring" ,ocaml-astring)
+       ("ocaml-uri" ,ocaml-uri)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-ipaddr" ,ocaml-ipaddr)
+       ("ocaml-ipaddr-sexp" ,ocaml-ipaddr-sexp)))
+    (synopsis "OCaml library for establishing TCP and SSL/TLS connections")
+    (description "This OCaml library provides an abstraction for establishing
+TCP and SSL/TLS connections.  This allows using the same type signatures
+regardless of the SSL library or platform being used.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 08/31] gnu: Add ocaml-conduit-lwt.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (5 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 07/31] gnu: Add ocaml-conduit pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 09/31] gnu: Add ocaml-afl-persistent pukkamustard
                         ` (22 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-conduit-lwt): 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 efd21d56e6..6591841e33 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7485,6 +7485,24 @@ TCP and SSL/TLS connections.  This allows using the same type signatures
 regardless of the SSL library or platform being used.")
     (license license:isc)))
 
+(define-public ocaml-conduit-lwt
+  (package
+    (inherit ocaml-conduit)
+    (name "ocaml-conduit-lwt")
+    (arguments `(#:package "conduit-lwt"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-sexplib" ,ocaml-sexplib)
+       ("ocaml-conduit" ,ocaml-conduit)
+       ("ocaml-lwt" ,ocaml-lwt)))
+    (synopsis "OCaml library for establishing TCP and SSL/TLS connections
+using Lwt")
+    (description "This OCaml library provides the abstractions for
+establishing TCP and SSL/TLS connections from @code{ocaml-conduit} using
+@code{ocaml-lwt}.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 09/31] gnu: Add ocaml-afl-persistent.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (6 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 08/31] gnu: Add ocaml-conduit-lwt pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 10/31] gnu: Add ocaml-pprint pukkamustard
                         ` (21 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: Xinglu Chen

From: Xinglu Chen <public@yoctocell.xyz>

* gnu/packages/ocaml.scm (ocaml-afl-persistent): 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 6591841e33..9cb03d94ac 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7543,6 +7543,40 @@ It makes it possible to run pure OCaml programs in JavaScript environment like
 browsers and Node.js.")
     (license license:lgpl2.1+)))
 
+(define-public ocaml-afl-persistent
+  (package
+    (name "ocaml-afl-persistent")
+    (version "1.3")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/stedolan/ocaml-afl-persistent")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+           "06yyds2vcwlfr2nd3gvyrazlijjcrd1abnvkfpkaadgwdw3qam1i"))))
+    (build-system ocaml-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'build
+           (lambda _
+             (invoke "./build.sh")))
+         ;; XXX: The tests are already run in the build.sh script.
+         (delete 'check))))
+    (native-inputs
+     `(("opam" ,opam)))
+    (home-page "https://github.com/stedolan/ocaml-afl-persistent")
+    (synopsis "Use afl-fuzz in persistent mode")
+    (description
+      "afl-fuzz normally works by repeatedly forking the program being tested.
+Using this package, you can run afl-fuzz in ``persistent mode'', which avoids
+repeated forking and is much faster.")
+    (license license:expat)))
+
 (define-public ocaml-bibtex2html
   (package
     (name "ocaml-bibtex2html")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 10/31] gnu: Add ocaml-pprint.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (7 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 09/31] gnu: Add ocaml-afl-persistent pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar pukkamustard
                         ` (20 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-pprint): 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 9cb03d94ac..5a7acb4ba8 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7503,6 +7503,31 @@ establishing TCP and SSL/TLS connections from @code{ocaml-conduit} using
 @code{ocaml-lwt}.")
     (license license:isc)))
 
+(define-public ocaml-pprint
+  (package
+    (name "ocaml-pprint")
+    (version "20200410")
+    (home-page "https://github.com/fpottier/pprint")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "16xc0rd4yj1y9rrs9fbhidd08icy4pc1plx48hp0xs6vnkh1wxjm"))))
+    (build-system dune-build-system)
+    (synopsis "OCaml pretty-printing combinator library and rendering
+engine")
+    (description "This OCaml library offers a set of combinators for building
+so-called documents as well as an efficient engine for converting documents to
+a textual, fixed-width format.  The engine takes care of indentation and line
+breaks, while respecting the constraints imposed by the structure of the
+document and by the text width.")
+    (license license:lgpl2.0)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (8 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 10/31] gnu: Add ocaml-pprint pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  9:51         ` Xinglu Chen
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 12/31] gnu: Add ocaml-eqaf pukkamustard
                         ` (19 subsequent siblings)
  29 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 5a7acb4ba8..dba715d2f5 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7528,6 +7528,42 @@ breaks, while respecting the constraints imposed by the structure of the
 document and by the text width.")
     (license license:lgpl2.0)))
 
+(define-public ocaml-crowbar
+  (package
+    (name "ocaml-crowbar")
+    (version "0.2")
+    (home-page "https://github.com/stedolan/crowbar")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0wjfc9irvirfkic32ivvj6qb7r838w08b0d3vmngigbjpjyc9b14"))))
+    (build-system dune-build-system)
+    (arguments
+     ;; Tests require ocaml-xmldiff which requires OCaml 4.12.0
+     `(#:tests? #f))
+    (propagated-inputs
+     `(("ocaml-ocplib-endian" ,ocaml-ocplib-endian)
+       ("ocaml-cmdliner" ,ocaml-cmdliner)
+       ("ocaml-afl-persistent" ,ocaml-afl-persistent)))
+    (native-inputs
+     `(("ocaml-calendar" ,ocaml-calendar)
+       ("ocaml-fpath" ,ocaml-fpath)
+       ("ocaml-uucp" ,ocaml-uucp)
+       ("ocaml-uunf" ,ocaml-uunf)
+       ("ocaml-uutf" ,ocaml-uutf)
+       ("ocaml-pprint" ,ocaml-pprint)))
+    (synopsis "Ocaml library for tests, let a fuzzer find failing cases")
+    (description "Crowbar is a library for testing code, combining QuickCheck-style
+property-based testing and the magical bug-finding powers of
+[afl-fuzz](http://lcamtuf.coredump.cx/afl/).")
+    (license license:expat)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 12/31] gnu: Add ocaml-eqaf.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (9 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto pukkamustard
                         ` (18 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-eqaf): 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 dba715d2f5..7101cc6c2f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7564,6 +7564,34 @@ property-based testing and the magical bug-finding powers of
 [afl-fuzz](http://lcamtuf.coredump.cx/afl/).")
     (license license:expat)))
 
+(define-public ocaml-eqaf
+  (package
+    (name "ocaml-eqaf")
+    (version "0.7")
+    (home-page "https://github.com/mirage/eqaf")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "06hsnnjax1kb3qsi3cj0nyyz8c2hj2gbw3h517gpjinpnwy2fr85"))))
+    (build-system dune-build-system)
+    (propagated-inputs
+     ;; required to build the eqaf.cstruct library (see https://github.com/mirage/eqaf/pull/27)
+     `(("ocaml-bigarray-compat" ,ocaml-bigarray-compat)
+       ("ocaml-cstruct" ,ocaml-cstruct)))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)
+       ("ocaml-crowbar" ,ocaml-crowbar)))
+    (synopsis "OCaml library for constant-time equal function on string")
+    (description "This OCaml library provides an equal function on string in
+constant-time to avoid timing-attack with crypto stuff.")
+    (license license:expat)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (10 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 12/31] gnu: Add ocaml-eqaf pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-21 14:01         ` Julien Lepiller
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 14/31] gnu: Add ocaml-duration pukkamustard
                         ` (17 subsequent siblings)
  29 siblings, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7101cc6c2f..c6cdd3a318 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7592,6 +7592,37 @@ property-based testing and the magical bug-finding powers of
 constant-time to avoid timing-attack with crypto stuff.")
     (license license:expat)))
 
+(define-public ocaml-mirage-crypto
+  (package
+    (name "ocaml-mirage-crypto")
+    (version "0.10.3")
+    (home-page "https://github.com/mirage/mirage-crypto")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0j7x07c8xy8bmqp9ad1cib6j69dy7acjg9m1d7pn0dnmbkrl8fiz"))))
+    (build-system dune-build-system)
+    (arguments `(#:package "mirage-crypto"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-eqaf" ,ocaml-eqaf)
+       ("ocaml-bigarray-compat" ,ocaml-bigarray-compat)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("ocaml-ounit" ,ocaml-ounit)))
+    (synopsis "OCaml library provding cryptographic primitives")
+    (description "This OCaml library provides symmetric ciphers (DES, AES,
+RC4, ChaCha20/Poly1305), and hashes (MD5, SHA-1, SHA-2).  This library can be
+used from MirageOS unikernels.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 14/31] gnu: Add ocaml-duration.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (11 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 15/31] gnu: Add ocaml-randomconv pukkamustard
                         ` (16 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-duration): 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 c6cdd3a318..53c7c3cc7b 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7623,6 +7623,31 @@ RC4, ChaCha20/Poly1305), and hashes (MD5, SHA-1, SHA-2).  This library can be
 used from MirageOS unikernels.")
     (license license:isc)))
 
+(define-public ocaml-duration
+  (package
+    (name "ocaml-duration")
+    (version "0.1.3")
+    (home-page "https://github.com/hannesm/duration")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0ka4cv9581iaa6q1k02ddrpz7f53k3wk7rpq43j1lrdm4vl2jk4w"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)))
+    (synopsis "OCaml library providing conversions between various time units")
+    (description "This OCaml library provides functions for representing a
+time duration as an usigned 64 bit integer.  This can be used for conversions
+between various time units.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 15/31] gnu: Add ocaml-randomconv.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (12 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 14/31] gnu: Add ocaml-duration pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 16/31] gnu: Add ocaml-mirage-crypto-rng pukkamustard
                         ` (15 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-randomconv): 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 53c7c3cc7b..669faf9729 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7648,6 +7648,31 @@ time duration as an usigned 64 bit integer.  This can be used for conversions
 between various time units.")
     (license license:isc)))
 
+(define-public ocaml-randomconv
+  (package
+    (name "ocaml-randomconv")
+    (version "0.1.3")
+    (home-page "https://github.com/hannesm/randomconv")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0pzq2zqz5bpy2snsvmn82hg79wfd0lmbbbhmhdvc8k20km86jqy7"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)))
+    (synopsis "OCaml library for converting random byte vectors to random numer")
+    (description
+     "This Ocaml library provides functions for converting random byte vectors
+as (C-like structures using @code{ocaml-cstruct}) to OCaml native numbers.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 16/31] gnu: Add ocaml-mirage-crypto-rng.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (13 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 15/31] gnu: Add ocaml-randomconv pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 17/31] gnu: Add ocaml-mirage-crypto-pk pukkamustard
                         ` (14 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-mirage-crypto-rng): 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 669faf9729..b6cf98b82f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7673,6 +7673,27 @@ between various time units.")
 as (C-like structures using @code{ocaml-cstruct}) to OCaml native numbers.")
     (license license:isc)))
 
+(define-public ocaml-mirage-crypto-rng
+  (package
+    (inherit ocaml-mirage-crypto)
+    (name  "ocaml-mirage-crypto-rng")
+    (arguments `(#:package "mirage-crypto-rng"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-duration" ,ocaml-duration)
+       ("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-mirage-crypto" ,ocaml-mirage-crypto)
+       ("ocaml-mtime" ,ocaml-mtime)
+       ("ocaml-lwt" ,ocaml-lwt)))
+    (native-inputs
+     `(("ocaml-ounit" ,ocaml-ounit)
+       ("ocaml-randomconv" ,ocaml-randomconv)))
+    (synopsis "Cryptographically secure pseudo-random number generator in
+OCaml")
+    (description "@code{ocaml-mirage-crypto-rng} provides an OCaml random
+number generator interface, and implementations.")))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 17/31] gnu: Add ocaml-mirage-crypto-pk.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (14 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 16/31] gnu: Add ocaml-mirage-crypto-rng pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 18/31] gnu: Add ocaml-ptime pukkamustard
                         ` (13 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-mirage-crypto-pk): 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 b6cf98b82f..82786922b2 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7694,6 +7694,31 @@ OCaml")
     (description "@code{ocaml-mirage-crypto-rng} provides an OCaml random
 number generator interface, and implementations.")))
 
+(define-public ocaml-mirage-crypto-pk
+  (package
+    (inherit ocaml-mirage-crypto)
+    (name  "ocaml-mirage-crypto-pk")
+    (arguments `(#:package "mirage-crypto-pk"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-mirage-crypto" ,ocaml-mirage-crypto)
+       ("ocaml-mirage-crypto-rng" ,ocaml-mirage-crypto-rng)
+       ("ocaml-mtime" ,ocaml-mtime)
+       ("ocaml-sexplib" ,ocaml-sexplib)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-zarith" ,ocaml-zarith)
+       ("ocaml-eqaf" ,ocaml-eqaf)
+       ("ocaml-rresult" ,ocaml-rresult)))
+    (native-inputs
+     `(("ocaml-ounit" ,ocaml-ounit)
+       ("ocaml-randomconv" ,ocaml-randomconv)))
+    (inputs `(("gmp" ,gmp)))
+    (synopsis "OCaml library providing public-key cryptography")
+    (description "@code{ocaml-mirage-crypto-pk} provides public-key
+cryptography (RSA, DSA, DH) for OCaml.")))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 18/31] gnu: Add ocaml-ptime.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (15 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 17/31] gnu: Add ocaml-mirage-crypto-pk pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 19/31] gnu: Add ocaml-asn1-combinators pukkamustard
                         ` (12 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 82786922b2..7af276a517 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7719,6 +7719,45 @@ number generator interface, and implementations.")))
     (description "@code{ocaml-mirage-crypto-pk} provides public-key
 cryptography (RSA, DSA, DH) for OCaml.")))
 
+(define-public ocaml-ptime
+  (package
+    (name "ocaml-ptime")
+    (version "0.8.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://erratique.ch/software/ptime/releases/ptime-"
+                       version ".tbz"))
+       (sha256
+        (base32
+         "1fxq57xy1ajzfdnvv5zfm7ap2nf49znw5f9gbi4kb9vds942ij27"))))
+    (build-system ocaml-build-system)
+    (arguments
+     `(#:build-flags (list "build" "--with-js_of_ocaml" "false"
+                           "--tests" "true")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))))
+    (propagated-inputs
+     `(("ocaml-result" ,ocaml-result)))
+    (native-inputs
+     `(("ocamlbuild" ,ocamlbuild)
+       ("ocaml-topkg" ,ocaml-topkg)
+       ("opam" ,opam)))
+    (properties `((upstream-name . "ptime")))
+    (home-page "https://erratique.ch/software/ptime")
+    (synopsis "POSIX time for OCaml")
+    (description "Ptime has 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.
+
+The additional Ptime_clock library provides access to a system POSIX clock and
+to the system's current time zone offset.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 19/31] gnu: Add ocaml-asn1-combinators.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (16 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 18/31] gnu: Add ocaml-ptime pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 20/31] gnu: Add ocaml-ppx-deriving pukkamustard
                         ` (11 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-asn1-combinators): 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 7af276a517..de3ae3eb9d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7758,6 +7758,41 @@ The additional Ptime_clock library provides access to a system POSIX clock and
 to the system's current time zone offset.")
     (license license:isc)))
 
+(define-public ocaml-asn1-combinators
+  (package
+    (name "ocaml-asn1-combinators")
+    (version "0.2.5")
+    (home-page "https://github.com/mirleft/ocaml-asn1-combinators")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0n7afzyqc3b7g7rl54ccw31431h6g145zvpzg34q0y4m5gzjv5h5"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-zarith" ,ocaml-zarith)
+       ("ocaml-bigarray-compat" ,ocaml-bigarray-compat)
+       ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
+       ("ocaml-ptime" ,ocaml-ptime)))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)))
+    (inputs `(("gmp" ,gmp)))
+    (synopsis "OCaml library for embedding typed ASN.1 grammars")
+    (description "@{ocaml-asn1-combinators} is an OCaml library for expressing
+ASN.1 in OCaml.  This allows you to skip the notation part of ASN.1, and embed
+the abstract syntax directly in the language.  These abstract syntax
+representations can be used for parsing, serialization, or random testing.
+
+The only ASN.1 encodings currently supported are BER and DER.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 20/31] gnu: Add ocaml-ppx-deriving.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (17 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 19/31] gnu: Add ocaml-asn1-combinators pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 21/31] gnu: Add ocaml-ppx-deriving-yojson pukkamustard
                         ` (10 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index de3ae3eb9d..92562d1c3a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4523,7 +4523,38 @@ speedup, polymorphic variants and optional syntax for tuples and variants.
 yojson package.  The program @code{atdgen} can be used to derive OCaml-JSON
 serializers and deserializers from type definitions.")
     (license license:bsd-3)))
- 
+
+(define-public ocaml-ppx-deriving
+  (package
+    (name "ocaml-ppx-deriving")
+    (version "5.2.1")
+    (home-page "https://github.com/ocaml-ppx/ppx_deriving")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1wqcnw4wi6pfjjhixpakckm03dpj990259za432804471a6spm2j"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-ppx-derivers" ,ocaml-ppx-derivers)
+       ("ocaml-ppxlib" ,ocaml-ppxlib)
+       ("ocaml-result" ,ocaml-result)))
+    (native-inputs
+     `(("ocaml-cppo" ,ocaml-cppo)
+       ("ocaml-ounit2" ,ocaml-ounit2)))
+    (properties `((upstream-name . "ppx_deriving")))
+    (synopsis "Type-driven code generation for OCaml")
+    (description "This OCaml library provides common infrastructure for
+generating code based on type definitions, and a set of useful plugins for
+common tasks.")
+    (license license:expat)))
+
 (define-public ocaml-craml
   (package
     (name "ocaml-craml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 21/31] gnu: Add ocaml-ppx-deriving-yojson.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (18 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 20/31] gnu: Add ocaml-ppx-deriving pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 22/31] gnu: Add ocaml-mirage-crypto-ec pukkamustard
                         ` (9 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-ppx-deriving-yojson): 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 92562d1c3a..0a431b2563 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4555,6 +4555,35 @@ generating code based on type definitions, and a set of useful plugins for
 common tasks.")
     (license license:expat)))
 
+(define-public ocaml-ppx-deriving-yojson
+  (package
+    (name "ocaml-ppx-deriving-yojson")
+    (version "3.6.1")
+    (home-page "https://github.com/ocaml-ppx/ppx_deriving_yojson")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1icz5h6p3pfj7my5gi7wxpflrb8c902dqa17f9w424njilnpyrbk"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-yojson" ,ocaml-yojson)
+       ("ocaml-result" ,ocaml-result)
+       ("ocaml-ppx-deriving" ,ocaml-ppx-deriving)
+       ("ocaml-ppxlib" ,ocaml-ppxlib)))
+    (native-inputs `(("ocaml-ounit" ,ocaml-ounit)))
+    (properties `((upstream-name . "ppx_deriving_yojson")))
+    (synopsis "JSON codec generator for OCaml")
+    (description "@code{ocaml-ppx-deriving-yojson} is an OCaml ppx_deriving
+plugin that provides a JSON codec generator.")
+    (license license:expat)))
+
 (define-public ocaml-craml
   (package
     (name "ocaml-craml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 22/31] gnu: Add ocaml-mirage-crypto-ec.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (19 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 21/31] gnu: Add ocaml-ppx-deriving-yojson pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 23/31] gnu: Add ocaml-gmap pukkamustard
                         ` (8 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-mirage-crypto-ec): 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 0a431b2563..7ef2468d9a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7853,6 +7853,40 @@ representations can be used for parsing, serialization, or random testing.
 The only ASN.1 encodings currently supported are BER and DER.")
     (license license:isc)))
 
+(define-public ocaml-mirage-crypto-ec
+  ;; FIXME: This package contains generated code (see
+  ;; https://github.com/mirage/mirage-crypto/blob/main/ec/native/README.md). These
+  ;; should be re-generated during the build process.
+  (package
+    (inherit ocaml-mirage-crypto)
+    (name "ocaml-mirage-crypto-ec")
+    (arguments `(#:package "mirage-crypto-ec"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-eqaf" ,ocaml-eqaf)
+       ("ocaml-mirage-crypto" ,ocaml-mirage-crypto)
+       ("ocaml-mirage-crypto-rng" ,ocaml-mirage-crypto-rng)
+       ("gmp" ,gmp)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("ocaml-randomconv" ,ocaml-randomconv)
+       ("ocaml-ounit" ,ocaml-ounit)
+       ("ocaml-mirage-crypto-pk" ,ocaml-mirage-crypto-pk)
+       ("ocaml-hex" ,ocaml-hex)
+       ("ocaml-alcotest" ,ocaml-alcotest)
+       ("ocaml-asn1-combinators" ,ocaml-asn1-combinators)
+       ("ocaml-ppx-deriving-yojson" ,ocaml-ppx-deriving-yojson)
+       ("ocaml-ppx-deriving" ,ocaml-ppx-deriving)
+       ("ocaml-yojson" ,ocaml-yojson)))
+    (synopsis "OCaml library providing Elliptic Curve Cryptography")
+    (description "This OCaml library provides an implementation of key exchange
+(ECDH) and digital signature (ECDSA/EdDSA) algorithms.  The curves P224
+(SECP224R1), P256 (SECP256R1), P384 (SECP384R1),P521 (SECP521R1), and 25519
+(X25519, Ed25519) are implemented by this package.")
+    ;; See https://github.com/mirage/mirage-crypto/blob/main/ec/LICENSE.md
+    (license license:expat)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 23/31] gnu: Add ocaml-gmap.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (20 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 22/31] gnu: Add ocaml-mirage-crypto-ec pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 24/31] gnu: Add ocaml-pbkdf pukkamustard
                         ` (7 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-gmap): 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 7ef2468d9a..d37a40d22e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7887,6 +7887,32 @@ The only ASN.1 encodings currently supported are BER and DER.")
     ;; See https://github.com/mirage/mirage-crypto/blob/main/ec/LICENSE.md
     (license license:expat)))
 
+(define-public ocaml-gmap
+  (package
+    (name "ocaml-gmap")
+    (version "0.3.0")
+    (home-page "https://github.com/hannesm/gmap")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0880mhcybr662k6wnahx5mwbialh878kkzxacn47qniadd21x411"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)
+       ("ocaml-fmt" ,ocaml-fmt)))
+    (synopsis "OCaml library for heterogenous maps over a Generalized
+Algebraic Data Type")
+    (description "@code{ocaml-gmap} exposes an OCaml functor which can be used
+to create a type-safe heterogenous maps.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 24/31] gnu: Add ocaml-pbkdf.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (21 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 23/31] gnu: Add ocaml-gmap pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 25/31] gnu: Add ocaml-cstruct-unix pukkamustard
                         ` (6 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-pbkdf): 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 d37a40d22e..df825d1ec3 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7913,6 +7913,32 @@ Algebraic Data Type")
 to create a type-safe heterogenous maps.")
     (license license:isc)))
 
+(define-public ocaml-pbkdf
+  (package
+    (name "ocaml-pbkdf")
+    (version "1.1.0")
+    (home-page "https://github.com/abeaumont/ocaml-pbkdf")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0scq1i7hiy8dgjdfrcaca3k7wzys35k1g2cdg7v4kfdqr6q1scb3"))))
+    (build-system dune-build-system)
+    (propagated-inputs
+     `(("ocaml-mirage-crypto" ,ocaml-mirage-crypto)))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)))
+    (synopsis "OCaml library for password based key derivation functions
+(PBKDF) from PKCS#5")
+    (description "This package provides an OCaml implementation of PBKDF 1 and
+2 as defined by PKCS#5 using @code{ocaml-mirage-crypto}.")
+    (license license:bsd-2)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 25/31] gnu: Add ocaml-cstruct-unix.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (22 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 24/31] gnu: Add ocaml-pbkdf pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 26/31] gnu: Add ocaml-x509 pukkamustard
                         ` (5 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index df825d1ec3..e358042e41 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3412,6 +3412,23 @@ to access C-like structures directly from OCaml.  It supports both reading and
 writing to these structures, and they are accessed via the Bigarray module.")
     (license license:isc)))
 
+(define-public ocaml-cstruct-unix
+  (package
+    (inherit ocaml-cstruct)
+    (name "ocaml-cstruct-unix")
+    (build-system dune-build-system)
+    (arguments
+     `(#:package "cstruct-unix"
+       #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)))
+    (synopsis "Unix variation of the @code{ocaml-cstruct} library")
+    (description "Cstruct is a library and syntax extension to make it easier
+to access C-like structures directly from OCaml.  It supports both reading and
+writing to these structures, and they are accessed via the `Bigarray`
+module.")
+    (license license:isc)))
+
 (define-public ocaml-hex
   (package
     (name "ocaml-hex")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 26/31] gnu: Add ocaml-x509.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (23 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 25/31] gnu: Add ocaml-cstruct-unix pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 27/31] gnu: Add ocaml-ca-certs pukkamustard
                         ` (4 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e358042e41..b7bdc8c711 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7956,6 +7956,52 @@ to create a type-safe heterogenous maps.")
 2 as defined by PKCS#5 using @code{ocaml-mirage-crypto}.")
     (license license:bsd-2)))
 
+(define-public ocaml-x509
+  (package
+    (name "ocaml-x509")
+    (version "0.14.0")
+    (home-page "https://github.com/mirleft/ocaml-x509")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0b51vzyxxkhwgx12dg55clb1lb971cxlmsk4wlxzs5h115j5hcy7"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-asn1-combinators" ,ocaml-asn1-combinators)
+       ("ocaml-ptime" ,ocaml-ptime)
+       ("ocaml-base64" ,ocaml-base64)
+       ("ocaml-mirage-crypto" ,ocaml-mirage-crypto)
+       ("ocaml-mirage-crypto-pk" ,ocaml-mirage-crypto-pk)
+       ("ocaml-mirage-crypto-ec" ,ocaml-mirage-crypto-ec)
+       ("ocaml-mirage-crypto-rng" ,ocaml-mirage-crypto-rng)
+       ("ocaml-rresult" ,ocaml-rresult)
+       ("ocaml-fmt" ,ocaml-fmt)
+       ("ocaml-gmap" ,ocaml-gmap)
+       ("ocaml-domain-name" ,ocaml-domain-name)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-pbkdf" ,ocaml-pbkdf)))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)
+       ("ocaml-cstruct-unix" ,ocaml-cstruct-unix)))
+    (synopsis "Public Key Infrastructure (RFC 5280, PKCS) purely in OCaml")
+(description "X.509 is a public key infrastructure used mostly on the
+Internet.  It consists of certificates which include public keys and
+identifiers, signed by an authority.  Authorities must be exchanged over a
+second channel to establish the trust relationship.  This OCaml library
+implements most parts of RFC5280 and RFC6125.  The Public Key Cryptography
+Standards (PKCS) defines encoding and decoding (in ASN.1 DER and PEM format),
+which is also implemented by this library --- namely PKCS 1, PKCS 5, PKCS 7,
+PKCS 8, PKCS 9, PKCS 10, and PKCS 12.")
+    (license license:bsd-2)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 27/31] gnu: Add ocaml-ca-certs.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (24 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 26/31] gnu: Add ocaml-x509 pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 28/31] gnu: Add ocaml-lwt-ssl pukkamustard
                         ` (3 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-ca-certs): 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 b7bdc8c711..b3becac967 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8002,6 +8002,44 @@ which is also implemented by this library --- namely PKCS 1, PKCS 5, PKCS 7,
 PKCS 8, PKCS 9, PKCS 10, and PKCS 12.")
     (license license:bsd-2)))
 
+(define-public ocaml-ca-certs
+  (package
+    (name "ocaml-ca-certs")
+    (version "0.2.1")
+    (home-page "https://github.com/mirage/ca-certs")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0qkxdrqyah24fz80hwkycdj50nybfjfz9b04qscv01r2ifb0kqy5"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."
+                 ;; Tests are failing as they require certificates to be in /etc/ssl/certs
+                 #:tests? #f))
+    (propagated-inputs
+     `(("ocaml-astring" ,ocaml-astring)
+       ("ocaml-bos" ,ocaml-bos)
+       ("ocaml-fpath" ,ocaml-fpath)
+       ("ocaml-rresult" ,ocaml-rresult)
+       ("ocaml-ptime" ,ocaml-ptime)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-mirage-crypto" ,ocaml-mirage-crypto)
+       ("ocaml-x509" ,ocaml-x509)))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)))
+    (synopsis
+     "Detect root CA certificates from the operating system")
+    (description
+     "TLS requires a set of root anchors (Certificate Authorities) to
+authenticate servers.  This library exposes this list so that it can be
+registered with ocaml-tls.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 28/31] gnu: Add ocaml-lwt-ssl.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (25 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 27/31] gnu: Add ocaml-ca-certs pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 29/31] gnu: Add ocaml-conduit-lwt-unix pukkamustard
                         ` (2 subsequent siblings)
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-lwt-ssl): 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 b3becac967..3a0cc08c1e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7580,6 +7580,32 @@ establishing TCP and SSL/TLS connections from @code{ocaml-conduit} using
 @code{ocaml-lwt}.")
     (license license:isc)))
 
+(define-public ocaml-lwt-ssl
+  (package
+    (name "ocaml-lwt-ssl")
+    (version "1.1.3")
+    (home-page "https://github.com/ocsigen/lwt_ssl")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0v417ch5zn0yknj156awa5mrq3mal08pbrvsyribbn63ix6f9y3p"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-lwt" ,ocaml-lwt)
+       ("ocaml-ssl" ,ocaml-ssl)))
+    (properties `((upstream-name . "lwt_ssl")))
+    (synopsis "OpenSSL binding for OCaml with concurrent I/O")
+    (description "This OCaml library provides an Lwt-enabled wrapper around
+@code{ocaml-ssl}, that performs I/O concurrently.")
+    (license license:lgpl2.1+))) ; with linking exception
+
 (define-public ocaml-pprint
   (package
     (name "ocaml-pprint")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 29/31] gnu: Add ocaml-conduit-lwt-unix.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (26 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 28/31] gnu: Add ocaml-lwt-ssl pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 30/31] gnu: Add ocaml-magic-mime pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 31/31] gnu: Add ocaml-cohttp-lwt-unix pukkamustard
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-conduit-lwt-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 3a0cc08c1e..b35994231d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7606,6 +7606,32 @@ establishing TCP and SSL/TLS connections from @code{ocaml-conduit} using
 @code{ocaml-ssl}, that performs I/O concurrently.")
     (license license:lgpl2.1+))) ; with linking exception
 
+(define-public ocaml-conduit-lwt-unix
+  (package
+    (inherit ocaml-conduit)
+    (name "ocaml-conduit-lwt-unix")
+    (arguments `(#:package "conduit-lwt-unix"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-logs" ,ocaml-logs)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-conduit-lwt" ,ocaml-conduit-lwt)
+       ("ocaml-lwt" ,ocaml-lwt)
+       ("ocaml-uri" ,ocaml-uri)
+       ("ocaml-ipaddr" ,ocaml-ipaddr)
+       ("ocaml-ipaddr-sexp" ,ocaml-ipaddr-sexp)
+       ("ocaml-ca-certs" ,ocaml-ca-certs)))
+    (native-inputs
+     `(("ocaml-lwt-log" ,ocaml-lwt-log)
+       ("ocaml-ssl" ,ocaml-ssl)
+       ("ocaml-lwt-ssl" ,ocaml-lwt-ssl)))
+    (synopsis "OCaml library for establishing TCP and SSL/TLC connections
+using Lwt_unix")
+    (description "This OCaml library provides an implementation
+for establishing TCP and SSL/TLS connections for the @code{ocaml-conduit}
+signatures using Lwt_unix.")
+    (license license:isc)))
+
 (define-public ocaml-pprint
   (package
     (name "ocaml-pprint")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 30/31] gnu: Add ocaml-magic-mime.
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (27 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 29/31] gnu: Add ocaml-conduit-lwt-unix pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 31/31] gnu: Add ocaml-cohttp-lwt-unix pukkamustard
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-magic-mime): 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 b35994231d..42e6fd2e94 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7424,6 +7424,31 @@ JavaScript backend, or @code{ocaml-cohttp-mirage} for the MirageOS unikernel
 version of the library.  All of these implementations share the same IO logic
 from this module.")))
 
+(define-public ocaml-magic-mime
+  (package
+    (name "ocaml-magic-mime")
+    (version "1.2.0")
+    (home-page "https://github.com/mirage/ocaml-magic-mime")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1pmwxw5n0lxbp7b9z1wplkn0cfl816cbacx3cdj2912n5zyjpjnk"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (synopsis "OCaml library for mapping filenames to common MIME types")
+    (description "This library contains a database of MIME types that maps
+filename extensions into MIME types suitable for use in many Internet
+protocols such as HTTP or e-mail.  It is generated from the @file{mime.types}
+file found in Unix systems, but has no dependency on a filesystem since it
+includes the contents of the database as an ML datastructure.")
+    (license license:isc)))
+
 (define-public ocaml-domain-name
   (package
     (name "ocaml-domain-name")
-- 
2.32.0





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

* [bug#49867] [PATCH v2 31/31] gnu: Add ocaml-cohttp-lwt-unix
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
                         ` (28 preceding siblings ...)
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 30/31] gnu: Add ocaml-magic-mime pukkamustard
@ 2021-08-09  7:01       ` pukkamustard
  29 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-09  7:01 UTC (permalink / raw)
  To: 49867; +Cc: pukkamustard

* gnu/packages/ocaml.scm (ocaml-cohttp-lwt-unix): 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 42e6fd2e94..8965f5920d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7424,6 +7424,29 @@ JavaScript backend, or @code{ocaml-cohttp-mirage} for the MirageOS unikernel
 version of the library.  All of these implementations share the same IO logic
 from this module.")))
 
+(define-public ocaml-cohttp-lwt-unix
+  (package
+    (inherit ocaml-cohttp)
+    (name "ocaml-cohttp-lwt-unix")
+    (arguments `(#:package "cohttp-lwt-unix"
+                 ;; tests require network
+                 #:tests? #f))
+    (propagated-inputs
+     `(("ocaml-conduit-lwt" ,ocaml-conduit-lwt)
+       ("ocaml-conduit-lwt-unix" ,ocaml-conduit-lwt-unix)
+       ("ocaml-cmdliner" ,ocaml-cmdliner)
+       ("ocaml-magic-mime" ,ocaml-magic-mime)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-fmt" ,ocaml-fmt)
+       ("ocaml-cohttp-lwt" ,ocaml-cohttp-lwt)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+       ("ocaml-lwt" ,ocaml-lwt)
+       ("ocaml-lwt-ssl" ,ocaml-lwt-ssl)))
+    (native-inputs `(("ocaml-ounit" ,ocaml-ounit)))
+    (synopsis "OCaml HTTP implementation for Unix using Lwt")
+    (description "This Ocaml package provides an implementation of an HTTP
+client and server for Unix using the Lwt concurrency library.")))
+
 (define-public ocaml-magic-mime
   (package
     (name "ocaml-magic-mime")
-- 
2.32.0





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

* [bug#49867] [PATCH 24/29] gnu: Add ocaml-ca-certs.
  2021-08-08 12:36       ` pukkamustard
@ 2021-08-09  9:30         ` Xinglu Chen
  0 siblings, 0 replies; 99+ messages in thread
From: Xinglu Chen @ 2021-08-09  9:30 UTC (permalink / raw)
  To: pukkamustard; +Cc: 49867

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

On Sun, Aug 08 2021, pukkamustard wrote:

> Xinglu Chen <public@yoctocell.xyz> writes:
>
>>> +                 ;; Tests are failing as they require 
>>> certificates to be in /etc/ssl/certs
>>> +                 #:tests? #f))
>>
>> The same issue has been mentioned by NixOS people on their bug
>> tracker[1], they solved[2] it by reading the NIX_SSL_CERT_FILE
>> environment variable, which automatically gets set in the build
>> environment if the ‘cacert’ package is specified as an input.  I 
>> don’t
>> know if Guix does something similar.
>>
>> [1]: <https://github.com/mirage/ca-certs/issues/16>
>> [2]: <https://github.com/mirage/ca-certs/pull/17>
>>
>
> Thanks for the pointers.
>
> Inspired by the package definition for curl, I tried setting 
> NIX_SSL_CERT_FILE with native-search-paths:
>
> ```
>     (native-search-paths
>      (list
>       (search-path-specification
>        (variable "NIX_SSL_CERT_FILE")
>        (file-type 'regular)
>        (separator #f)                   ;single entry
>        (files '("/etc/ssl/certs/ca-certificates.crt")))))
> ```
>
> and adding `nss-certs` to the native-inputs.
>
> However, this does not work. Some observations/questions:
>
> - The NIX_SSL_CERT_FILE does not appear in the 
>   `environment-variables` file when running `guix build -K`. I 
>   would have expected it to be set there.
> - `nss-certs` does not provide the `ca-certificates.crt` file. It 
>   is built when creating a profile with the 
>   `ca-certificate-bundle` hook. Is this run when creating a build 
>   environment?
>
> I seem to be not understanding a lot of things about the build 
> environment ... Pointers very welcome!

Maybe the environment variables in ‘native-search-paths’ are only set if
the package is installed in a profile (in ~/.guix-profile/etc/profile)?  

I don’t think profile hooks are run in the build environment, so that’s
probably why.

In Nix, the bundle is created during the build phase[1], not sure if we
should do this too.

I think it’s fine to disable tests for now, but it would be great to see
what other people think too.

[1]: https://github.com/nixos/nixpkgs/blob/master/pkgs/data/misc/cacert/default.nix#L53

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

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

* [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar.
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar pukkamustard
@ 2021-08-09  9:51         ` Xinglu Chen
  2021-08-09 11:13           ` Julien Lepiller
  2021-08-10  8:00           ` pukkamustard
  0 siblings, 2 replies; 99+ messages in thread
From: Xinglu Chen @ 2021-08-09  9:51 UTC (permalink / raw)
  To: pukkamustard, 49867; +Cc: pukkamustard

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

On Mon, Aug 09 2021, pukkamustard wrote:

> * gnu/packages/ocaml.scm (ocaml-crowbar): New variable.
> ---
>  gnu/packages/ocaml.scm | 36 ++++++++++++++++++++++++++++++++++++
>  1 file changed, 36 insertions(+)
>
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index 5a7acb4ba8..dba715d2f5 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -7528,6 +7528,42 @@ breaks, while respecting the constraints imposed by the structure of the
>  document and by the text width.")
>      (license license:lgpl2.0)))
>  
> +(define-public ocaml-crowbar
> +  (package
> +    (name "ocaml-crowbar")
> +    (version "0.2")
> +    (home-page "https://github.com/stedolan/crowbar")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url home-page)
> +             (commit (string-append "v" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32
> +         "0wjfc9irvirfkic32ivvj6qb7r838w08b0d3vmngigbjpjyc9b14"))))
> +    (build-system dune-build-system)
> +    (arguments
> +     ;; Tests require ocaml-xmldiff which requires OCaml 4.12.0
> +     `(#:tests? #f))
> +    (propagated-inputs
> +     `(("ocaml-ocplib-endian" ,ocaml-ocplib-endian)
> +       ("ocaml-cmdliner" ,ocaml-cmdliner)
> +       ("ocaml-afl-persistent" ,ocaml-afl-persistent)))
> +    (native-inputs
> +     `(("ocaml-calendar" ,ocaml-calendar)
> +       ("ocaml-fpath" ,ocaml-fpath)
> +       ("ocaml-uucp" ,ocaml-uucp)

The ‘ocaml-uucp’ package hasn’t been packaged yet.

> +       ("ocaml-uunf" ,ocaml-uunf)
> +       ("ocaml-uutf" ,ocaml-uutf)
> +       ("ocaml-pprint" ,ocaml-pprint)))
> +    (synopsis "Ocaml library for tests, let a fuzzer find failing cases")
> +    (description "Crowbar is a library for testing code, combining QuickCheck-style
> +property-based testing and the magical bug-finding powers of
> +[afl-fuzz](http://lcamtuf.coredump.cx/afl/).")

Texinfo formatting:

  @uref{http://lcamtuf.coredump.cx/afl/, afl-fuzz}

The rest of v2 looks good.  :-)


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

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

* [bug#49867] [PATCH 21/29] gnu: Add ocaml-pbkdf.
  2021-08-08 11:21       ` pukkamustard
@ 2021-08-09  9:53         ` Xinglu Chen
  0 siblings, 0 replies; 99+ messages in thread
From: Xinglu Chen @ 2021-08-09  9:53 UTC (permalink / raw)
  To: pukkamustard; +Cc: 49867

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

On Sun, Aug 08 2021, pukkamustard wrote:

> Xinglu Chen <public@yoctocell.xyz> writes:
>
>>> +    (description "An OCaml implementation of PBKDF 1 and 2 as 
>>> defined by
>>> +PKCS#5 using @code{ocaml-mirage-crypto}.")
>>
>> The description should contain full sentences, maybe
>>
>>   "This package provides an OCaml implementation of …"
>
> Changed to: "This package provides an OCaml implementation of 
> PBKDF 1 and 2 as defined by PKCS#5 using 
> @code{ocaml-mirage-crypto}."
>
> Note: A version 1.2.0 was released recently. However, it requires 
> CStruct 6.0.0. I will submit a patch to update ocaml-cstruct and 
> then ocaml-pbkdf can be updated to 1.2.0.

Cool, sounds good.

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

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

* [bug#49867] [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix.
  2021-08-09  6:55   ` pukkamustard
  2021-08-09  6:59     ` [bug#49867] [PATCH 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
  2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
@ 2021-08-09  9:55     ` Xinglu Chen
  2 siblings, 0 replies; 99+ messages in thread
From: Xinglu Chen @ 2021-08-09  9:55 UTC (permalink / raw)
  To: pukkamustard; +Cc: 49867

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

On Mon, Aug 09 2021, pukkamustard wrote:

> Xinglu Chen <public@yoctocell.xyz> writes:
>
>> I managed to package ‘ocaml-afl-persistent’ with the attached 
>> patch,
>> but it doesn’t respect the ‘--without-tests’ transformation 
>> since the
>> tests are run as part of the build phase.
>
> Fantastic! With your patch I've added ocaml-crowbar and enabled 
> tests for ocaml-eqaf in V2.
>
> Tests for ocaml-crowbar are currently disabled as they require 
> ocaml-xmldiff which requires OCaml 4.12.0.
>
>> Thanks for working on this!
>
> Thank you for your comments!
>
> V2 follows.

Great, thank you for the update!

I noticed that the ‘ocaml-uucp’ package, which is an input for ‘ocaml-crowbar’, is
missing.   Otherwise v2 LGTM!

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

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

* [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar.
  2021-08-09  9:51         ` Xinglu Chen
@ 2021-08-09 11:13           ` Julien Lepiller
  2021-08-09 12:39             ` Xinglu Chen
  2021-08-10  8:00           ` pukkamustard
  1 sibling, 1 reply; 99+ messages in thread
From: Julien Lepiller @ 2021-08-09 11:13 UTC (permalink / raw)
  To: 49867, public, pukkamustard



Le 9 août 2021 05:51:58 GMT-04:00, Xinglu Chen <public@yoctocell.xyz> a écrit :
>On Mon, Aug 09 2021, pukkamustard wrote:
>
>> * gnu/packages/ocaml.scm (ocaml-crowbar): New variable.
>> ---
>>  gnu/packages/ocaml.scm | 36 ++++++++++++++++++++++++++++++++++++
>>  1 file changed, 36 insertions(+)
>>
>> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
>> index 5a7acb4ba8..dba715d2f5 100644
>> --- a/gnu/packages/ocaml.scm
>> +++ b/gnu/packages/ocaml.scm
>> @@ -7528,6 +7528,42 @@ breaks, while respecting the constraints imposed by the structure of the
>>  document and by the text width.")
>>      (license license:lgpl2.0)))
>>  
>> +(define-public ocaml-crowbar
>> +  (package
>> +    (name "ocaml-crowbar")
>> +    (version "0.2")
>> +    (home-page "https://github.com/stedolan/crowbar")
>> +    (source
>> +     (origin
>> +       (method git-fetch)
>> +       (uri (git-reference
>> +             (url home-page)
>> +             (commit (string-append "v" version))))
>> +       (file-name (git-file-name name version))
>> +       (sha256
>> +        (base32
>> +         "0wjfc9irvirfkic32ivvj6qb7r838w08b0d3vmngigbjpjyc9b14"))))
>> +    (build-system dune-build-system)
>> +    (arguments
>> +     ;; Tests require ocaml-xmldiff which requires OCaml 4.12.0
>> +     `(#:tests? #f))
>> +    (propagated-inputs
>> +     `(("ocaml-ocplib-endian" ,ocaml-ocplib-endian)
>> +       ("ocaml-cmdliner" ,ocaml-cmdliner)
>> +       ("ocaml-afl-persistent" ,ocaml-afl-persistent)))
>> +    (native-inputs
>> +     `(("ocaml-calendar" ,ocaml-calendar)
>> +       ("ocaml-fpath" ,ocaml-fpath)
>> +       ("ocaml-uucp" ,ocaml-uucp)
>
>The ‘ocaml-uucp’ package hasn’t been packaged yet.

It has, I just pushed it yesterday :)

>
>> +       ("ocaml-uunf" ,ocaml-uunf)
>> +       ("ocaml-uutf" ,ocaml-uutf)
>> +       ("ocaml-pprint" ,ocaml-pprint)))
>> +    (synopsis "Ocaml library for tests, let a fuzzer find failing cases")
>> +    (description "Crowbar is a library for testing code, combining QuickCheck-style
>> +property-based testing and the magical bug-finding powers of
>> +[afl-fuzz](http://lcamtuf.coredump.cx/afl/).")
>
>Texinfo formatting:
>
>  @uref{http://lcamtuf.coredump.cx/afl/, afl-fuzz}
>
>The rest of v2 looks good.  :-)
>




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

* [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar.
  2021-08-09 11:13           ` Julien Lepiller
@ 2021-08-09 12:39             ` Xinglu Chen
  0 siblings, 0 replies; 99+ messages in thread
From: Xinglu Chen @ 2021-08-09 12:39 UTC (permalink / raw)
  To: Julien Lepiller, 49867, pukkamustard

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

On Mon, Aug 09 2021, Julien Lepiller wrote:

> Le 9 août 2021 05:51:58 GMT-04:00, Xinglu Chen <public@yoctocell.xyz> a écrit :
>>On Mon, Aug 09 2021, pukkamustard wrote:
>>
>>> * gnu/packages/ocaml.scm (ocaml-crowbar): New variable.
>>> ---
>>>  gnu/packages/ocaml.scm | 36 ++++++++++++++++++++++++++++++++++++
>>>  1 file changed, 36 insertions(+)
>>>
>>> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
>>> index 5a7acb4ba8..dba715d2f5 100644
>>> --- a/gnu/packages/ocaml.scm
>>> +++ b/gnu/packages/ocaml.scm
>>> @@ -7528,6 +7528,42 @@ breaks, while respecting the constraints imposed by the structure of the
>>>  document and by the text width.")
>>>      (license license:lgpl2.0)))
>>>  
>>> +(define-public ocaml-crowbar
>>> +  (package
>>> +    (name "ocaml-crowbar")
>>> +    (version "0.2")
>>> +    (home-page "https://github.com/stedolan/crowbar")
>>> +    (source
>>> +     (origin
>>> +       (method git-fetch)
>>> +       (uri (git-reference
>>> +             (url home-page)
>>> +             (commit (string-append "v" version))))
>>> +       (file-name (git-file-name name version))
>>> +       (sha256
>>> +        (base32
>>> +         "0wjfc9irvirfkic32ivvj6qb7r838w08b0d3vmngigbjpjyc9b14"))))
>>> +    (build-system dune-build-system)
>>> +    (arguments
>>> +     ;; Tests require ocaml-xmldiff which requires OCaml 4.12.0
>>> +     `(#:tests? #f))
>>> +    (propagated-inputs
>>> +     `(("ocaml-ocplib-endian" ,ocaml-ocplib-endian)
>>> +       ("ocaml-cmdliner" ,ocaml-cmdliner)
>>> +       ("ocaml-afl-persistent" ,ocaml-afl-persistent)))
>>> +    (native-inputs
>>> +     `(("ocaml-calendar" ,ocaml-calendar)
>>> +       ("ocaml-fpath" ,ocaml-fpath)
>>> +       ("ocaml-uucp" ,ocaml-uucp)
>>
>>The ‘ocaml-uucp’ package hasn’t been packaged yet.
>
> It has, I just pushed it yesterday :)

Ah, forgot to pull :-)

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

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

* [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar.
  2021-08-09  9:51         ` Xinglu Chen
  2021-08-09 11:13           ` Julien Lepiller
@ 2021-08-10  8:00           ` pukkamustard
  2021-08-10 12:04             ` Xinglu Chen
  1 sibling, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-10  8:00 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 49867

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


Xinglu Chen <public@yoctocell.xyz> writes:

>
> Texinfo formatting:
>
>   @uref{http://lcamtuf.coredump.cx/afl/, afl-fuzz}
>
> The rest of v2 looks good.  :-)

D'oh! Thanks!

The fixed patch is attached. I can also send the entire series 
again as v3 if that is easier...


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: v3-0011-gnu-Add-ocaml-crowbar.patch --]
[-- Type: text/x-patch, Size: 2098 bytes --]

From c573ec927e8fd6ed99a05b3995144ff1c0cfb0b3 Mon Sep 17 00:00:00 2001
From: pukkamustard <pukkamustard@posteo.net>
Date: Mon, 9 Aug 2021 08:06:12 +0200
Subject: [PATCH v3 11/31] gnu: Add ocaml-crowbar.

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 5a7acb4ba8..3c7a40d923 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7528,6 +7528,42 @@ breaks, while respecting the constraints imposed by the structure of the
 document and by the text width.")
     (license license:lgpl2.0)))
 
+(define-public ocaml-crowbar
+  (package
+    (name "ocaml-crowbar")
+    (version "0.2")
+    (home-page "https://github.com/stedolan/crowbar")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0wjfc9irvirfkic32ivvj6qb7r838w08b0d3vmngigbjpjyc9b14"))))
+    (build-system dune-build-system)
+    (arguments
+     ;; Tests require ocaml-xmldiff which requires OCaml 4.12.0
+     `(#:tests? #f))
+    (propagated-inputs
+     `(("ocaml-ocplib-endian" ,ocaml-ocplib-endian)
+       ("ocaml-cmdliner" ,ocaml-cmdliner)
+       ("ocaml-afl-persistent" ,ocaml-afl-persistent)))
+    (native-inputs
+     `(("ocaml-calendar" ,ocaml-calendar)
+       ("ocaml-fpath" ,ocaml-fpath)
+       ("ocaml-uucp" ,ocaml-uucp)
+       ("ocaml-uunf" ,ocaml-uunf)
+       ("ocaml-uutf" ,ocaml-uutf)
+       ("ocaml-pprint" ,ocaml-pprint)))
+    (synopsis "Ocaml library for tests, let a fuzzer find failing cases")
+    (description "Crowbar is a library for testing code, combining
+QuickCheck-style property-based testing and the magical bug-finding powers of
+@uref{http://lcamtuf.coredump.cx/afl/, afl-fuzz}.")
+    (license license:expat)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.32.0


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

* [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar.
  2021-08-10  8:00           ` pukkamustard
@ 2021-08-10 12:04             ` Xinglu Chen
  0 siblings, 0 replies; 99+ messages in thread
From: Xinglu Chen @ 2021-08-10 12:04 UTC (permalink / raw)
  To: pukkamustard; +Cc: 49867

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

On Tue, Aug 10 2021, pukkamustard wrote:

> Xinglu Chen <public@yoctocell.xyz> writes:
>
>>
>> Texinfo formatting:
>>
>>   @uref{http://lcamtuf.coredump.cx/afl/, afl-fuzz}
>>
>> The rest of v2 looks good.  :-)
>
> D'oh! Thanks!
>
> The fixed patch is attached. I can also send the entire series 
> again as v3 if that is easier...

The patch looks good, but I don’t have commit access, so you will have
to wait for someone else to merge it.  :-)

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

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

* [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto.
  2021-08-09  7:01       ` [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto pukkamustard
@ 2021-08-21 14:01         ` Julien Lepiller
  2021-08-23 14:27           ` pukkamustard
  2021-09-08  8:53           ` pukkamustard
  0 siblings, 2 replies; 99+ messages in thread
From: Julien Lepiller @ 2021-08-21 14:01 UTC (permalink / raw)
  To: pukkamustard; +Cc: 49867

Trying to build ocaml-mirage-crypto, I get errors during the tests:

ocamlopt tests/test_symmetric_runner.exe (exit 2)

Error: Files
/gnu/store/id3dchcsw5gijsnn73kw5sn9ymjj90ai-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/bigstring/eqaf_bigstring.cmxa
and
/gnu/store/id3dchcsw5gijsnn73kw5sn9ymjj90ai-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/eqaf.cmxa
make inconsistent assumptions over implementation Eqaf

this seems to indicate Eqaf did not build properly? Does it build for
you?

also, minor but there's a typo in the synopsis "provding" ->
"providing".




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

* [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto.
  2021-08-21 14:01         ` Julien Lepiller
@ 2021-08-23 14:27           ` pukkamustard
  2021-08-23 16:52             ` pukkamustard
  2021-09-08  8:53           ` pukkamustard
  1 sibling, 1 reply; 99+ messages in thread
From: pukkamustard @ 2021-08-23 14:27 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 49867


Julien Lepiller <julien@lepiller.eu> writes:

> Trying to build ocaml-mirage-crypto, I get errors during the 
> tests:
>
> ocamlopt tests/test_symmetric_runner.exe (exit 2)
>
> Error: Files
> /gnu/store/id3dchcsw5gijsnn73kw5sn9ymjj90ai-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/bigstring/eqaf_bigstring.cmxa
> and
> /gnu/store/id3dchcsw5gijsnn73kw5sn9ymjj90ai-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/eqaf.cmxa
> make inconsistent assumptions over implementation Eqaf
>
> this seems to indicate Eqaf did not build properly? Does it 
> build for
> you?

Negative. Can confirm that ocaml-mirage-crypto does not build when 
rebased on master. I will investigate.

> also, minor but there's a typo in the synopsis "provding" ->
> "providing".

Oops. Will fix.

-pukkamustard




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

* [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto.
  2021-08-23 14:27           ` pukkamustard
@ 2021-08-23 16:52             ` pukkamustard
  0 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-08-23 16:52 UTC (permalink / raw)
  To: pukkamustard; +Cc: 49867, Julien Lepiller


pukkamustard <pukkamustard@posteo.net> writes:

> Julien Lepiller <julien@lepiller.eu> writes:
>
>> Trying to build ocaml-mirage-crypto, I get errors during the 
>> tests:
>>
>> ocamlopt tests/test_symmetric_runner.exe (exit 2)
>>
>> Error: Files
>> /gnu/store/id3dchcsw5gijsnn73kw5sn9ymjj90ai-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/bigstring/eqaf_bigstring.cmxa
>> and
>> /gnu/store/id3dchcsw5gijsnn73kw5sn9ymjj90ai-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/eqaf.cmxa
>> make inconsistent assumptions over implementation Eqaf
>>
>> this seems to indicate Eqaf did not build properly? Does it 
>> build for
>> you?
>
> Negative. Can confirm that ocaml-mirage-crypto does not build 
> when rebased on
> master. I will investigate.

This seems to be related to the recently added dune profile 
parameter (https://issues.guix.gnu.org/49868).

The installed eqaf.cmxa seems to be the one built by using the 
"dev" profile, whereas eqaf_bigstring.cmxa is expecting the Eqaf 
module built with the "release" profile:

```
$ ocamlobjinfo 
/gnu/store/id3dchcsw5gijsnn73kw5sn9ymjj90ai-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/bigstring/eqaf_bigstring.cmxa
[..]
Implementations imported:
	193f160ab58c2c455f4e1fe1425b8971	Eqaf
[..]

$ ocamlobjinfo 
/gnu/store/id3dchcsw5gijsnn73kw5sn9ymjj90ai-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/eqaf.cmxa
[..]
CRC of implementation: f693310ffd4f92f54cd1fde8271782b8
[..]
```

With (arguments `(#:profile "dev")):
```
$ ocamlobjinfo 
/gnu/store/v2s1h1is0ci2ij2h8k5fbna3j8ycrw9y-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/bigstring/eqaf_bigstring.cmxa
[..]
Implementations imported:
[..]
--------------------------------	Eqaf

$ ocamlobjinfo 
/gnu/store/v2s1h1is0ci2ij2h8k5fbna3j8ycrw9y-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/eqaf.cmxa
[..]
CRC of implementation: f693310ffd4f92f54cd1fde8271782b8
[..]
```

When using the "dev" profile the ocaml-eqaf and 
ocaml-mirage-crypto build and pass the checks.

(I assume that the missing CRC in eqaf_bigstring.cmxa means it 
does not check the CRC of the Eqaf implementation.)

If I set (arguments `(#:package "eqaf")), then also everything 
builds fine and the hashes seem to be right:

```
$ ocamlobjinfo 
/gnu/store/cyw1n07cqdh25w5awww185s44yzbcyss-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/bigstring/eqaf_bigstring.cmxa
Implementations imported:
	193f160ab58c2c455f4e1fe1425b8971	Eqaf


$ ocamlobjinfo 
/gnu/store/cyw1n07cqdh25w5awww185s44yzbcyss-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/eqaf.cmxa
CRC of implementation: 193f160ab58c2c455f4e1fe1425b8971
```

This seems weird. I don't understand why dune installs the 
eqaf.cmxa built with "dev" profile but eqaf_bigstring.cmxa with 
"release" profile. Maybe this is a bug in dune?

It does seem that using the dune "--profile" options on its own is 
not very common. Opam uses the dune "-p" option. This sets the 
profile to "release" and does a couple of other things 
(https://dune.readthedocs.io/en/stable/opam.html?highlight=build%20profile#invocation-from-opam). 
I don't think many people use the "--profile" option on its own.

For our dune-build-system I think it makes more sense to always 
use the "-p" flag. This requires adding the explicit OCaml 
package(s) to many specifications in Guix. I also think the 
"profile" parameter should be removed as the interactions with the 
"package" parameter (dune "-p") are not as expected. Sorry for not 
doing this research before submitting the patch that added the 
"profile" parameter.

Thoughts?

-pukkamustard




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

* [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto.
  2021-08-21 14:01         ` Julien Lepiller
  2021-08-23 14:27           ` pukkamustard
@ 2021-09-08  8:53           ` pukkamustard
  1 sibling, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-09-08  8:53 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 49867

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


Julien Lepiller <julien@lepiller.eu> writes:

> Trying to build ocaml-mirage-crypto, I get errors during the tests:
>
> ocamlopt tests/test_symmetric_runner.exe (exit 2)
>
> Error: Files
> /gnu/store/id3dchcsw5gijsnn73kw5sn9ymjj90ai-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/bigstring/eqaf_bigstring.cmxa
> and
> /gnu/store/id3dchcsw5gijsnn73kw5sn9ymjj90ai-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/eqaf.cmxa
> make inconsistent assumptions over implementation Eqaf
>
> this seems to indicate Eqaf did not build properly? Does it build for
> you?

This seems to be fixed with the patch for using dune release mode
(https://issues.guix.gnu.org/49868#17).

> also, minor but there's a typo in the synopsis "provding" ->
> "providing".

Attached fixed patch for ocaml-mirage. I can resubmit the entire series
if that is easier.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0013-gnu-Add-ocaml-mirage-crypto.patch --]
[-- Type: text/x-patch, Size: 1936 bytes --]

From e5430a30e9f228963537cb5fe0dc8184252c2f1e Mon Sep 17 00:00:00 2001
From: pukkamustard <pukkamustard@posteo.net>
Date: Tue, 3 Aug 2021 12:03:23 +0200
Subject: [PATCH 13/31] gnu: Add ocaml-mirage-crypto.

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 75f6a24a84..8d00d6cb01 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7635,6 +7635,37 @@ QuickCheck-style property-based testing and the magical bug-finding powers of
 constant-time to avoid timing-attack with crypto stuff.")
     (license license:expat)))
 
+(define-public ocaml-mirage-crypto
+  (package
+    (name "ocaml-mirage-crypto")
+    (version "0.10.3")
+    (home-page "https://github.com/mirage/mirage-crypto")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0j7x07c8xy8bmqp9ad1cib6j69dy7acjg9m1d7pn0dnmbkrl8fiz"))))
+    (build-system dune-build-system)
+    (arguments `(#:package "mirage-crypto"
+                 #:test-target "."))
+    (propagated-inputs
+     `(("ocaml-cstruct" ,ocaml-cstruct)
+       ("ocaml-eqaf" ,ocaml-eqaf)
+       ("ocaml-bigarray-compat" ,ocaml-bigarray-compat)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("ocaml-ounit" ,ocaml-ounit)))
+    (synopsis "OCaml library providing cryptographic primitives")
+    (description "This OCaml library provides symmetric ciphers (DES, AES,
+RC4, ChaCha20/Poly1305), and hashes (MD5, SHA-1, SHA-2).  This library can be
+used from MirageOS unikernels.")
+    (license license:isc)))
+
 (define-public js-of-ocaml
   (package
     (name "js-of-ocaml")
-- 
2.33.0


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

* bug#49867: [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix.
  2021-08-04  7:10 [bug#49867] [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix pukkamustard
  2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
  2021-08-05 15:38 ` [bug#49867] [PATCH 00/29] " Xinglu Chen
@ 2021-11-15 13:23 ` pukkamustard
  2 siblings, 0 replies; 99+ messages in thread
From: pukkamustard @ 2021-11-15 13:23 UTC (permalink / raw)
  To: 49867-done; +Cc: pukkamustard


Closing this issue for the moment as I'm no longer using
ocaml-cohttp-lwt-unix, it is a considerable series and effort is
probably better spent elsewhere.

Feel free to reopen or recycle if interested in the packages.

pukkamustard <pukkamustard@posteo.net> writes:

> Hi,
>
> These patches add ocaml-cohttp-lwt-unix - an OCaml HTTP library - and dependencies.
>
> Some known rough edges:
>
> - ocaml-eqaf: Tests are disabled for now as I am not able to build ocaml-afl-persistent which is a dependency for ocaml-crowbar which is required to run ocaml-eqaf tests. There is ongoing work to port ocaml-afl-persistent to dune (https://github.com/stedolan/ocaml-afl-persistent/pull/7) with that it should be much easier to build it and enable tests for ocaml-eqaf.
> - ocaml-mirage-crypto-ec: Contains generated code from Fiat-Crypto (https://github.com/mit-plv/fiat-crypto). It would be nicer to generate the C code from the Coq sources during Guix build, but that seems like a lot more work.
> - ocaml-ca-certs: Tests requie access to `/etc/ssl/certs/*` which does not seem to be available during tests. Any ways to allow this in the test environment?
> - ocaml-cohttp-lwt-unix: Seems to require network during tests. Can someone confirm this?
>
> Thanks,
> pukkamustard
>
>
> pukkamustard (29):
>   gnu: Add ocaml-cohttp-lwt.
>   gnu: Add ocaml-domain-name.
>   gnu: Add ocaml-macaddr.
>   gnu: Add ocaml-ipaddr.
>   gnu: Add ocaml-ipaddr-cstruct.
>   gnu: Add ocaml-ipaddr-sexp.
>   gnu: Add ocaml-conduit.
>   gnu: Add ocaml-conduit-lwt.
>   gnu: Add ocaml-eqaf.
>   gnu: Add ocaml-mirage-crypto.
>   gnu: Add ocaml-duration.
>   gnu: Add ocaml-randomconv.
>   gnu: Add ocaml-mirage-crypto-rng.
>   gnu: Add ocaml-mirage-crypto-pk.
>   gnu: Add ocaml-ptime.
>   gnu: Add ocaml-asn1-combinators.
>   gnu: Add ocaml-ppx-deriving.
>   gnu: Add ocaml-ppx-deriving-yojson.
>   gnu: Add ocaml-mirage-crypto-ec.
>   gnu: Add ocaml-gmap.
>   gnu: Add ocaml-pbkdf.
>   gnu: Add ocaml-cstruct-unix.
>   gnu: Add ocaml-x509.
>   gnu: Add ocaml-ca-certs.
>   gnu: Add ocaml-lwt-log.
>   gnu: Add ocaml-lwt-ssl.
>   gnu: Add ocaml-conduit-lwt-unix.
>   gnu: Add ocaml-magic-mime.
>   gnu: Add ocaml-cohttp-lwt-unix
>
>  gnu/packages/ocaml.scm | 787 ++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 786 insertions(+), 1 deletion(-)





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

end of thread, other threads:[~2021-11-15 13:36 UTC | newest]

Thread overview: 99+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-04  7:10 [bug#49867] [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix pukkamustard
2021-08-04  7:15 ` [bug#49867] [PATCH 01/29] gnu: Add ocaml-cohttp-lwt pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 02/29] gnu: Add ocaml-domain-name pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 03/29] gnu: Add ocaml-macaddr pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 04/29] gnu: Add ocaml-ipaddr pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 05/29] gnu: Add ocaml-ipaddr-cstruct pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 06/29] gnu: Add ocaml-ipaddr-sexp pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 07/29] gnu: Add ocaml-conduit pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 08/29] gnu: Add ocaml-conduit-lwt pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 09/29] gnu: Add ocaml-eqaf pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 10/29] gnu: Add ocaml-mirage-crypto pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 11/29] gnu: Add ocaml-duration pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 12/29] gnu: Add ocaml-randomconv pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 13/29] gnu: Add ocaml-mirage-crypto-rng pukkamustard
2021-08-05 15:42     ` Xinglu Chen
2021-08-08 11:04       ` pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 14/29] gnu: Add ocaml-mirage-crypto-pk pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 15/29] gnu: Add ocaml-ptime pukkamustard
2021-08-05 15:48     ` Xinglu Chen
2021-08-08 11:13       ` pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 16/29] gnu: Add ocaml-asn1-combinators pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 17/29] gnu: Add ocaml-ppx-deriving pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 18/29] gnu: Add ocaml-ppx-deriving-yojson pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 19/29] gnu: Add ocaml-mirage-crypto-ec pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 20/29] gnu: Add ocaml-gmap pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 21/29] gnu: Add ocaml-pbkdf pukkamustard
2021-08-05 15:55     ` Xinglu Chen
2021-08-08 11:21       ` pukkamustard
2021-08-09  9:53         ` Xinglu Chen
2021-08-04  7:15   ` [bug#49867] [PATCH 22/29] gnu: Add ocaml-cstruct-unix pukkamustard
2021-08-05 16:02     ` Xinglu Chen
2021-08-08 11:24       ` pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 23/29] gnu: Add ocaml-x509 pukkamustard
2021-08-05 16:04     ` Xinglu Chen
2021-08-08 11:29       ` pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 24/29] gnu: Add ocaml-ca-certs pukkamustard
     [not found]     ` <87fsvnkgzk.fsf@yoctocell.xyz>
2021-08-08 12:36       ` pukkamustard
2021-08-09  9:30         ` Xinglu Chen
2021-08-04  7:15   ` [bug#49867] [PATCH 25/29] gnu: Add ocaml-lwt-log pukkamustard
2021-08-05 16:18     ` Xinglu Chen
2021-08-08 13:01       ` pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 26/29] gnu: Add ocaml-lwt-ssl pukkamustard
2021-08-05 16:20     ` Xinglu Chen
2021-08-08 13:04       ` pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 27/29] gnu: Add ocaml-conduit-lwt-unix pukkamustard
2021-08-05 16:20     ` Xinglu Chen
2021-08-08 13:06       ` pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 28/29] gnu: Add ocaml-magic-mime pukkamustard
2021-08-05 16:22     ` Xinglu Chen
2021-08-08 13:07       ` pukkamustard
2021-08-04  7:15   ` [bug#49867] [PATCH 29/29] gnu: Add ocaml-cohttp-lwt-unix pukkamustard
2021-08-05 16:25     ` Xinglu Chen
2021-08-08 13:14       ` pukkamustard
2021-08-05 15:38 ` [bug#49867] [PATCH 00/29] " Xinglu Chen
2021-08-09  6:55   ` pukkamustard
2021-08-09  6:59     ` [bug#49867] [PATCH 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
2021-08-09  6:59       ` [bug#49867] [PATCH 02/31] gnu: Add ocaml-domain-name pukkamustard
2021-08-09  7:00     ` [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt pukkamustard
2021-08-09  7:00       ` [bug#49867] [PATCH v2 02/31] gnu: Add ocaml-domain-name pukkamustard
2021-08-09  7:00       ` [bug#49867] [PATCH v2 03/31] gnu: Add ocaml-macaddr pukkamustard
2021-08-09  7:00       ` [bug#49867] [PATCH v2 04/31] gnu: Add ocaml-ipaddr pukkamustard
2021-08-09  7:00       ` [bug#49867] [PATCH v2 05/31] gnu: Add ocaml-ipaddr-cstruct pukkamustard
2021-08-09  7:00       ` [bug#49867] [PATCH v2 06/31] gnu: Add ocaml-ipaddr-sexp pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 07/31] gnu: Add ocaml-conduit pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 08/31] gnu: Add ocaml-conduit-lwt pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 09/31] gnu: Add ocaml-afl-persistent pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 10/31] gnu: Add ocaml-pprint pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar pukkamustard
2021-08-09  9:51         ` Xinglu Chen
2021-08-09 11:13           ` Julien Lepiller
2021-08-09 12:39             ` Xinglu Chen
2021-08-10  8:00           ` pukkamustard
2021-08-10 12:04             ` Xinglu Chen
2021-08-09  7:01       ` [bug#49867] [PATCH v2 12/31] gnu: Add ocaml-eqaf pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto pukkamustard
2021-08-21 14:01         ` Julien Lepiller
2021-08-23 14:27           ` pukkamustard
2021-08-23 16:52             ` pukkamustard
2021-09-08  8:53           ` pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 14/31] gnu: Add ocaml-duration pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 15/31] gnu: Add ocaml-randomconv pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 16/31] gnu: Add ocaml-mirage-crypto-rng pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 17/31] gnu: Add ocaml-mirage-crypto-pk pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 18/31] gnu: Add ocaml-ptime pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 19/31] gnu: Add ocaml-asn1-combinators pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 20/31] gnu: Add ocaml-ppx-deriving pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 21/31] gnu: Add ocaml-ppx-deriving-yojson pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 22/31] gnu: Add ocaml-mirage-crypto-ec pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 23/31] gnu: Add ocaml-gmap pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 24/31] gnu: Add ocaml-pbkdf pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 25/31] gnu: Add ocaml-cstruct-unix pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 26/31] gnu: Add ocaml-x509 pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 27/31] gnu: Add ocaml-ca-certs pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 28/31] gnu: Add ocaml-lwt-ssl pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 29/31] gnu: Add ocaml-conduit-lwt-unix pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 30/31] gnu: Add ocaml-magic-mime pukkamustard
2021-08-09  7:01       ` [bug#49867] [PATCH v2 31/31] gnu: Add ocaml-cohttp-lwt-unix pukkamustard
2021-08-09  9:55     ` [bug#49867] [PATCH 00/29] " Xinglu Chen
2021-11-15 13:23 ` bug#49867: " pukkamustard

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