# $Id: Portfile 54550 2009-07-29 13:00:54Z dluke@macports.org $

PortSystem 1.0

name			bind9
version			9.6.1-P1

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	e6ce3b355c4e6bf5d66ef100f555da3f \
		sha1	b266511994525b6203af173fd6dda9db58c500a8 \
		rmd160	7421f22f0f30c70ba0324216a4410a2682ecdf1a

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
}
