# $Id: Portfile 67876 2010-05-20 13:27:56Z dluke@macports.org $

PortSystem 1.0

name			bind9
version			9.7.0-P2

categories		net
maintainers		geeklair.net:dluke
platforms		darwin freebsd sunos

description		Domain Name System server
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	47fc341901f00c1d815bef12ab4533de \
		sha1	4b805d4a66075a88c93c5b852b928da96467aa2d \
		rmd160	e77877f9ef7341071f4f458863ebe715e2f6506f

depends_lib		port:openssl port:libxml2

use_parallel_build	no
universal_variant	no

test.run		yes
test.target		test

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

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

post-destroot	{
	# Ensure needed directories
	xinstall -m 755 -d \
		${destroot}${prefix}/var/named \
		${destroot}${prefix}/var/run
	
	# 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 root -m 644 ${filespath}/${f} \
			${destroot}${prefix}/var/named/${f}.dist
	}

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

post-destroot {
	ui_msg "******************************************************"
	ui_msg "* To setup named to run, you need to copy named.conf.dist"
	ui_msg "* to named.conf:"
	ui_msg "* sudo cp ${prefix}/etc/named.conf.dist ${prefix}/etc/named.conf"
	ui_msg "* and edit as needed. If you use the default zone files for"
	ui_msg "* 127.0.0, localhost, and the cache, you also need to copy"
	ui_msg "* those files:"
	ui_msg "* sudo cp ${prefix}/var/named/db.127.0.0.dist ${prefix}/var/named/db.127.0.0"
	ui_msg "* sudo cp ${prefix}/var/named/db.cache.dist ${prefix}/var/named/db.cache"
	ui_msg "* sudo cp ${prefix}/var/named/db.localhost.dist ${prefix}/var/named/db.localhost"
	ui_msg "******************************************************"
}

variant dlz_mysql5 description {Dynamically Loaded Zones (dlz) stored in MySQL 5.x} {
	depends_lib-append \
		path:bin/mysql_config5:mysql5
	patchfiles-append patch-configure
	patchfiles-append patch-contrib-dlz-config.dlz.in
	# Threads are not safe when bind9 is compiled with dlz
	configure.args-delete \
		--enable-threads
	configure.args-append \
		--with-dlz-mysql=${prefix}/bin/mysql_config5 \
		--disable-threads
}
