net-dns/unbound: bump to v1.9.2
authorThomas Deutschmann <whissi@gentoo.org>
Mon, 17 Jun 2019 18:10:46 +0000 (20:10 +0200)
committerThomas Deutschmann <whissi@gentoo.org>
Mon, 17 Jun 2019 18:11:04 +0000 (20:11 +0200)
Package-Manager: Portage-2.3.67, Repoman-2.3.14
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
net-dns/unbound/Manifest
net-dns/unbound/unbound-1.9.2.ebuild [new file with mode: 0644]

index f4bcc6fc73c438aec2c5d845de4322fd5b893437..e92ceae8032cedf14b83f7aeb44305b6d446c6de 100644 (file)
@@ -1,2 +1,3 @@
 DIST unbound-1.9.0.tar.gz 5662176 BLAKE2B dff42ca4155df1c364bcfeb37c0f9516e7f167cc59bebd1fcf264db6471ad99804323c59e485662e03ab095932f1ca3fe25693a9ba840e9c0ecad69cf31b1a2d SHA512 7dfa8e078507fc24a2d0938eea590389453bacfcac023f1a41af19350ea1f7b87d0c82d7eead121a11068921292a96865e177274ff27ed8b8868445f80f7baf6
 DIST unbound-1.9.1.tar.gz 5665254 BLAKE2B 68a643cd17139b34e3651e0e72053b0faacf83ae975fff97493c78742ffa7f0d3dbc0028e96e581e125a3591467ec78ae245a718424c2fb32ea7db23ae945f44 SHA512 5dfac7ce3892f73109fdfe0f81863643b1f4c10cee2d4e2d1a28132f1b9ea4d4f89242e4e6348fdadf998f1c75d53577cbf4f719e98faa1342fc3c5de2e8903d
