dev-ml/mirage-crypto: initial import

Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2022-04-04 22:38:50 +02:00
parent 2a8bbacc9b
commit 44319c5c78
3 changed files with 105 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST mirage-crypto-v0.10.1.tbz 1200115 BLAKE2B 4a7557adb0e16834a6e298fb52f40b85e67cde44fdc04607dfd46a8a29a1957e1a61bfcec1c35f80477e1319dc2fe850fc65aac3c07ba9b706e6cfdec563a0e6 SHA512 08ba60ae7cc0e0c77b4d71fa05241bfd2e47bfb907cf7e1a4f6bd8bf62854ee82becd2f4e65eade1a01b58d91fb33829f4f69b39e8910df9cfeaa87c933a336d

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<description>co-maintainers welcome</description>
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<upstream>
<remote-id type="github">mirage/mirage-crypto</remote-id>
</upstream>
<use>
<flag name="ec">Elliptic Curve Cryptography with primitives taken from Fiat</flag>
<flag name="pk">Simple public-key cryptography for the modern age</flag>
<flag name="rng">A cryptographically secure PRNG</flag>
<flag name="rng-async">Feed the entropy source in an Async-friendly way</flag>
<flag name="rng-mirage">Entropy collection for a cryptographically secure PRNG</flag>
</use>
</pkgmetadata>

View File

@@ -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
}