GNU bug report logs - #49867
[PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix.

Previous Next

Package: guix-patches;

Reported by: pukkamustard <pukkamustard <at> posteo.net>

Date: Wed, 4 Aug 2021 07:12:01 UTC

Severity: normal

Tags: patch

Done: pukkamustard <pukkamustard <at> posteo.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 49867 in the body.
You can then email your comments to 49867 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:12:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to pukkamustard <pukkamustard <at> posteo.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 04 Aug 2021 07:12:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: guix-patches <at> gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix.
Date: Wed,  4 Aug 2021 07:10:15 +0000
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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:02 GMT) Full text and rfc822 format available.

Message #8 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 01/29] gnu: Add ocaml-cohttp-lwt.
Date: Wed,  4 Aug 2021 07:15:17 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:02 GMT) Full text and rfc822 format available.

Message #11 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 02/29] gnu: Add ocaml-domain-name.
Date: Wed,  4 Aug 2021 07:15:18 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:03 GMT) Full text and rfc822 format available.

Message #14 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 04/29] gnu: Add ocaml-ipaddr.
Date: Wed,  4 Aug 2021 07:15:20 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:05 GMT) Full text and rfc822 format available.

Message #17 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 06/29] gnu: Add ocaml-ipaddr-sexp.
Date: Wed,  4 Aug 2021 07:15:22 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:06 GMT) Full text and rfc822 format available.

Message #20 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 05/29] gnu: Add ocaml-ipaddr-cstruct.
Date: Wed,  4 Aug 2021 07:15:21 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:07 GMT) Full text and rfc822 format available.

Message #23 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 03/29] gnu: Add ocaml-macaddr.
Date: Wed,  4 Aug 2021 07:15:19 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:09 GMT) Full text and rfc822 format available.

Message #26 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 09/29] gnu: Add ocaml-eqaf.
Date: Wed,  4 Aug 2021 07:15:25 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:10 GMT) Full text and rfc822 format available.

Message #29 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 13/29] gnu: Add ocaml-mirage-crypto-rng.
Date: Wed,  4 Aug 2021 07:15:29 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:11 GMT) Full text and rfc822 format available.

Message #32 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 07/29] gnu: Add ocaml-conduit.
Date: Wed,  4 Aug 2021 07:15:23 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:11 GMT) Full text and rfc822 format available.

Message #35 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 08/29] gnu: Add ocaml-conduit-lwt.
Date: Wed,  4 Aug 2021 07:15:24 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:12 GMT) Full text and rfc822 format available.

Message #38 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 17/29] gnu: Add ocaml-ppx-deriving.
Date: Wed,  4 Aug 2021 07:15:33 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:12 GMT) Full text and rfc822 format available.

Message #41 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 10/29] gnu: Add ocaml-mirage-crypto.
Date: Wed,  4 Aug 2021 07:15:26 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:13 GMT) Full text and rfc822 format available.

Message #44 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 21/29] gnu: Add ocaml-pbkdf.
Date: Wed,  4 Aug 2021 07:15:37 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:13 GMT) Full text and rfc822 format available.

Message #47 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 11/29] gnu: Add ocaml-duration.
Date: Wed,  4 Aug 2021 07:15:27 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:14 GMT) Full text and rfc822 format available.

Message #50 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 14/29] gnu: Add ocaml-mirage-crypto-pk.
Date: Wed,  4 Aug 2021 07:15:30 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:14 GMT) Full text and rfc822 format available.

Message #53 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 16/29] gnu: Add ocaml-asn1-combinators.
Date: Wed,  4 Aug 2021 07:15:32 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:15 GMT) Full text and rfc822 format available.

Message #56 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 12/29] gnu: Add ocaml-randomconv.
Date: Wed,  4 Aug 2021 07:15:28 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:15 GMT) Full text and rfc822 format available.

Message #59 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 22/29] gnu: Add ocaml-cstruct-unix.
Date: Wed,  4 Aug 2021 07:15:38 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:16 GMT) Full text and rfc822 format available.

Message #62 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 15/29] gnu: Add ocaml-ptime.
Date: Wed,  4 Aug 2021 07:15:31 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:16 GMT) Full text and rfc822 format available.

