diff --git a/dev-ml/dns/Manifest b/dev-ml/dns/Manifest new file mode 100644 index 0000000000..c3df7b70da --- /dev/null +++ b/dev-ml/dns/Manifest @@ -0,0 +1 @@ +DIST ocaml-dns-5.0.1.tar.gz 175810 BLAKE2B 0c442b9bc60f05c0cd73c811aced7b33afad7f9462572891ce88e0d67bbd57cace2123ed4ca7ebb3468d23b7b3fe419f06fa19ebaa0182f3d4d5036100ef7a9d SHA512 f66eeeaa7e3f8f2122ac82132d042493f5b63659d3626bd84cb38dc75c141def38303adbea9f748417de9cb355262bed3838ccf40f530eb6fcce58068f99c2e4 diff --git a/dev-ml/dns/dns-5.0.1.ebuild b/dev-ml/dns/dns-5.0.1.ebuild new file mode 100644 index 0000000000..c305e148ff --- /dev/null +++ b/dev-ml/dns/dns-5.0.1.ebuild @@ -0,0 +1,133 @@ +# 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 --only-packages "${pkgs}" -j $(makeopts_jobs) --profile release || 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 +} diff --git a/dev-ml/dns/metadata.xml b/dev-ml/dns/metadata.xml new file mode 100644 index 0000000000..57d04d4a5c --- /dev/null +++ b/dev-ml/dns/metadata.xml @@ -0,0 +1,23 @@ + + + + + co-maintainers welcome + lssndrbarbieri@gmail.com + Alessandro Barbieri + + + mirage/ocaml-dns + + + MirageOS let's encrypt certificate retrieval + Unix command line utilities using uDNS + DNS resolver API + DNSSec support for OCaml-DNS + An opinionated Domain Name System (DNS) library + DNS resolver business logic + DNS server, primary and secondary + DNS stub resolver + TSIG support for DNS + +