blob: 81f8dbfc0f875f0f9e2d471a5c94468a586b298c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EGIT_REPO_URI="https://github.com/PowerDNS/pdns.git"
if [[ ${PV} = 9999 ]]; then
ADDITIONAL_ECLASSES="autotools git-r3"
fi
inherit eutils flag-o-matic user ${ADDITIONAL_ECLASSES}
DESCRIPTION="A highly DNS-, DoS- and abuse-aware loadbalancer"
HOMEPAGE="https://dnsdist.org"
if [[ ${PV} == 9999 ]]; then
SRC_URI=""
S="${WORKDIR}/${P}/pdns/dnsdistdist"
else
SRC_URI="https://downloads.powerdns.com/releases/${P}.tar.bz2"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="dnscrypt luajit regex remote-logging snmp +ssl test"
REQUIRED_USE="dnscrypt? ( ssl )"
DEPEND="
>=dev-libs/boost-1.35:=
dev-libs/libedit:=
luajit? ( dev-lang/luajit:= )
!luajit? ( >=dev-lang/lua-5.1:= )
remote-logging? ( dev-libs/protobuf:= )
regex? ( dev-libs/re2:= )
snmp? ( net-analyzer/net-snmp:= )
ssl? ( dev-libs/libsodium:= )
"
RDEPEND="${DEPEND}"
[[ ${PV} == 9999 ]] && DEPEND+="
app-text/pandoc
dev-util/ragel
"
src_prepare() {
default
[[ ${PV} == 9999 ]] && eautoreconf
}
src_configure() {
econf \
--sysconfdir=/etc/dnsdist \
$(use_enable ssl libsodium) \
$(use_with remote-logging protobuf) \
$(use_enable regex re2) \
$(use_enable dnscrypt) \
$(use_with luajit) \
$(use_enable test unit-tests) \
$(use_with snmp net-snmp)
}
src_install() {
default
insinto /etc/dnsdist
doins "${FILESDIR}"/dnsdist.conf.example
newconfd "${FILESDIR}"/dnsdist.confd ${PN}
newinitd "${FILESDIR}"/dnsdist.initd ${PN}
}
pkg_preinst() {
enewgroup dnsdist
enewuser dnsdist -1 -1 -1 dnsdist
}
pkg_postinst() {
elog "dnsdist provides multiple instances support. You can create more instances"
elog "by symlinking the dnsdist init script to another name."
elog
elog "The name must be in the format dnsdist.<suffix> and dnsdist will use the"
elog "/etc/dnsdist/dnsdist-<suffix>.conf configuration file instead of the default."
}
|