# $Id$

PortSystem 1.0

name			bind9
version			9.11.0
categories		net
maintainers		geeklair.net:dluke
platforms		darwin freebsd sunos

description		Domain Name System server
license			MPL

long_description	The BIND DNS Server is used on the vast majority of name \
				serving machines on the Internet, providing a robust \
				and stable architecture on top of which an \
				organization's naming architecture can be built. The \
				resolver library included in the BIND distribution \
				provides the standard APIs for translation between domain names \
				and Internet addresses and is intended to be linked with applications \
				requiring name service.

homepage		http://www.isc.org

distname		bind-${version}
master_sites		isc:${name}/${version}

checksums	md5	b12f386e35f3193e6255ed8c03230539 \
		sha1	6fbb59cc435b79e9cea4747aacbad1314d38ac95 \
		rmd160	9303701a2afd5955b5b94e1466063e455e41ce77

depends_lib		path:lib/libssl.dylib:openssl port:libxml2

patchfiles-append	gssapi-link.patch

use_parallel_build	no
universal_variant	no

test.run		yes
test.target		test

startupitem.create	yes
startupitem.netchange	yes
startupitem.executable	${prefix}/sbin/named -u named -f

add_users		named group=named

configure.env		STD_CDEFINES=-DDIG_SIGCHASE=1

configure.args		--mandir=${prefix}/share/man \
				--with-openssl=${prefix} \
				--with-libxml2=${prefix} \
				--without-libjson \
				--enable-threads \
				--enable-ipv6

platform darwin 8 {
	configure.args-append --with-dlopen=no \
				--with-gssapi=no
}

platform darwin 9 {
	configure.args-append --with-dlopen=no
}

post-destroot	{
	# Ensure needed directories
	xinstall -o named -g named -m 755 -d \
		${destroot}${prefix}/var/named \
		${destroot}${prefix}/var/run/named

	# Install the conf file as a sample
	xinstall -o root -m 644 ${filespath}/named.conf \
		${destroot}${prefix}/etc/named.conf.dist
	reinplace "s|%%PREFIX%%|${prefix}|g" \
		${destroot}${prefix}/etc/named.conf.dist

	# Install the db files as samples
	foreach f "db.127.0.0 db.cache db.localhost" {
		xinstall -o named -g named -m 644 ${filespath}/${f} \
			${destroot}${prefix}/var/named/${f}.dist
	}

	destroot.keepdirs ${destroot}${prefix}/var/run/named
}

notes "******************************************************
* To setup named to run, you need to copy named.conf.dist
* to named.conf:
* sudo cp ${prefix}/etc/named.conf.dist ${prefix}/etc/named.conf
* and edit as needed. If you use the default zone files for
* 127.0.0, localhost, and the cache, you also need to copy
* those files:
* sudo cp ${prefix}/var/named/db.127.0.0.dist ${prefix}/var/named/db.127.0.0
* sudo cp ${prefix}/var/named/db.cache.dist ${prefix}/var/named/db.cache
* sudo cp ${prefix}/var/named/db.localhost.dist ${prefix}/var/named/db.localhost
* 
* You may want to generate a key (for rndc):
* $ sudo rndc-confgen -a
*
* Remember to secure your configuration:
* http://www.cymru.com/Documents/secure-bind-template.html
*
* The bind9 port now sets up named to run as non-root, you may
* need to adjust your named.conf to put the pidfile and any
* logging into a directory where this new user can write files.
******************************************************"

livecheck.type	regex
livecheck.url	${homepage}/downloads/
livecheck.regex	"target=\"_blank\">BIND (\\d+\.\\d+\.\\d+) - tar.gz</a>"