Message #65 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 19/29] gnu: Add ocaml-mirage-crypto-ec.
Date: Wed,  4 Aug 2021 07:15:35 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:17:17 GMT) Full text and rfc822 format available.

Message #68 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 18/29] gnu: Add ocaml-ppx-deriving-yojson.
Date: Wed,  4 Aug 2021 07:15:34 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:18:01 GMT) Full text and rfc822 format available.

Message #71 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 25/29] gnu: Add ocaml-lwt-log.
Date: Wed,  4 Aug 2021 07:15:41 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:18:02 GMT) Full text and rfc822 format available.

Message #74 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 28/29] gnu: Add ocaml-magic-mime.
Date: Wed,  4 Aug 2021 07:15:44 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:18:02 GMT) Full text and rfc822 format available.

Message #77 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 24/29] gnu: Add ocaml-ca-certs.
Date: Wed,  4 Aug 2021 07:15:40 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:18:03 GMT) Full text and rfc822 format available.

Message #80 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 27/29] gnu: Add ocaml-conduit-lwt-unix.
Date: Wed,  4 Aug 2021 07:15:43 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:18:03 GMT) Full text and rfc822 format available.

Message #83 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 20/29] gnu: Add ocaml-gmap.
Date: Wed,  4 Aug 2021 07:15:36 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:18:03 GMT) Full text and rfc822 format available.

Message #86 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 23/29] gnu: Add ocaml-x509.
Date: Wed,  4 Aug 2021 07:15:39 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:18:04 GMT) Full text and rfc822 format available.

Message #89 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 26/29] gnu: Add ocaml-lwt-ssl.
Date: Wed,  4 Aug 2021 07:15:42 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 04 Aug 2021 07:18:04 GMT) Full text and rfc822 format available.

Message #92 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 29/29] gnu: Add ocaml-cohttp-lwt-unix
Date: Wed,  4 Aug 2021 07:15:45 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Thu, 05 Aug 2021 15:39:02 GMT) Full text and rfc822 format available.

Message #95 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>, 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: Re: [bug#49867] [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix.
Date: Thu, 05 Aug 2021 17:38:17 +0200
[Message part 1 (text/plain, inline)]
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!

[0001-gnu-Add-ocaml-afl-persistent.patch (text/x-patch, inline)]
From 49918dee551c9fa9acddfcf1162007d26f0bdff6 Mon Sep 17 00:00:00 2001
Message-Id: <49918dee551c9fa9acddfcf1162007d26f0bdff6.1628177652.git.public <at> yoctocell.xyz>
From: Xinglu Chen <public <at> 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

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Thu, 05 Aug 2021 15:43:02 GMT) Full text and rfc822 format available.

Message #98 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>, 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: Re: [bug#49867] [PATCH 13/29] gnu: Add ocaml-mirage-crypto-rng.
Date: Thu, 05 Aug 2021 17:42:27 +0200
[Message part 1 (text/plain, inline)]
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?
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Thu, 05 Aug 2021 15:50:01 GMT) Full text and rfc822 format available.

Message #101 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>, 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: Re: [bug#49867] [PATCH 15/29] gnu: Add ocaml-ptime.
Date: Thu, 05 Aug 2021 17:48:55 +0200
[Message part 1 (text/plain, inline)]
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.  :-)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Thu, 05 Aug 2021 15:56:02 GMT) Full text and rfc822 format available.

Message #104 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>, 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: Re: [bug#49867] [PATCH 21/29] gnu: Add ocaml-pbkdf.
Date: Thu, 05 Aug 2021 17:55:38 +0200
[Message part 1 (text/plain, inline)]
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 …"
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Thu, 05 Aug 2021 16:03:02 GMT) Full text and rfc822 format available.

Message #107 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>, 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: Re: [bug#49867] [PATCH 22/29] gnu: Add ocaml-cstruct-unix.
Date: Thu, 05 Aug 2021 18:02:11 +0200
[Message part 1 (text/plain, inline)]
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?
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Thu, 05 Aug 2021 16:06:01 GMT) Full text and rfc822 format available.

