mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-10 07:33:19 -04:00
134 lines
2.6 KiB
Bash
134 lines
2.6 KiB
Bash
# Copyright 1999-2022 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
inherit dune multiprocessing
|
|
|
|
DESCRIPTION="A pure OCaml implementation of the DNS protocol"
|
|
HOMEPAGE="https://github.com/mirage/ocaml-dns"
|
|
SRC_URI="https://github.com/mirage/ocaml-${PN}/archive/v${PV}.tar.gz -> ocaml-${P}.tar.gz"
|
|
S="${WORKDIR}/ocaml-${P}"
|
|
|
|
LICENSE="BSD-2"
|
|
SLOT="0/${PV}"
|
|
KEYWORDS="~amd64"
|
|
IUSE="certify cli client dnssec mirage ocamlopt resolver server stub test tsig"
|
|
|
|
RDEPEND="
|
|
dev-ml/logs:=
|
|
dev-ml/ptime:=
|
|
dev-ml/domain-name:=
|
|
dev-ml/gmap:=
|
|
dev-ml/cstruct:=
|
|
dev-ml/ipaddr:=
|
|
dev-ml/lru:=
|
|
dev-ml/duration:=
|
|
dev-ml/metrics:=
|
|
dev-ml/ocaml-base64:=
|
|
|
|
dnssec? ( dev-ml/mirage-crypto:=[ec,pk] )
|
|
certify? (
|
|
dev-ml/randomconv:=
|
|
dev-ml/mirage-time:=
|
|
dev-ml/mirage-clock:=
|
|
dev-ml/tcpip:=
|
|
dev-ml/mirage-crypto:=[ec,pk,rng]
|
|
dev-ml/x509:=
|
|
dev-ml/lwt:=
|
|
)
|
|
cli? (
|
|
dev-ml/bos:=
|
|
dev-ml/cmdliner:=
|
|
dev-ml/fpath:=
|
|
dev-ml/x509:=
|
|
dev-ml/mirage-crypto:=[ec,pk]
|
|
dev-ml/hex:=
|
|
dev-ml/mtime:=
|
|
dev-ml/fmt:=
|
|
dev-ml/lwt:=
|
|
dev-ml/randomconv:=
|
|
)
|
|
client? (
|
|
dev-ml/fmt:=
|
|
dev-ml/lwt:=
|
|
dev-ml/tcpip:=
|
|
dev-ml/mirage-random:=
|
|
dev-ml/mirage-time:=
|
|
dev-ml/mirage-clock:=
|
|
dev-ml/mirage-crypto:=[rng]
|
|
dev-ml/happy-eyeballs:=
|
|
dev-ml/tls:=[mirage]
|
|
dev-ml/x509:=
|
|
dev-ml/ca-certs:=
|
|
dev-ml/ca-certs-nss:=
|
|
)
|
|
mirage? (
|
|
dev-ml/lwt:=
|
|
dev-ml/tcpip:=
|
|
)
|
|
resolver? (
|
|
dev-ml/randomconv:=
|
|
dev-ml/lwt:=
|
|
dev-ml/mirage-time:=
|
|
dev-ml/mirage-clock:=
|
|
dev-ml/mirage-random:=
|
|
dev-ml/tcpip:=
|
|
dev-ml/tls:=[mirage]
|
|
dev-ml/duration:=
|
|
)
|
|
server? (
|
|
dev-ml/randomconv:=
|
|
dev-ml/duration:=
|
|
dev-ml/lwt:=
|
|
dev-ml/mirage-time:=
|
|
dev-ml/mirage-clock:=
|
|
dev-ml/tcpip:=
|
|
dev-ml/mirage-crypto:=[rng]
|
|
)
|
|
stub? (
|
|
dev-ml/randomconv:=
|
|
dev-ml/lwt:=
|
|
dev-ml/mirage-time:=
|
|
dev-ml/mirage-clock:=
|
|
dev-ml/mirage-random:=
|
|
dev-ml/tcpip:=
|
|
)
|
|
tsig? ( dev-ml/mirage-crypto:= )
|
|
"
|
|
DEPEND="
|
|
${RDEPEND}
|
|
test? ( dev-ml/alcotest )
|
|
"
|
|
|
|
RESTRICT="!test? ( test )"
|
|
REQUIRED_USE="
|
|
certify? ( mirage tsig )
|
|
cli? ( certify client dnssec server tsig )
|
|
resolver? ( dnssec mirage server )
|
|
server? ( mirage )
|
|
stub? ( client mirage resolver tsig server )
|
|
test? ( cli dnssec resolver server tsig )
|
|
"
|
|
|
|
src_compile() {
|
|
local pkgs="dns"
|
|
use dnssec && pkgs="${pkgs},dnssec"
|
|
for u in certify cli client mirage resolver server stub tsig ; do
|
|
if use ${u} ; then
|
|
pkgs="${pkgs},dns-${u}"
|
|
fi
|
|
done
|
|
dune build -p "${pkgs}" -j $(makeopts_jobs) || die
|
|
}
|
|
|
|
src_install() {
|
|
dune_src_install dns
|
|
use dnssec && dune_src_install dnssec
|
|
for u in certify cli client mirage resolver server stub tsig ; do
|
|
if use ${u} ; then
|
|
dune_src_install "dns-${u}"
|
|
fi
|
|
done
|
|
}
|