Subject: Re: [bug#49867] [PATCH 23/29] gnu: Add ocaml-x509.

From: Xinglu Chen <[email-masked]>
Date: Thu, 05 Aug 2021 18:04:58 +0200

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.