Message #110 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>, 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: Re: [bug#49867] [PATCH 23/29] gnu: Add ocaml-x509.
Date: Thu, 05 Aug 2021 18:04:58 +0200
[Message part 1 (text/plain, inline)]
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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Thu, 05 Aug 2021 16:19:02 GMT) Full text and rfc822 format available.

Message #113 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>, 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: Re: [bug#49867] [PATCH 25/29] gnu: Add ocaml-lwt-log.
Date: Thu, 05 Aug 2021 18:18:43 +0200
[Message part 1 (text/plain, inline)]
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>
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Thu, 05 Aug 2021 16:21:03 GMT) Full text and rfc822 format available.

Message #116 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>, 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: Re: [bug#49867] [PATCH 26/29] gnu: Add ocaml-lwt-ssl.
Date: Thu, 05 Aug 2021 18:20:03 +0200
[Message part 1 (text/plain, inline)]
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…

?
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Thu, 05 Aug 2021 16:21:03 GMT) Full text and rfc822 format available.

Message #119 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>, 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: Re: [bug#49867] [PATCH 27/29] gnu: Add ocaml-conduit-lwt-unix.
Date: Thu, 05 Aug 2021 18:20:48 +0200
[Message part 1 (text/plain, inline)]
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.  :-)

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Thu, 05 Aug 2021 16:23:02 GMT) Full text and rfc822 format available.

Message #122 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>, 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: Re: [bug#49867] [PATCH 28/29] gnu: Add ocaml-magic-mime.
Date: Thu, 05 Aug 2021 18:22:26 +0200
[Message part 1 (text/plain, inline)]
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}
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Thu, 05 Aug 2021 16:26:02 GMT) Full text and rfc822 format available.

Message #125 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>, 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: Re: [bug#49867] [PATCH 29/29] gnu: Add ocaml-cohttp-lwt-unix
Date: Thu, 05 Aug 2021 18:25:25 +0200
[Message part 1 (text/plain, inline)]
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.  :-)

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Sun, 08 Aug 2021 11:05:02 GMT) Full text and rfc822 format available.

Message #128 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 13/29] gnu: Add ocaml-mirage-crypto-rng.
Date: Sun, 08 Aug 2021 11:04:18 +0000
Xinglu Chen <public <at> 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.




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Sun, 08 Aug 2021 11:14:02 GMT) Full text and rfc822 format available.

Message #131 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 15/29] gnu: Add ocaml-ptime.
Date: Sun, 08 Aug 2021 11:13:28 +0000
Xinglu Chen <public <at> 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.




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Sun, 08 Aug 2021 11:22:02 GMT) Full text and rfc822 format available.

Message #134 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 21/29] gnu: Add ocaml-pbkdf.
Date: Sun, 08 Aug 2021 11:21:29 +0000
Xinglu Chen <public <at> 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.




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Sun, 08 Aug 2021 11:25:02 GMT) Full text and rfc822 format available.

Message #137 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 22/29] gnu: Add ocaml-cstruct-unix.
Date: Sun, 08 Aug 2021 11:24:31 +0000
Xinglu Chen <public <at> 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.




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Sun, 08 Aug 2021 11:30:02 GMT) Full text and rfc822 format available.

Message #140 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 23/29] gnu: Add ocaml-x509.
Date: Sun, 08 Aug 2021 11:29:19 +0000
Xinglu Chen <public <at> 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.




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Sun, 08 Aug 2021 12:37:01 GMT) Full text and rfc822 format available.

Message #143 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 24/29] gnu: Add ocaml-ca-certs.
Date: Sun, 08 Aug 2021 12:36:27 +0000
Xinglu Chen <public <at> 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.




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Sun, 08 Aug 2021 13:02:01 GMT) Full text and rfc822 format available.

Message #146 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 25/29] gnu: Add ocaml-lwt-log.
Date: Sun, 08 Aug 2021 13:01:38 +0000
Xinglu Chen <public <at> 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.




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Sun, 08 Aug 2021 13:05:02 GMT) Full text and rfc822 format available.

Message #149 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 26/29] gnu: Add ocaml-lwt-ssl.
Date: Sun, 08 Aug 2021 13:04:19 +0000
Xinglu Chen <public <at> 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.




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Sun, 08 Aug 2021 13:07:01 GMT) Full text and rfc822 format available.

