summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-dns/knot')
-rw-r--r--net-dns/knot/Manifest1
-rw-r--r--net-dns/knot/knot-2.9.6.ebuild102
2 files changed, 103 insertions, 0 deletions
diff --git a/net-dns/knot/Manifest b/net-dns/knot/Manifest
index 04b8806234e1..048bb98b0d4b 100644
--- a/net-dns/knot/Manifest
+++ b/net-dns/knot/Manifest
@@ -1,2 +1,3 @@
DIST knot-2.8.5.tar.xz 1209076 BLAKE2B 7454499745caa04a9454f023bed0ce6d8ccc54fc2c264aada72a842c39b056a91caee908eb1b036fe77b97d8cea4f03b9afcd084a69846a2632e717f7c3591fd SHA512 f45e62816ddc1f534e724d2fa71831100efc01b415ec2ea8301d02cf44d8f104a248deccdb706ebad6853404aee2a209c2bf51b07076aa69340af6812e5a79de
DIST knot-2.9.5.tar.xz 1190872 BLAKE2B 4c60972676efb2e6cef5431ab688ffff9eeda4fe5f9a02bba10fbfced50c1edc9e15b9cea9e018428f3d075ab241128748fa1f777e6fc9de0dbdca1033c8d92a SHA512 6bfd6a720eb512983f934c3bf853ac310391805a102546ed18b3e805d10339837569e970e0e51f64e9d938bc362c8f9d01acb15ca4dca0a66dea9deb6b59cc73
+DIST knot-2.9.6.tar.xz 1188412 BLAKE2B 95b165bf37079fbda91cc8e81b8a4a5e662d53bf5efdf9a96cfd59646fe246f0c59e2438d42f9566dcf6dbe675400d450e131f66bfa88769b1c3fcf55b09d849 SHA512 95164a8ec913b3e3f01355d7f41f08caf6048c39317e63b2968e2bf8cf2ed08791ea0136b1e721add07f183b81a241ab2c2b8779c44368079d8eac082f49e368
diff --git a/net-dns/knot/knot-2.9.6.ebuild b/net-dns/knot/knot-2.9.6.ebuild
new file mode 100644
index 000000000000..2cc9e9753dfc
--- /dev/null
+++ b/net-dns/knot/knot-2.9.6.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit systemd
+
+DESCRIPTION="High-performance authoritative-only DNS server"
+HOMEPAGE="https://www.knot-dns.cz/"
+SRC_URI="https://secure.nic.cz/files/knot-dns/${P/_/-}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+KNOT_MODULES=(
+ "+cookies"
+ "+dnsproxy"
+ "dnstap"
+ "geoip"
+ "+noudp"
+ "+onlinesign"
+ "+queryacl"
+ "+rrl"
+ "+stats"
+ "+synthrecord"
+ "+whoami"
+)
+IUSE="doc caps +fastparser idn +libidn2 systemd +utils ${KNOT_MODULES[@]}"
+
+RDEPEND="
+ acct-group/knot
+ acct-user/knot
+ dev-db/lmdb
+ dev-libs/libedit
+ dev-libs/userspace-rcu:=
+ dev-python/lmdb
+ net-libs/gnutls:=
+ caps? ( sys-libs/libcap-ng )
+ dnstap? (
+ dev-libs/fstrm
+ dev-libs/protobuf-c:=
+ )
+ geoip? ( dev-libs/libmaxminddb:= )
+ idn? (
+ !libidn2? ( net-dns/libidn:0= !net-dns/libidn2 )
+ libidn2? ( net-dns/libidn2:= )
+ )
+ systemd? ( sys-apps/systemd:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( dev-python/sphinx )
+"
+
+S="${WORKDIR}/${P/_/-}"
+
+src_configure() {
+ local u
+ local my_conf=(
+ --with-storage="${EPREFIX}/var/lib/${PN}"
+ --with-rundir="${EPREFIX}/var/run/${PN}"
+ $(use_enable fastparser)
+ $(use_enable dnstap)
+ $(use_enable doc documentation)
+ $(use_enable utils utilities)
+ --enable-systemd=$(usex systemd)
+ $(use_with idn libidn)
+ )
+
+ for u in "${KNOT_MODULES[@]#+}"; do
+ my_conf+=("$(use_with ${u} module-${u})")
+ done
+
+ econf "${my_conf[@]}"
+}
+
+src_compile() {
+ default
+
+ use doc && emake -C doc html
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ use doc && local HTML_DOCS=( doc/_build/html/{*.html,*.js,_sources,_static} )
+
+ default
+
+ rmdir "${D}/var/run/${PN}" "${D}/var/run/" || die
+
+ newinitd "${FILESDIR}/knot.init" knot
+ if use systemd; then
+ systemd_newunit "${FILESDIR}/knot-1.service" knot.service
+ fi
+
+ find "${D}" -name '*.la' -delete || die
+}