mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-10 15:45:15 -04:00
95 lines
2.0 KiB
Bash
95 lines
2.0 KiB
Bash
# 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
|
|
https://opam.ocaml.org/packages/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-lang/ocaml-4.08.0:=[ocamlopt?]
|
|
>=dev-ml/cstruct-6.0.0:=
|
|
>=dev-ml/eqaf-0.8:=
|
|
|
|
pk? (
|
|
dev-libs/gmp
|
|
>=dev-ml/mirage-4.0:=
|
|
dev-ml/sexplib0:=
|
|
>=dev-ml/zarith-1.4:=
|
|
)
|
|
rng? (
|
|
dev-ml/duration:=
|
|
dev-ml/logs:=
|
|
>=dev-ml/lwt-4.0.0:=
|
|
>=dev-ml/mtime-1.0.0:=
|
|
)
|
|
rng-async? ( >=dev-ml/async-0.14:= )
|
|
rng-mirage? (
|
|
>=dev-ml/lwt-4.0.0:=
|
|
>=dev-ml/mirage-3.8.0:=
|
|
>=dev-ml/mirage-clock-3.0.0:=
|
|
)
|
|
"
|
|
RDEPEND="
|
|
${DEPEND}
|
|
test? (
|
|
dev-ml/ounit2
|
|
>=dev-ml/randomconv-0.1.3
|
|
dev-ml/hex
|
|
>=dev-ml/asn1-combinators-0.2.5
|
|
dev-ml/ppx_deriving
|
|
dev-ml/ppx_deriving_yojson
|
|
>=dev-ml/yojson-1.6.0
|
|
dev-ml/alcotest
|
|
>=dev-ml/mirage-clock-unix-3.0.0
|
|
>=dev-ml/mirage-time-2.0.0[unix]
|
|
>=dev-ml/mirage-unix-5.0.0
|
|
)
|
|
"
|
|
BDEPEND="
|
|
>=dev-ml/dune-configurator-2.0.0
|
|
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 -p "${pkgs}" -j $(makeopts_jobs) || 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
|
|
}
|