Message #152 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 27/29] gnu: Add ocaml-conduit-lwt-unix.
Date: Sun, 08 Aug 2021 13:06:19 +0000
Xinglu Chen <public <at> 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.




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Sun, 08 Aug 2021 13:08:02 GMT) Full text and rfc822 format available.

Message #155 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 28/29] gnu: Add ocaml-magic-mime.
Date: Sun, 08 Aug 2021 13:07:46 +0000
Xinglu Chen <public <at> 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.




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Sun, 08 Aug 2021 13:15:02 GMT) Full text and rfc822 format available.

Message #158 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 29/29] gnu: Add ocaml-cohttp-lwt-unix
Date: Sun, 08 Aug 2021 13:14:24 +0000
Xinglu Chen <public <at> 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).




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 06:57:02 GMT) Full text and rfc822 format available.

Message #161 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix.
Date: Mon, 09 Aug 2021 06:55:50 +0000
Xinglu Chen <public <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:01:02 GMT) Full text and rfc822 format available.

Message #164 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 01/31] gnu: Add ocaml-cohttp-lwt.
Date: Mon,  9 Aug 2021 06:59:42 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:01:02 GMT) Full text and rfc822 format available.

Message #167 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH 02/31] gnu: Add ocaml-domain-name.
Date: Mon,  9 Aug 2021 06:59:43 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:02 GMT) Full text and rfc822 format available.

Message #170 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt.
Date: Mon,  9 Aug 2021 07:00:54 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:03 GMT) Full text and rfc822 format available.

Message #173 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 02/31] gnu: Add ocaml-domain-name.
Date: Mon,  9 Aug 2021 07:00:55 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:04 GMT) Full text and rfc822 format available.

Message #176 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 03/31] gnu: Add ocaml-macaddr.
Date: Mon,  9 Aug 2021 07:00:56 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:05 GMT) Full text and rfc822 format available.

Message #179 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 04/31] gnu: Add ocaml-ipaddr.
Date: Mon,  9 Aug 2021 07:00:57 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:05 GMT) Full text and rfc822 format available.

Message #182 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 05/31] gnu: Add ocaml-ipaddr-cstruct.
Date: Mon,  9 Aug 2021 07:00:58 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:06 GMT) Full text and rfc822 format available.

Message #185 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 06/31] gnu: Add ocaml-ipaddr-sexp.
Date: Mon,  9 Aug 2021 07:00:59 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:06 GMT) Full text and rfc822 format available.

Message #188 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto.
Date: Mon,  9 Aug 2021 07:01:06 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:07 GMT) Full text and rfc822 format available.

Message #191 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 08/31] gnu: Add ocaml-conduit-lwt.
Date: Mon,  9 Aug 2021 07:01:01 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:08 GMT) Full text and rfc822 format available.

Message #194 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 07/31] gnu: Add ocaml-conduit.
Date: Mon,  9 Aug 2021 07:01:00 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:08 GMT) Full text and rfc822 format available.

Message #197 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 14/31] gnu: Add ocaml-duration.
Date: Mon,  9 Aug 2021 07:01:07 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:09 GMT) Full text and rfc822 format available.

Message #200 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: Xinglu Chen <public <at> yoctocell.xyz>
Subject: [PATCH v2 09/31] gnu: Add ocaml-afl-persistent.
Date: Mon,  9 Aug 2021 07:01:02 +0000
From: Xinglu Chen <public <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:09 GMT) Full text and rfc822 format available.

Message #203 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 17/31] gnu: Add ocaml-mirage-crypto-pk.
Date: Mon,  9 Aug 2021 07:01:10 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:10 GMT) Full text and rfc822 format available.

Message #206 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 10/31] gnu: Add ocaml-pprint.
Date: Mon,  9 Aug 2021 07:01:03 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:10 GMT) Full text and rfc822 format available.

Message #209 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 18/31] gnu: Add ocaml-ptime.
Date: Mon,  9 Aug 2021 07:01:11 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:10 GMT) Full text and rfc822 format available.

Message #212 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 11/31] gnu: Add ocaml-crowbar.
Date: Mon,  9 Aug 2021 07:01:04 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:11 GMT) Full text and rfc822 format available.

