summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-dns/bind-tools/Manifest1
-rw-r--r--net-dns/bind-tools/bind-tools-9.16.13.ebuild149
2 files changed, 150 insertions, 0 deletions
diff --git a/net-dns/bind-tools/Manifest b/net-dns/bind-tools/Manifest
index d2e19f1561bb..16c004385810 100644
--- a/net-dns/bind-tools/Manifest
+++ b/net-dns/bind-tools/Manifest
@@ -1 +1,2 @@
DIST bind-9.16.12.tar.xz 5017756 BLAKE2B e48fe94432a93df1f7f61b2d7ecb596e82a156deab3ee8dd3f5f11139028d42f839c483200ca6954076dfb68e768353a0ceb0d360d9e1dff3e36cf5ad06e8c43 SHA512 001613bd3c8bfc73d60bf3c053b233233a981132206e1ae5847820c5416ba0d65b0e026817ea3a718c7d3745c28a8de8dd9fb4355344955bead7bc2e1433e074
+DIST bind-9.16.13.tar.xz 5028340 BLAKE2B 7208d6361f84472a5549fd8d521878b1481c0930b1181fa79c99b9f7e7d3f736c120f0ca416e9aecca77015568428551937ee77449f441e9cd881779123e51b7 SHA512 1f3c8f54dd2c9e18cd9b67cfebb645d0a8e8f566add07fc4690cb8820bf81640c33b2b0685cb8be095e0f9ac84b2cf78176aea841a30c27d547b569b8353b07b
diff --git a/net-dns/bind-tools/bind-tools-9.16.13.ebuild b/net-dns/bind-tools/bind-tools-9.16.13.ebuild
new file mode 100644
index 000000000000..f983773f1fac
--- /dev/null
+++ b/net-dns/bind-tools/bind-tools-9.16.13.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit 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="https://www.isc.org/software/bind"
+SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz"
+
+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 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+caps doc gssapi idn ipv6 libedit libressl readline xml"
+# no PKCS11 currently as it requires OpenSSL to be patched, also see bug 409687
+
+COMMON_DEPEND="
+ dev-libs/libuv:=
+ caps? ( sys-libs/libcap )
+ !libressl? ( dev-libs/openssl:= )
+ libressl? ( dev-libs/libressl:= )
+ xml? ( dev-libs/libxml2 )
+ idn? ( net-dns/libidn2:= )
+ gssapi? ( virtual/krb5 )
+ libedit? ( dev-libs/libedit )
+ !libedit? (
+ readline? ( sys-libs/readline:= )
+ )
+"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+
+# sphinx required for man-page and html creation
+BDEPEND="
+ doc? ( dev-python/sphinx )
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/${MY_P}"
+
+# bug 479092, requires networking
+RESTRICT="test"
+
+src_prepare() {
+ default
+
+ export LDFLAGS="${LDFLAGS} -L${EPREFIX}/usr/$(get_libdir)"
+
+ # Disable tests for now, bug 406399
+ sed -i '/^SUBDIRS/s:tests::' bin/Makefile.in lib/Makefile.in || die
+
+ # bug #220361
+ rm aclocal.m4 || die
+ rm -rf libtool.m4/ || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --localstatedir="${EPREFIX}"/var
+ --without-python
+ --without-libjson
+ --without-zlib
+ --without-lmdb
+ --without-maxminddb
+ --disable-geoip
+ --with-openssl="${EPREFIX}"/usr
+ $(use_with idn libidn2)
+ $(use_with xml libxml2)
+ $(use_with gssapi)
+ $(use_with readline)
+ $(use_enable caps linux-caps)
+ AR="$(type -P $(tc-getAR))"
+ )
+
+ # 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"
+
+ # to expose CMSG_* macros from sys/sockets.h
+ [[ ${CHOST} == *-solaris* ]] && append-cflags "-D_XOPEN_SOURCE=600"
+
+ # 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/
+ emake -C doc/man/ man $(usev doc)
+}
+
+src_install() {
+ local man_dir="${S}/doc/man"
+ local html_dir="${man_dir}/_build/html"
+
+ dodoc README CHANGES
+
+ cd "${S}"/bin/delv || die
+ dobin delv
+ doman ${man_dir}/delv.1
+
+ cd "${S}"/bin/dig || die
+ dobin dig host nslookup
+ doman ${man_dir}/{dig,host,nslookup}.1
+
+ cd "${S}"/bin/nsupdate || die
+ dobin nsupdate
+ doman ${man_dir}/nsupdate.1
+ if use doc; then
+ docinto html
+ dodoc ${html_dir}/nsupdate.html
+ fi
+
+ cd "${S}"/bin/dnssec || die
+ for tool in dsfromkey importkey keyfromlabel keygen \
+ revoke settime signzone verify; do
+ dobin dnssec-"${tool}"
+ doman ${man_dir}/dnssec-"${tool}".8
+ if use doc; then
+ docinto html
+ dodoc ${html_dir}/dnssec-"${tool}".html
+ fi
+ done
+}