# Template file for 'bind'
pkgname=bind
reverts="9.13.6_1"
version=9.11.13
revision=1
_fullver="${version}${_patchver:+-${_patchver}}"
wrksrc="${pkgname}-${_fullver}"
build_style=gnu-configure
configure_args="--disable-static --enable-threads --enable-largefile
 --with-libtool --enable-atomic --sysconfdir=/etc/named --enable-epoll
 --enable-ipv6 --with-randomdev=/dev/random --with-ecdsa=yes --with-eddsa=no
 --with-libtool --with-openssl=${XBPS_CROSS_BASE}/usr --without-gssapi --without-gost
 --enable-openssl-hash --with-readline --with-tuning=default --without-python
 --enable-fetchlimit --enable-sit --with-libidn2 $(vopt_enable seccomp)
 $(vopt_if geoip "--with-geoip=${XBPS_CROSS_BASE}/usr" "--without-geoip")"
hostmakedepends="automake libtool perl"
makedepends="libressl-devel libxml2-devel libcap-devel readline-devel libatomic-devel
 libidn2-devel $(vopt_if geoip geoip-devel) $(vopt_if seccomp libseccomp-devel)"
short_desc="Berkeley Internet Name Domain server"
maintainer="Orphaned <orphan@voidlinux.org>"
license="ISC"
homepage="https://www.isc.org/downloads/bind/"
distfiles="https://ftp.isc.org/isc/bind9/${_fullver}/bind-${_fullver}.tar.gz"
checksum=fd3f3cc9fcfcdaa752db35eb24598afa1fdcc2509d3227fc90a8631b7b400f7d

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 seccomp"
build_options_default="geoip"

case "$XBPS_TARGET_MACHINE" in
	x86_64*|i686*) build_options_default+=" seccomp";;
esac

pre_configure() {
	# various bind-utils segfault with musl-1.1.24 in catgets
	# TODO: actually fix instead of disabling it
	case "$XBPS_TARGET_MACHINE" in
		*-musl)	vsed -e 's/#define HAVE_CATGETS 1//g' -i configure
	esac
}

do_check() {
	# requires special network setup
	:
}

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

	vinstall bin/tests/system/common/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; 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/bin/isc-config.sh
		vmove usr/bin/bind9-config
		vmove usr/share/man/man1/isc-config.sh.1
		vmove usr/share/man/man1/bind9-config.1
		vmove usr/include
		vmove usr/share/man/man3
		vmove usr/lib/*.so
	}
}
