| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=5 |
| PYTHON_COMPAT=( python2_7 ) |
| |
| inherit eutils flag-o-matic multilib-minimal python-single-r1 systemd user |
| |
| DESCRIPTION="A validating, recursive and caching DNS resolver" |
| HOMEPAGE="http://unbound.net/" |
| SRC_URI="http://unbound.net/downloads/${P}.tar.gz" |
| |
| LICENSE="BSD GPL-2" |
| SLOT="0" |
| KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~s390 ~sh ~sparc x86 ~x64-macos" |
| IUSE="debug gost python selinux static-libs 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[${MULTILIB_USEDEP}] |
| >=dev-libs/openssl-1.0.1h-r2[${MULTILIB_USEDEP}] |
| python? ( ${PYTHON_DEPS} )" |
| |
| DEPEND="${CDEPEND} |
| python? ( dev-lang/swig ) |
| test? ( |
| net-dns/ldns-utils[examples] |
| dev-util/splint |
| app-text/wdiff |
| )" |
| |
| RDEPEND="${CDEPEND} |
| selinux? ( sec-policy/selinux-bind )" |
| |
| # bug #347415 |
| RDEPEND="${RDEPEND} |
| net-dns/dnssec-root" |
| |
| pkg_setup() { |
| enewgroup unbound |
| enewuser unbound -1 -1 /etc/unbound unbound |
| |
| use python && python-single-r1_pkg_setup |
| } |
| |
| src_prepare() { |
| # To avoid below error messages, set 'trust-anchor-file' to same value in |
| # 'auto-trust-anchor-file'. |
| # [23109:0] error: Could not open autotrust file for writing, |
| # /etc/dnssec/root-anchors.txt: Permission denied |
| epatch "${FILESDIR}"/${PN}-1.4.12-gentoo.patch |
| |
| # 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 static-libs static) \ |
| $(multilib_native_use_with python pythonmodule) \ |
| $(multilib_native_use_with python pyunbound) \ |
| $(use_with threads pthreads) \ |
| --disable-rpath \ |
| --enable-ecdsa \ |
| --with-libevent="${EPREFIX}"/usr \ |
| --with-pidfile="${EPREFIX}"/var/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() { |
| prune_libtool_files --modules |
| use python && python_optimize |
| |
| newinitd "${FILESDIR}"/unbound.initd unbound |
| newconfd "${FILESDIR}"/unbound.confd unbound |
| |
| systemd_dounit "${FILESDIR}"/unbound.service |
| 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 |
| } |