summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-dns/getdns/Manifest1
-rw-r--r--net-dns/getdns/files/stubby.confd4
-rwxr-xr-xnet-dns/getdns/files/stubby.initd21
-rw-r--r--net-dns/getdns/getdns-1.4.1.ebuild66
-rw-r--r--net-dns/getdns/metadata.xml17
5 files changed, 109 insertions, 0 deletions
diff --git a/net-dns/getdns/Manifest b/net-dns/getdns/Manifest
new file mode 100644
index 000000000000..2df8dc169a73
--- /dev/null
+++ b/net-dns/getdns/Manifest
@@ -0,0 +1 @@
+DIST getdns-1.4.1.tar.gz 1055348 BLAKE2B 3b664e669327f5d866e6b40defb3ee4b62a09be228cac726478dbc6843b64aaf49faa328e1013700daf554c4df1144a8d56cca9d9405057d35b89b8ab7ae1f43 SHA512 b15da1c898d4bb4e5dcd93b47f481696dd456d8a841b02122c46035f3da27ca13b5513e7b6a00e943d1a5f5cec8c5ce1f13729d3ce0c887d8faa31d201864b27
diff --git a/net-dns/getdns/files/stubby.confd b/net-dns/getdns/files/stubby.confd
new file mode 100644
index 000000000000..b862ea4a40d7
--- /dev/null
+++ b/net-dns/getdns/files/stubby.confd
@@ -0,0 +1,4 @@
+# /etc/conf.d/stubby: config file for /etc/init.d/stubby
+
+# See stubby -h for possible options to put here.
+STUBBY_OPTS=""
diff --git a/net-dns/getdns/files/stubby.initd b/net-dns/getdns/files/stubby.initd
new file mode 100755
index 000000000000..170db9be07fe
--- /dev/null
+++ b/net-dns/getdns/files/stubby.initd
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+command="capsh"
+command_args="--inh=cap_net_bind_service --user=stubby -- -c '/usr/bin/stubby -g ${STUBBY_OPTS}'"
+pidfile="/var/run/stubby/stubby.pid"
+name="DNS Privacy Daemon"
+
+depend()
+{
+ provide dns
+ need localmount net
+ after bootmisc
+ use logger
+}
+
+start_pre()
+{
+ checkpath -d -m 1755 -o stubby:stubby /var/run/stubby
+}
diff --git a/net-dns/getdns/getdns-1.4.1.ebuild b/net-dns/getdns/getdns-1.4.1.ebuild
new file mode 100644
index 000000000000..13ab6bc3b156
--- /dev/null
+++ b/net-dns/getdns/getdns-1.4.1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit user fcaps
+
+DESCRIPTION="Modern asynchronous DNS API"
+HOMEPAGE="https://getdnsapi.net/"
+SRC_URI="https://getdnsapi.net/releases/${P//./-}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="stubby +getdns_query +getdns_server_mon libressl +idn +unbound libevent libev libuv +threads"
+
+DEPEND="
+ dev-libs/libyaml:=
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ idn? ( net-dns/libidn2:= )
+ unbound? ( >=net-dns/unbound-1.4.16:= )
+ libevent? ( dev-libs/libevent:= )
+ libev? ( dev-libs/libev:= )
+ libuv? ( dev-libs/libuv:= )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ --runstatedir=/var/run \
+ --with-piddir=/var/run/stubby \
+ $(use_with stubby) \
+ $(use_with getdns_query) \
+ $(use_with getdns_server_mon) \
+ $(use_with idn libidn2) \
+ --without-libidn \
+ $(use_with unbound libunbound) \
+ $(use_with libevent) \
+ $(use_with libev) \
+ $(use_with libuv) \
+ $(use_with threads libpthread)
+}
+
+src_install() {
+ default
+ if use stubby; then
+ newinitd "${FILESDIR}"/stubby.initd stubby
+ newconfd "${FILESDIR}"/stubby.confd stubby
+ fi
+}
+
+pkg_postinst() {
+ if use stubby; then
+ enewgroup stubby
+ enewuser stubby -1 -1 -1 stubby
+ fcaps cap_net_bind_service=ei /usr/bin/stubby
+ fi
+
+ if has_version <dev-libs/libressl-2.7.0; then
+ ewarn "BEWARE: dev-libs/libressl prior to 2.7 does NOT check TLS certificates."
+ if use stubby; then
+ ewarn "You will NOT be able to use strict profile in Stubby."
+ fi
+ fi
+}
diff --git a/net-dns/getdns/metadata.xml b/net-dns/getdns/metadata.xml
new file mode 100644
index 000000000000..16e6ffa9c9cf
--- /dev/null
+++ b/net-dns/getdns/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gentoo@retornaz.com</email>
+ <name>Quentin Retornaz</name>
+ </maintainer>
+ <use>
+ <flag name="stubby">Add Stubby DNS Privacy Deamon</flag>
+ <flag name="getdns_query">Add getdns_query tool</flag>
+ <flag name="getdns_server_mon">Add getdns_server_mon tool</flag>
+ <flag name="unbound">Enable <pkg>net-dns/unbound</pkg> libraries support</flag>
+ <flag name="libevent">Enable <pkg>dev-libs/libevent</pkg> support</flag>
+ <flag name="libev">Enable <pkg>dev-libs/libev</pkg> support</flag>
+ <flag name="libuv">Enable <pkg>dev-libs/libuv</pkg> support</flag>
+ </use>
+</pkgmetadata>