blob: 276687b352d94a214e87f9f101be9df8ecd2ac1f (
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit eutils autotools flag-o-matic toolchain-funcs
MY_PN=${PN//-tools}
MY_PV=${PV/_p/-P}
MY_PV=${MY_PV/_rc/rc}
MY_P="${MY_PN}-${MY_PV}"
DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen"
HOMEPAGE="http://www.isc.org/software/bind"
SRC_URI="https://www.isc.org/downloads/file/${MY_P}/?version=tar-gz -> ${MY_PN}-${PV}.tar.gz"
LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc gost gssapi idn ipv6 libedit libidn2 libressl readline seccomp ssl urandom xml"
# no PKCS11 currently as it requires OpenSSL to be patched, also see bug 409687
REQUIRED_USE="gost? ( !libressl ssl )
idn? ( !libidn2 )
libidn2? ( !idn )"
CDEPEND="
ssl? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
)
gost? (
|| (
=dev-libs/openssl-1.0*[-bindist]
(
>=dev-libs/openssl-1.1
dev-libs/gost-engine
)
)
)
xml? ( dev-libs/libxml2 )
idn? ( <net-dns/idnkit-2:= )
libidn2? ( net-dns/libidn2:= )
gssapi? ( virtual/krb5 )
libedit? ( dev-libs/libedit )
!libedit? (
readline? ( sys-libs/readline:0= )
)
seccomp? ( sys-libs/libseccomp )"
DEPEND="${CDEPEND}
virtual/pkgconfig"
RDEPEND="${CDEPEND}
!<net-dns/bind-9.10.2"
S="${WORKDIR}/${MY_P}"
# bug 479092, requires networking
RESTRICT="test"
src_prepare() {
default
# Disable tests for now, bug 406399
sed -i '/^SUBDIRS/s:tests::' bin/Makefile.in lib/Makefile.in || die
# bug #220361
rm aclocal.m4
rm -rf libtool.m4/
mv configure.in configure.ac || die # configure.in is deprecated
eautoreconf
}
src_configure() {
local myeconfargs=(
--localstatedir="${EPREFIX}"/var
--without-python
--without-libjson
--without-zlib
--without-lmdb
$(use_enable ipv6)
$(use_with idn idnkit)
$(usex idn --with-idnlib=-lidnkit '')
$(use_with libidn2)
$(use_enable seccomp)
$(use_with ssl openssl "${EPREFIX}"/usr)
$(use_with xml libxml2)
$(use_with gssapi)
$(use_with readline)
$(use_with gost)
)
if use urandom; then
myeconfargs+=( --with-randomdev=/dev/urandom )
else
myeconfargs+=( --with-randomdev=/dev/random )
fi
# bug 607400
if use libedit ; then
myeconfargs+=( --with-readline=-ledit )
elif use readline ; then
myeconfargs+=( --with-readline=-lreadline )
else
myeconfargs+=( --without-readline )
fi
# bug 344029
append-cflags "-DDIG_SIGCHASE"
# localstatedir for nsupdate -l, bug 395785
tc-export BUILD_CC
econf "${myeconfargs[@]}"
# bug #151839
echo '#undef SO_BSDCOMPAT' >> config.h
}
src_compile() {
local AR=$(tc-getAR)
emake AR="${AR}" -C lib/
emake AR="${AR}" -C bin/delv/
emake AR="${AR}" -C bin/dig/
emake AR="${AR}" -C bin/nsupdate/
emake AR="${AR}" -C bin/dnssec/
}
src_install() {
dodoc README CHANGES
cd "${S}"/bin/delv || die
dobin delv
doman delv.1
cd "${S}"/bin/dig || die
dobin dig host nslookup
doman {dig,host,nslookup}.1
cd "${S}"/bin/nsupdate || die
dobin nsupdate
doman nsupdate.1
if use doc; then
docinto html
dodoc nsupdate.html
fi
cd "${S}"/bin/dnssec || die
for tool in dsfromkey importkey keyfromlabel keygen \
revoke settime signzone verify; do
dobin dnssec-"${tool}"
doman dnssec-"${tool}".8
if use doc; then
docinto html
dodoc dnssec-"${tool}".html
fi
done
}
|