# Template file for 'bind'
pkgname=bind
version=9.20.24
revision=1
_fullver="${version}${_patchver:+-${_patchver}}"
build_style=gnu-configure
configure_args="--disable-static --enable-largefile
 --sysconfdir=/etc/named --with-openssl=${XBPS_CROSS_BASE}/usr
 --with-gssapi=yes --with-readline --with-lmdb=yes --with-json-c
 --with-libidn2 --with-libxml2 --with-jemalloc=yes --enable-rpath"
hostmakedepends="automake libtool perl pkg-config"
makedepends="openssl-devel libxml2-devel libcap-devel readline-devel mit-krb5-devel
 libidn2-devel libuv-devel $(vopt_if geoip geoip-devel) liburcu-devel nghttp2-devel
 lmdb-devel json-c-devel jemalloc-devel"
checkdepends="python3-pytest"
short_desc="Berkeley Internet Name Domain server"
maintainer="Orphaned <orphan@voidlinux.org>"
license="MPL-2.0"
homepage="https://www.isc.org/downloads/bind/"
changelog="https://gitlab.isc.org/isc-projects/bind9/-/blob/v${version}/doc/changelog/changelog-${version}.rst"
distfiles="https://ftp.isc.org/isc/bind9/${_fullver}/bind-${_fullver}.tar.xz"
checksum=989fef1fc88ea59d04cd86f854dca5a4616a20a9968bcdde3c1a3668ab36be08
# guarantee subpackage ordering
subpackages="bind-libs bind-utils bind-devel"
# requires special network setup
make_check=extended

conf_files="/etc/named/named.conf"
system_accounts="named"
named_descr="BIND DNS server"
named_homedir="/var/named"
make_dirs="/var/named 0770 root named"

build_options="geoip"
build_options_default="geoip"

pre_configure() {
	if [ -n "$CROSS_BUILD" ]; then
		for l in ns isccfg isccc isc dns ; do
			LDFLAGS+=" -Wl,--rpath-link=$wrksrc/lib/${l}/.libs"
		done
		vsed -e "s|ac_lib_lmdb_path in /usr|ac_lib_lmdb_path in ${XBPS_CROSS_BASE} /usr|g" -i configure
	fi
}

post_install() {
	vsv named
	vinstall ${FILESDIR}/named.logrotate 600 etc/logrotate.d named
	vinstall ${FILESDIR}/named.conf 640 etc/named

	vinstall ${FILESDIR}/root.hint 640 var/named
	vinstall ${FILESDIR}/127.0.0.zone 640 var/named
	vinstall ${FILESDIR}/localhost.zone 640 var/named
	vlicense COPYRIGHT LICENSE
}

bind-libs_package() {
	short_desc+=" - Runtime libraries"
	pkg_install() {
		vmove "usr/lib/*-*.so"
	}
}

bind-utils_package() {
	short_desc+=" - DNS utils"
	pkg_install() {
		for f in dig host nslookup nsupdate delv mdig; do
			vmove usr/bin/${f}
			vmove usr/share/man/man1/${f}.1
		done
	}
}

bind-devel_package() {
	depends="bind-libs>=${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib/*.so"
	}
}