+DIST unbound-1.9.2.tar.gz 5676395 BLAKE2B fa42e6afaf7e7fc98dba35fb6ec4513f7f392194e9124f7a4625c9a51f4b2b58bb63ca40a083b9f3583af3636399df02f92ef7cb0ae10404b7258cddfce82adc SHA512 118f0e53ee2d5cfb53ce1f792ca680cc01b5825bf81575e36bd3b24f3bdbe14e6631401bf1bf85eb2ac2a3fa0ee2ee3eb6a28b245d06d48d9975ce4cc260f764
diff --git a/net-dns/unbound/unbound-1.9.2.ebuild b/net-dns/unbound/unbound-1.9.2.ebuild
new file mode 100644 (file)
index 0000000..e4d1cea
--- /dev/null
@@ -0,0 +1,182 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+
+inherit autotools flag-o-matic multilib-minimal python-single-r1 systemd user
+
+MY_P=${PN}-${PV/_/}
+DESCRIPTION="A validating, recursive and caching DNS resolver"
+HOMEPAGE="https://unbound.net/ https://nlnetlabs.nl/projects/unbound/about/"
+SRC_URI="https://nlnetlabs.nl/downloads/unbound/${MY_P}.tar.gz"
+
+LICENSE="BSD GPL-2"
+SLOT="0/8" # ABI version of libunbound.so
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~x86"
+IUSE="debug dnscrypt dnstap +ecdsa ecs gost libressl python redis selinux static-libs systemd test threads"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# Note: expat is needed by executable only but the Makefile is custom
+# and doesn't make it possible to easily install the library without
+# the executables. MULTILIB_USEDEP may be dropped once build system
+# is fixed.
+
+CDEPEND=">=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+       >=dev-libs/libevent-2.0.21:0=[${MULTILIB_USEDEP}]
+       libressl? ( >=dev-libs/libressl-2.2.4:0[${MULTILIB_USEDEP}] )
+       !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+       dnscrypt? ( dev-libs/libsodium[${MULTILIB_USEDEP}] )
+       dnstap? (
+               dev-libs/fstrm[${MULTILIB_USEDEP}]
+               >=dev-libs/protobuf-c-1.0.2-r1[${MULTILIB_USEDEP}]
+       )
+       ecdsa? (
+               !libressl? ( dev-libs/openssl:0[-bindist] )
+       )
+       python? ( ${PYTHON_DEPS} )
+       redis? ( dev-libs/hiredis:= )"
+
+BDEPEND="virtual/pkgconfig"
+
+DEPEND="${CDEPEND}
+       python? ( dev-lang/swig )
+       test? (
+               net-dns/ldns-utils[examples]
+               dev-util/splint
+               app-text/wdiff
+       )
+       systemd? ( sys-apps/systemd )"
+
+RDEPEND="${CDEPEND}
+       net-dns/dnssec-root
+       selinux? ( sec-policy/selinux-bind )"
+
+# bug #347415
+RDEPEND="${RDEPEND}
+       net-dns/dnssec-root"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.5.7-trust-anchor-file.patch
+       "${FILESDIR}"/${PN}-1.6.3-pkg-config.patch
+)
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+       enewgroup unbound
+       enewuser unbound -1 -1 /etc/unbound unbound
+       # improve security on existing installs (bug #641042)
+       # as well as new installs where unbound homedir has just been created
+       if [[ -d "${ROOT}/etc/unbound" ]]; then
+               chown --no-dereference --from=unbound root "${ROOT}/etc/unbound"
+       fi
+
+       use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       default
+
+       eautoreconf
+
+       # required for the python part
+       multilib_copy_sources
+}
+
+src_configure() {
+       [[ ${CHOST} == *-darwin* ]] || append-ldflags -Wl,-z,noexecstack
+       multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+       econf \
+               $(use_enable debug) \
+               $(use_enable gost) \
+               $(use_enable dnscrypt) \
+               $(use_enable dnstap) \
+               $(use_enable ecdsa) \
+               $(use_enable ecs subnet) \
+               $(multilib_native_use_enable redis cachedb) \
+               $(use_enable static-libs static) \
+               $(use_enable systemd) \
+               $(multilib_native_use_with python pythonmodule) \
+               $(multilib_native_use_with python pyunbound) \
+               $(use_with threads pthreads) \
+               --disable-flto \
+               --disable-rpath \
+               --enable-event-api \
+               --enable-ipsecmod \
+               --enable-tfo-client \
+               --enable-tfo-server \
+               --with-libevent="${EPREFIX%/}"/usr \
+               $(multilib_native_usex redis --with-libhiredis="${EPREFIX%/}/usr" --without-libhiredis) \
+               --with-pidfile="${EPREFIX%/}"/run/unbound.pid \
+               --with-rootkey-file="${EPREFIX%/}"/etc/dnssec/root-anchors.txt \
+               --with-ssl="${EPREFIX%/}"/usr \
+               --with-libexpat="${EPREFIX%/}"/usr
+
+               # http://unbound.nlnetlabs.nl/pipermail/unbound-users/2011-April/001801.html
+               # $(use_enable debug lock-checks) \
+               # $(use_enable debug alloc-checks) \
+               # $(use_enable debug alloc-lite) \
+               # $(use_enable debug alloc-nonregional) \
+}
+
+multilib_src_install_all() {
+       use python && python_optimize
+
+       newinitd "${FILESDIR}"/unbound-r1.initd unbound
+       newconfd "${FILESDIR}"/unbound-r1.confd unbound
+
+       systemd_dounit "${FILESDIR}"/unbound.service
+       systemd_dounit "${FILESDIR}"/unbound.socket
+       systemd_newunit "${FILESDIR}"/unbound_at.service "unbound@.service"
+       systemd_dounit "${FILESDIR}"/unbound-anchor.service
+
+       dodoc doc/{README,CREDITS,TODO,Changelog,FEATURES}
+
+       # bug #315519
+       dodoc contrib/unbound_munin_
+
+       docinto selinux
+       dodoc contrib/selinux/*
+
+       exeinto /usr/share/${PN}
+       doexe contrib/update-anchor.sh
+
+       # create space for auto-trust-anchor-file...
+       keepdir /etc/unbound/var
+       # ... and point example config to it
+       sed -i \
+               -e '/# auto-trust-anchor-file:/s,/etc/dnssec/root-anchors.txt,/etc/unbound/var/root-anchors.txt,' \
+               "${ED%/}/etc/unbound/unbound.conf" || \
+               die
+
+       # Used to store cache data
+       keepdir /var/lib/${PN}
+       fowners root:unbound /var/lib/${PN}
+       fperms 0750 /var/lib/${PN}
+
+       find "${ED}" -name '*.la' -delete || die
+       if ! use static-libs ; then
+               find "${ED}" -name "*.a" -delete || die
+       fi
+}
+
+pkg_postinst() {
+       # make var/ writable by unbound
+       if [[ -d "${EROOT%/}/etc/unbound/var" ]]; then
+               chown --no-dereference --from=root unbound: "${EROOT%/}/etc/unbound/var"
+       fi
+
+       einfo ""
+       einfo "If you want unbound to automatically update the root-anchor file for DNSSEC validation"
+       einfo "set 'auto-trust-anchor-file: ${EROOT%/}/etc/unbound/var/root-anchors.txt' in ${EROOT%/}/etc/unbound/unbound.conf"
+       einfo "and run"
+       einfo ""
+       einfo "  su -s /bin/sh -c '${EROOT%/}/usr/sbin/unbound-anchor -a ${EROOT%/}/etc/unbound/var/root-anchors.txt' unbound"
+       einfo ""
+       einfo "as root to create it initially before starting unbound for the first time after enabling this."
+       einfo ""
+}