From 44319c5c78ffbc77baf6e3e262cb55ccd31e7eac Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Mon, 4 Apr 2022 22:38:50 +0200 Subject: [PATCH] dev-ml/mirage-crypto: initial import Signed-off-by: Alessandro Barbieri --- dev-ml/mirage-crypto/Manifest | 1 + dev-ml/mirage-crypto/metadata.xml | 19 +++++ .../mirage-crypto/mirage-crypto-0.10.1.ebuild | 85 +++++++++++++++++++ 3 files changed, 105 insertions(+) create mode 100644 dev-ml/mirage-crypto/Manifest create mode 100644 dev-ml/mirage-crypto/metadata.xml create mode 100644 dev-ml/mirage-crypto/mirage-crypto-0.10.1.ebuild diff --git a/dev-ml/mirage-crypto/Manifest b/dev-ml/mirage-crypto/Manifest new file mode 100644 index 0000000000..bda186885e --- /dev/null +++ b/dev-ml/mirage-crypto/Manifest @@ -0,0 +1 @@ +DIST mirage-crypto-v0.10.1.tbz 1200115 BLAKE2B 4a7557adb0e16834a6e298fb52f40b85e67cde44fdc04607dfd46a8a29a1957e1a61bfcec1c35f80477e1319dc2fe850fc65aac3c07ba9b706e6cfdec563a0e6 SHA512 08ba60ae7cc0e0c77b4d71fa05241bfd2e47bfb907cf7e1a4f6bd8bf62854ee82becd2f4e65eade1a01b58d91fb33829f4f69b39e8910df9cfeaa87c933a336d diff --git a/dev-ml/mirage-crypto/metadata.xml b/dev-ml/mirage-crypto/metadata.xml new file mode 100644 index 0000000000..e05bee98be --- /dev/null +++ b/dev-ml/mirage-crypto/metadata.xml @@ -0,0 +1,19 @@ + + + + + co-maintainers welcome + lssndrbarbieri@gmail.com + Alessandro Barbieri + + + mirage/mirage-crypto + + + Elliptic Curve Cryptography with primitives taken from Fiat + Simple public-key cryptography for the modern age + A cryptographically secure PRNG + Feed the entropy source in an Async-friendly way + Entropy collection for a cryptographically secure PRNG + + diff --git a/dev-ml/mirage-crypto/mirage-crypto-0.10.1.ebuild b/dev-ml/mirage-crypto/mirage-crypto-0.10.1.ebuild new file mode 100644 index 0000000000..fe34130c70 --- /dev/null +++ b/dev-ml/mirage-crypto/mirage-crypto-0.10.1.ebuild @@ -0,0 +1,85 @@ +# Copyright 2020-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dune multiprocessing + +MY_P="${PN}-v${PV}" + +DESCRIPTION="Simple symmetric cryptography for the modern age" +HOMEPAGE="https://github.com/mirage/mirage-crypto" +SRC_URI="https://github.com/mirage/mirage-crypto/releases/download/v${PV}/${MY_P}.tbz" +S="${WORKDIR}/${MY_P}" + +LICENSE="ISC" +SLOT="0/${PV}" +KEYWORDS="~amd64" +IUSE="ec ocamlopt pk rng rng-async rng-mirage test" + +DEPEND=" + dev-ml/cstruct + dev-ml/dune-configurator + dev-ml/eqaf + + pk? ( + dev-libs/gmp + dev-ml/mirage + dev-ml/sexplib0 + dev-ml/zarith + ) + rng? ( + dev-ml/duration + dev-ml/logs + ) + rng-async? ( dev-ml/async ) + rng-mirage? ( + dev-ml/lwt + dev-ml/mirage + dev-ml/mirage-clock + dev-ml/mirage-time[unix] + dev-ml/mirage-unix + ) +" +RDEPEND=" + ${DEPEND} + test? ( + >=dev-ml/ounit-2 + dev-ml/randomconv + dev-ml/hex + dev-ml/asn1-combinators + dev-ml/ppx_deriving + dev-ml/ppx_deriving_yojson + dev-ml/yojson + dev-ml/alcotest + ) +" +BDEPEND="virtual/pkgconfig" + +RESTRICT="!test? ( test )" +REQUIRED_USE=" + test? ( ec pk rng ) + ec? ( rng ) + pk? ( rng ) + rng-async? ( rng ) + rng-mirage? ( rng ) +" + +src_compile() { + local pkgs="mirage-crypto" + for u in rng rng-async rng-mirage pk ec ; do + if use ${u} ; then + pkgs="${pkgs},mirage-crypto-${u}" + fi + done + dune build --only-packages "${pkgs}" -j $(makeopts_jobs) --profile release || die +} + +src_install() { + dune_src_install mirage-crypto + use rng && dune_src_install mirage-crypto-rng + use ec && dune_src_install mirage-crypto-ec + use pk && dune_src_install mirage-crypto-pk + use rng-async && dune_src_install mirage-crypto-rng-async + use rng-mirage && dune_src_install mirage-crypto-rng-mirage +}