Message #215 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 12/31] gnu: Add ocaml-eqaf.
Date: Mon,  9 Aug 2021 07:01:05 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:11 GMT) Full text and rfc822 format available.

Message #218 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 15/31] gnu: Add ocaml-randomconv.
Date: Mon,  9 Aug 2021 07:01:08 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:12 GMT) Full text and rfc822 format available.

Message #221 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 16/31] gnu: Add ocaml-mirage-crypto-rng.
Date: Mon,  9 Aug 2021 07:01:09 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:02:12 GMT) Full text and rfc822 format available.

Message #224 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 22/31] gnu: Add ocaml-mirage-crypto-ec.
Date: Mon,  9 Aug 2021 07:01:15 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:03:01 GMT) Full text and rfc822 format available.

Message #227 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 19/31] gnu: Add ocaml-asn1-combinators.
Date: Mon,  9 Aug 2021 07:01:12 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:03:02 GMT) Full text and rfc822 format available.

Message #230 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 25/31] gnu: Add ocaml-cstruct-unix.
Date: Mon,  9 Aug 2021 07:01:18 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:03:02 GMT) Full text and rfc822 format available.

Message #233 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 20/31] gnu: Add ocaml-ppx-deriving.
Date: Mon,  9 Aug 2021 07:01:13 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:03:03 GMT) Full text and rfc822 format available.

Message #236 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 21/31] gnu: Add ocaml-ppx-deriving-yojson.
Date: Mon,  9 Aug 2021 07:01:14 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:03:03 GMT) Full text and rfc822 format available.

Message #239 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 28/31] gnu: Add ocaml-lwt-ssl.
Date: Mon,  9 Aug 2021 07:01:21 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:03:03 GMT) Full text and rfc822 format available.

Message #242 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 23/31] gnu: Add ocaml-gmap.
Date: Mon,  9 Aug 2021 07:01:16 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:03:04 GMT) Full text and rfc822 format available.

Message #245 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 24/31] gnu: Add ocaml-pbkdf.
Date: Mon,  9 Aug 2021 07:01:17 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:03:04 GMT) Full text and rfc822 format available.

Message #248 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 26/31] gnu: Add ocaml-x509.
Date: Mon,  9 Aug 2021 07:01:19 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:03:05 GMT) Full text and rfc822 format available.

Message #251 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 27/31] gnu: Add ocaml-ca-certs.
Date: Mon,  9 Aug 2021 07:01:20 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:03:05 GMT) Full text and rfc822 format available.

Message #254 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 29/31] gnu: Add ocaml-conduit-lwt-unix.
Date: Mon,  9 Aug 2021 07:01:22 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:03:05 GMT) Full text and rfc822 format available.

Message #257 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 30/31] gnu: Add ocaml-magic-mime.
Date: Mon,  9 Aug 2021 07:01:23 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 07:03:06 GMT) Full text and rfc822 format available.

Message #260 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: [PATCH v2 31/31] gnu: Add ocaml-cohttp-lwt-unix
Date: Mon,  9 Aug 2021 07:01:24 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 09:32:01 GMT) Full text and rfc822 format available.

Message #263 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 24/29] gnu: Add ocaml-ca-certs.
Date: Mon, 09 Aug 2021 11:30:50 +0200
[Message part 1 (text/plain, inline)]
On Sun, Aug 08 2021, pukkamustard wrote:

> Xinglu Chen <public <at> 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
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 09:53:01 GMT) Full text and rfc822 format available.

Message #266 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>, 49867 <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: Re: [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar.
Date: Mon, 09 Aug 2021 11:51:58 +0200
[Message part 1 (text/plain, inline)]
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.  :-)

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 09:54:02 GMT) Full text and rfc822 format available.

Message #269 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 21/29] gnu: Add ocaml-pbkdf.
Date: Mon, 09 Aug 2021 11:53:16 +0200
[Message part 1 (text/plain, inline)]
On Sun, Aug 08 2021, pukkamustard wrote:

> Xinglu Chen <public <at> 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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 09:56:02 GMT) Full text and rfc822 format available.

Message #272 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix.
Date: Mon, 09 Aug 2021 11:55:12 +0200
[Message part 1 (text/plain, inline)]
On Mon, Aug 09 2021, pukkamustard wrote:

