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.