Subject: Re: [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto.

From: pukkamustard <[email-masked]>
Date: Wed, 08 Sep 2021 08:53:02 +0000

Julien Lepiller <[email-masked]> 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.

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

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

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