Created
July 14, 2011 14:24
-
-
Save nabeken/1082550 to your computer and use it in GitHub Desktop.
unbound.ebuild
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright 1999-2012 Gentoo Foundation | |
# Distributed under the terms of the GNU General Public License v2 | |
# $Header: $ | |
EAPI="3" | |
PYTHON_DEPEND="python? 2:2.5" | |
inherit autotools eutils python | |
DESCRIPTION="ldns is a library with the aim to simplify DNS programing in C" | |
HOMEPAGE="http://www.nlnetlabs.nl/projects/ldns/" | |
SRC_URI="http://www.nlnetlabs.nl/downloads/${PN}/${P}.tar.gz" | |
LICENSE="BSD" | |
SLOT="0" | |
KEYWORDS="~amd64" | |
IUSE="doc gost ecdsa python ssl static-libs vim-syntax" | |
RESTRICT="test" # 1.6.9 has no test directory | |
RDEPEND="ssl? ( >=dev-libs/openssl-0.9.7 ) | |
ecdsa? ( >=dev-libs/openssl-0.9.8 ) | |
gost? ( >=dev-libs/openssl-1 )" | |
DEPEND="${RDEPEND} | |
python? ( dev-lang/swig ) | |
doc? ( app-doc/doxygen )" | |
pkg_setup() { | |
python_set_active_version 2 | |
} | |
src_prepare() { | |
epatch "${FILESDIR}/1.6.12-cflags.patch" | |
eautoreconf | |
} | |
src_configure() { | |
econf \ | |
$(use_enable gost) \ | |
$(use_enable ecdsa) \ | |
$(use_enable ssl sha2) \ | |
$(use_enable static-libs static) \ | |
$(use_with ssl) \ | |
$(use_with python pyldns) \ | |
--disable-rpath || die "econf failed" | |
} | |
src_compile() { | |
emake || die "emake failed" | |
if use doc ; then | |
emake doxygen || die "emake doxygen failed" | |
fi | |
} | |
src_install() { | |
emake DESTDIR="${D}" install || die "emake install failed" | |
dodoc Changelog README* || die "dodoc failed" | |
if use python ; then | |
find "${ED}$(python_get_sitedir)" "(" -name "*.a" -o -name "*.la" ")" -type f -delete || die | |
fi | |
if ! use static-libs ; then | |
find "${ED}" -name "*.la" -type f -delete || die | |
fi | |
if use doc ; then | |
dohtml doc/html/* || die "dohtml failed" | |
fi | |
if use vim-syntax ; then | |
insinto /usr/share/vim/vimfiles/ftdetect | |
doins libdns.vim || die "doins libdns.vim failed" | |
fi | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright 1999-2012 Gentoo Foundation | |
# Distributed under the terms of the GNU General Public License v2 | |
# $Header: $ | |
EAPI="3" | |
PYTHON_DEPEND="python? 2" | |
SUPPORT_PYTHON_ABIS="1" | |
RESTRICT_PYTHON_ABIS="3.* 2.7-pypy-* *-jython" | |
inherit eutils flag-o-matic python | |
DESCRIPTION="A validating, recursive and caching DNS resolver" | |
HOMEPAGE="http://unbound.net/" | |
SRC_URI="http://unbound.net/downloads/${P}.tar.gz" | |
LICENSE="BSD" | |
SLOT="0" | |
KEYWORDS="~amd64" | |
IUSE="debug gost ecdsa python selinux static-libs test threads" | |
RDEPEND="dev-libs/expat | |
dev-libs/libevent | |
gost? ( >=dev-libs/openssl-0.9.8 >=net-libs/ldns-1.6.5[ssl,gost?] ) | |
ecdsa? ( >=dev-libs/openssl-0.9.8 >=net-libs/ldns-1.6.13[ssl,ecdsa?] ) | |
selinux? ( sec-policy/selinux-bind )" | |
DEPEND="${RDEPEND} | |
python? ( dev-lang/swig ) | |
test? ( | |
net-dns/ldns-utils[examples] | |
dev-util/splint | |
app-text/wdiff | |
)" | |
# bug #347415 | |
RDEPEND="${RDEPEND} | |
net-dns/dnssec-root" | |
pkg_setup() { | |
enewgroup unbound | |
enewuser unbound -1 -1 /etc/unbound unbound | |
use python && python_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" | |
} | |
src_configure() { | |
append-ldflags -Wl,-z,noexecstack || die | |
econf \ | |
--with-pidfile="${EPREFIX}"/var/run/unbound.pid \ | |
--with-ldns="${EPREFIX}"/usr \ | |
--with-libevent="${EPREFIX}"/usr \ | |
--with-rootkey-file="${EPREFIX}"/etc/dnssec/root-anchors.txt \ | |
$(use_enable debug) \ | |
$(use_enable gost) \ | |
$(use_enable ecdsa) \ | |
$(use_enable static-libs static) \ | |
$(use_with threads pthreads) \ | |
$(use_with python pyunbound) \ | |
$(use_with python pythonmodule) \ | |
--disable-rpath || die | |
# 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) \ | |
} | |
src_install() { | |
emake DESTDIR="${D}" install || die "emake install failed" | |
# bug #299016 | |
if use python ; then | |
find "${ED}" -name '_unbound.{la,a}' -delete || die | |
fi | |
if ! use static-libs ; then | |
find "${ED}" -name "*.la" -type f -delete || die | |
fi | |
newinitd "${FILESDIR}/unbound.initd" unbound || die "newinitd failed" | |
newconfd "${FILESDIR}/unbound.confd" unbound || die "newconfd failed" | |
dodoc doc/{README,CREDITS,TODO,Changelog,FEATURES} || die "dodoc failed" | |
# bug #315519 | |
#exeinto /usr/libexec/munin/plugins | |
#doexe contrib/unbound_munin_ || die "doexe failed" | |
dodoc contrib/unbound_munin_ || die "dodoc failed" | |
docinto selinux | |
dodoc contrib/selinux/* || die "dodoc failed" | |
exeinto /usr/share/${PN} | |
doexe contrib/update-anchor.sh || die "doexe failed" | |
} | |
pkg_postinst() { | |
use python && python_mod_optimize unbound.py unboundmodule.py | |
elog | |
elog "unbound is now chrooted to /etc/unbound by default." | |
elog "To disable chroot, you can set chroot: \"\" in unbound.conf." | |
elog | |
elog "If you'd like to run unbound with 'trust-anchor-file' enabled " | |
elog "in chroot environment, copy /etc/dnssec/root-anchors.txt " | |
elog "to /etc/unbound and set trust-anchor-file to /root-anchors.txt." | |
elog | |
} | |
pkg_postrm() { | |
use python && python_mod_cleanup unbound.py unboundmodule.py | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment