# 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-0.4.0:= >=dev-ml/gmap-0.3.0:= >=dev-ml/cstruct-6.0.0:= >=dev-ml/ipaddr-5.2.0:= >=dev-ml/lru-0.3.0:= >=dev-ml/duration-0.1.2:= dev-ml/metrics:= >=dev-ml/ocaml-base64-3.3.0:= >=dev-ml/fmt-0.8.8:= dnssec? ( dev-ml/mirage-crypto:=[ec,pk] ) certify? ( >=dev-ml/randomconv-0.1.2:= >=dev-ml/mirage-time-2.0.0:= >=dev-ml/mirage-clock-3.0.0:= >=dev-ml/tcpip-7.0.0:= >=dev-ml/mirage-crypto-0.8.0:=[ec,pk,rng] >=dev-ml/x509-0.13.0:= >=dev-ml/lwt-4.2.1:= ) cli? ( >=dev-ml/bos-0.2.0:= >=dev-ml/cmdliner-1.1.0:= >=dev-ml/fpath-0.7.2:= >=dev-ml/x509-0.13.0:= >=dev-ml/mirage-crypto-0.8.0:=[ec,pk,rng] >=dev-ml/hex-1.4.0:= >=dev-ml/mtime-1.2.0:= >=dev-ml/fmt-0.8.8:= >=dev-ml/lwt-4.0.0:= dev-ml/randomconv:= ) client? ( >=dev-ml/fmt-0.8.0:= >=dev-ml/lwt-4.2.1:= >=dev-ml/tcpip-7.0.0:= >=dev-ml/mirage-random-2.0.0:= >=dev-ml/mirage-time-2.0.0:= >=dev-ml/mirage-clock-3.0.0:= >=dev-ml/mirage-crypto-0.8.0:=[rng] >=dev-ml/happy-eyeballs-0.1.0:= >=dev-ml/tls-0.15.0:=[mirage] >=dev-ml/x509-0.16.0:= dev-ml/ca-certs:= dev-ml/ca-certs-nss:= ) mirage? ( >=dev-ml/lwt-4.2.1:= >=dev-ml/tcpip-7.0.0:= ) resolver? ( >=dev-ml/randomconv-0.1.2:= >=dev-ml/lwt-4.2.1:= >=dev-ml/mirage-time-2.0.0:= >=dev-ml/mirage-clock-3.0.0:= >=dev-ml/mirage-random-2.0.0:= >=dev-ml/tcpip-7.0.0:= dev-ml/tls:=[mirage] >=dev-ml/duration-0.1.2:= ) server? ( >=dev-ml/randomconv-0.1.2:= >=dev-ml/duration-0.1.2:= >=dev-ml/lwt-4.2.1:= >=dev-ml/mirage-time-2.0.0:= >=dev-ml/mirage-clock-3.0.0:= >=dev-ml/tcpip-7.0.0:= dev-ml/mirage-crypto:=[rng] ) stub? ( >=dev-ml/randomconv-0.1.2:= >=dev-ml/lwt-4.2.1:= >=dev-ml/mirage-time-2.0.0:= >=dev-ml/mirage-clock-3.0.0:= >=dev-ml/mirage-random-2.0.0:= >=dev-ml/tcpip-7.0.0:= ) 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 }