dev-ml/dns: initial import

Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2022-04-07 02:07:51 +02:00
parent d8352a19c0
commit 00f7687752
3 changed files with 157 additions and 0 deletions

1
dev-ml/dns/Manifest Normal file
View File

@@ -0,0 +1 @@
DIST ocaml-dns-5.0.1.tar.gz 175810 BLAKE2B 0c442b9bc60f05c0cd73c811aced7b33afad7f9462572891ce88e0d67bbd57cace2123ed4ca7ebb3468d23b7b3fe419f06fa19ebaa0182f3d4d5036100ef7a9d SHA512 f66eeeaa7e3f8f2122ac82132d042493f5b63659d3626bd84cb38dc75c141def38303adbea9f748417de9cb355262bed3838ccf40f530eb6fcce58068f99c2e4

133
dev-ml/dns/dns-5.0.1.ebuild Normal file
View File

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

23
dev-ml/dns/metadata.xml Normal file
View File

@@ -0,0 +1,23 @@
<?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/ocaml-dns</remote-id>
</upstream>
<use>
<flag name="certify">MirageOS let's encrypt certificate retrieval</flag>
<flag name="cli">Unix command line utilities using uDNS</flag>
<flag name="client">DNS resolver API</flag>
<flag name="dnssec">DNSSec support for OCaml-DNS</flag>
<flag name="mirage">An opinionated Domain Name System (DNS) library</flag>
<flag name="resolver">DNS resolver business logic</flag>
<flag name="server">DNS server, primary and secondary</flag>
<flag name="stub">DNS stub resolver</flag>
<flag name="tsig">TSIG support for DNS</flag>
</use>
</pkgmetadata>