> Xinglu Chen <public <at> 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!
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 11:15:02 GMT) Full text and rfc822 format available.

Message #275 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: guix-patches <at> gnu.org, Xinglu Chen <public <at> yoctocell.xyz>,
 pukkamustard <pukkamustard <at> posteo.net>, 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar.
Date: Mon, 09 Aug 2021 07:13:51 -0400

Le 9 août 2021 05:51:58 GMT-04:00, Xinglu Chen <public <at> 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.  :-)
>




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 11:15:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 09 Aug 2021 12:40:02 GMT) Full text and rfc822 format available.

Message #281 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: Julien Lepiller <julien <at> lepiller.eu>, 49867 <at> debbugs.gnu.org,
 pukkamustard <at> posteo.net
Subject: Re: [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar.
Date: Mon, 09 Aug 2021 14:39:37 +0200
[Message part 1 (text/plain, inline)]
On Mon, Aug 09 2021, Julien Lepiller wrote:

> Le 9 août 2021 05:51:58 GMT-04:00, Xinglu Chen <public <at> 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 :-)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Tue, 10 Aug 2021 08:02:02 GMT) Full text and rfc822 format available.

Message #284 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar.
Date: Tue, 10 Aug 2021 08:00:53 +0000
[Message part 1 (text/plain, inline)]
Xinglu Chen <public <at> 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...

[v3-0011-gnu-Add-ocaml-crowbar.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Tue, 10 Aug 2021 12:05:02 GMT) Full text and rfc822 format available.

Message #287 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: pukkamustard <pukkamustard <at> posteo.net>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar.
Date: Tue, 10 Aug 2021 14:04:20 +0200
[Message part 1 (text/plain, inline)]
On Tue, Aug 10 2021, pukkamustard wrote:

> Xinglu Chen <public <at> 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.  :-)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Sat, 21 Aug 2021 14:03:01 GMT) Full text and rfc822 format available.

Message #290 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: pukkamustard <pukkamustard <at> posteo.net>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto.
Date: Sat, 21 Aug 2021 16:01:54 +0200
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".




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 23 Aug 2021 14:28:01 GMT) Full text and rfc822 format available.

Message #293 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto.
Date: Mon, 23 Aug 2021 14:27:32 +0000
Julien Lepiller <julien <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Mon, 23 Aug 2021 16:54:01 GMT) Full text and rfc822 format available.

Message #296 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: pukkamustard <pukkamustard <at> posteo.net>
Cc: 49867 <at> debbugs.gnu.org, Julien Lepiller <julien <at> lepiller.eu>
Subject: Re: [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto.
Date: Mon, 23 Aug 2021 16:52:42 +0000
pukkamustard <pukkamustard <at> posteo.net> writes:

> Julien Lepiller <julien <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#49867; Package guix-patches. (Wed, 08 Sep 2021 08:58:01 GMT) Full text and rfc822 format available.

Message #299 received at 49867 <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: 49867 <at> debbugs.gnu.org
Subject: Re: [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto.
Date: Wed, 08 Sep 2021 08:53:02 +0000
[Message part 1 (text/plain, inline)]
Julien Lepiller <julien <at> 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.

[0013-gnu-Add-ocaml-mirage-crypto.patch (text/x-patch, attachment)]

Reply sent to pukkamustard <pukkamustard <at> posteo.net>:
You have taken responsibility. (Mon, 15 Nov 2021 13:33:02 GMT) Full text and rfc822 format available.

Notification sent to pukkamustard <pukkamustard <at> posteo.net>:
bug acknowledged by developer. (Mon, 15 Nov 2021 13:33:02 GMT) Full text and rfc822 format available.

Message #304 received at 49867-done <at> debbugs.gnu.org (full text, mbox):

From: pukkamustard <pukkamustard <at> posteo.net>
To: 49867-done <at> debbugs.gnu.org
Cc: pukkamustard <pukkamustard <at> posteo.net>
Subject: Re: [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix.
Date: Mon, 15 Nov 2021 13:23:32 +0000
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 <at> 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(-)





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 14 Dec 2021 12:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 95 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.