net-dns/getdns: new package
authorCaseOf <caseoffr@outlook.com>
Thu, 12 Apr 2018 18:37:01 +0000 (20:37 +0200)
committerAnthony G. Basile <blueness@gentoo.org>
Sun, 15 Apr 2018 15:15:09 +0000 (11:15 -0400)
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
net-dns/getdns/Manifest [new file with mode: 0644]
net-dns/getdns/files/stubby.confd [new file with mode: 0644]
net-dns/getdns/files/stubby.initd [new file with mode: 0755]
net-dns/getdns/getdns-1.4.1.ebuild [new file with mode: 0644]
net-dns/getdns/metadata.xml [new file with mode: 0644]

diff --git a/net-dns/getdns/Manifest b/net-dns/getdns/Manifest
new file mode 100644 (file)
index 0000000..2df8dc1
--- /dev/null
@@ -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 (file)
index 0000000..b862ea4
--- /dev/null
@@ -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 (executable)
index 0000000..170db9b
--- /dev/null
@@ -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 (file)
index 0000000..13ab6bc
--- /dev/null
@@ -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 (file)
index 0000000..16e6ffa
--- /dev/null
@@ -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>