aboutsummaryrefslogtreecommitdiff
path: root/dns/bind910/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'dns/bind910/Makefile')
-rw-r--r--dns/bind910/Makefile230
1 files changed, 230 insertions, 0 deletions
diff --git a/dns/bind910/Makefile b/dns/bind910/Makefile
new file mode 100644
index 000000000000..d1f455bed983
--- /dev/null
+++ b/dns/bind910/Makefile
@@ -0,0 +1,230 @@
+# $FreeBSD$
+
+PORTNAME= bind
+PORTVERSION= 9.10.0rc1
+CATEGORIES= dns net ipv6
+MASTER_SITES= ${MASTER_SITE_ISC}
+MASTER_SITE_SUBDIR= bind9/${ISCVERSION}
+PKGNAMESUFFIX= 910
+DISTNAME= ${PORTNAME}-${ISCVERSION}
+
+MAINTAINER= mat@FreeBSD.org
+COMMENT= BIND DNS suite with updated DNSSEC and DNS64
+
+LICENSE= ISCL
+
+# ISC releases things like 9.8.0-P1, which our versioning doesn't like
+ISCVERSION= 9.10.0rc1
+
+MAKE_JOBS_UNSAFE= yes
+
+LIB_DEPENDS= libxml2.so:${PORTSDIR}/textproc/libxml2
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --localstatedir=/var --disable-linux-caps \
+ --disable-symtable \
+ --with-randomdev=/dev/random \
+ --with-libxml2=${LOCALBASE} \
+ --without-python
+ETCDIR= ${PREFIX}/etc/namedb
+
+CONFLICTS= bind9*-9.[456789].* bind9*-sdb-9.[456789].* bind-tools-9.*
+
+OPTIONS_SUB= yes
+OPTIONS_DEFAULT= IPV6 SSL THREADS SIGCHASE IDN
+OPTIONS_DEFINE= IDN REPLACE_BASE LARGE_FILE \
+ FIXED_RRSET SIGCHASE IPV6 THREADS GSSAPI FILTER_AAAA
+OPTIONS_RADIO= CRYPTO
+OPTIONS_RADIO_CRYPTO= SSL NATIVE_PKCS11
+
+.if !defined(BIND_TOOLS_SLAVE)
+OPTIONS_DEFAULT+= RRL
+OPTIONS_DEFINE+= LINKS RPZ_NSIP RPZ_NSDNAME RRL DOCS NEWSTATS GEOIP
+OPTIONS_GROUP= DLZ
+OPTIONS_GROUP_DLZ= DLZ_POSTGRESQL DLZ_MYSQL DLZ_BDB \
+ DLZ_LDAP DLZ_FILESYSTEM DLZ_STUB
+.endif # BIND_TOOLS_SLAVE
+
+SSL_DESC= Build with OpenSSL (Required for DNSSEC)
+REPLACE_BASE_DESC= Replace base BIND (FreeBSD 9.x and earlier)
+LARGE_FILE_DESC= 64-bit file support
+FIXED_RRSET_DESC= Enable fixed rrset ordering
+SIGCHASE_DESC= dig/host/nslookup will do DNSSEC validation
+FILTER_AAAA_DESC= Enable filtering of AAAA records
+CRYPTO_DESC= Choose which crypto engine to use
+NATIVE_PKCS11_DESC= Use PKCS\#11 native API (**READ HELP**)
+GEOIP_DESC= Allow geographically based ACL.
+
+LINKS_DESC= Create conf file symlinks in ${PREFIX}
+NEWSTATS_DESC= Enable alternate xml statistics channel format
+RPZ_NSIP_DESC= Enable RPZ NSIP trigger rules
+RPZ_NSDNAME_DESC= Enable RPZ NSDNAME policy records
+RRL_DESC= Response Rate Limiting
+DLZ_DESC= Dynamically Loadable Zones
+DLZ_POSTGRESQL_DESC= DLZ Postgres driver
+DLZ_MYSQL_DESC= DLZ MySQL driver (no threading)
+DLZ_BDB_DESC= DLZ BDB driver
+DLZ_LDAP_DESC= DLZ LDAP driver
+DLZ_FILESYSTEM_DESC= DLZ filesystem driver
+DLZ_STUB_DESC= DLZ stub driver
+
+.if !defined(BIND_TOOLS_SLAVE)
+CONFLICTS+= bind-tools-9.*
+.endif # BIND_TOOLS_SLAVE
+
+SSL_CONFIGURE_ON= --with-openssl=${OPENSSLBASE}
+SSL_USE= openssl=yes
+SSL_CONFIGURE_OFF= --disable-openssl-version-check --without-openssl
+
+NEWSTATS_CONFIGURE_ENABLE= newstats
+
+IDN_USES= iconv
+IDN_CONFIGURE_ON= --with-idn=${LOCALBASE} ${ICONV_CONFIGURE_BASE}
+IDN_LIB_DEPENDS= libidnkit.so:${PORTSDIR}/dns/idnkit
+IDN_CONFIGURE_OFF= --without-idn
+
+LARGE_FILE_CONFIGURE_ENABLE= largefile
+
+SIGCHASE_CONFIGURE_ON= STD_CDEFINES="-DDIG_SIGCHASE=1"
+
+IPV6_CONFIGURE_ENABLE= ipv6
+
+FILTER_AAAA_CONFIGURE_ENABLE= filter-aaaa
+
+NATIVE_PKCS11_CONFIGURE_ENABLE= native-pkcs11
+
+GEOIP_CONFIGURE_WITH= geoip
+GEOIP_LIB_DEPENDS= libGeoIP.so:${PORTSDIR}/net/GeoIP
+
+DLZ_POSTGRESQL_CONFIGURE_ON= --with-dlz-postgres=yes
+DLZ_POSTGRESQL_USE= pgsql=yes
+
+FIXED_RRSET_CONFIGURE_ENABLE= fixed-rrset
+
+RPZ_NSIP_CONFIGURE_ENABLE= rpz-nsip
+
+RPZ_NSDNAME_CONFIGURE_ENABLE= rpz-nsdname
+
+RRL_CONFIGURE_ENABLE= rrl
+
+DLZ_MYSQL_CONFIGURE_ON= --with-dlz-mysql=yes
+DLZ_MYSQL_USE= mysql=yes
+
+DLZ_BDB_CONFIGURE_ON= --with-dlz-bdb=yes
+DLZ_BDB_USE= bdb=yes
+
+DLZ_LDAP_CONFIGURE_ON= --with-dlz-ldap=yes
+DLZ_LDAP_USE= openldap=yes
+
+DLZ_FILESYSTEM_CONFIGURE_ON= --with-dlz-filesystem=yes
+
+DLZ_STUB_CONFIGURE_ON= --with-dlz-stub=yes
+
+.if defined(HEIMDAL_HOME)
+GSSAPI_CONFIGURE_ON= --with-gssapi=${HEIMDAL_HOME}
+GSSAPI_CONFIGURE_OFF= --without-gssapi
+.else
+GSSAPI_CONFIGURE_WITH= gssapi
+.endif
+
+.include <bsd.port.options.mk>
+
+.if (${ARCH} == "amd64")
+ARCH= x86_64
+.endif
+
+.if !${PORT_OPTIONS:MLINKS} || ${PORT_OPTIONS:MREPLACE_BASE}
+PKGINSTALL=${NONEXISTENT}
+.endif
+
+.if ${PORT_OPTIONS:MTHREADS} && !${PORT_OPTIONS:MDLZ_MYSQL}
+CONFIGURE_ARGS+= --enable-threads
+.else
+CONFIGURE_ARGS+= --disable-threads
+.endif
+
+.if ${PORT_OPTIONS:MREPLACE_BASE}
+.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000100
+IGNORE= REPLACE_BASE option is not supported on this release
+.endif
+PKGNAMESUFFIX= -base
+PREFIX= /usr
+PLIST_SUB+= SHARE_MAN="share/"
+NO_MTREE= yes
+BIND_DESTETC= /etc/namedb
+.else
+PLIST_SUB+= SHARE_MAN=""
+.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000100
+BIND_DESTETC= ${PREFIX}/etc/namedb
+PKGINSTALL= ${NONEXISTENT}
+.else
+BIND_DESTETC= ${PREFIX}/etc
+.endif
+.endif
+
+PKGDEINSTALL= ${PKGINSTALL}
+
+CONFIGURE_ARGS+= --prefix=${PREFIX} \
+ --sysconfdir=${BIND_DESTETC}
+PLIST_SUB+= BIND_DESTETC="${BIND_DESTETC}"
+SUB_LIST+= BIND_DESTETC="${BIND_DESTETC}"
+
+.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000100
+PLIST_SUB+= NOBASE="" BASE="@comment "
+USE_RC_SUBR+= named
+SUB_FILES+= named.conf
+.else
+PLIST_SUB+= NOBASE="@comment " BASE=""
+.if ${PORT_OPTIONS:MSSL}
+WITH_OPENSSL_PORT= yes
+.endif
+.endif
+
+.if !defined(BIND_TOOLS_SLAVE)
+post-patch:
+.for FILE in check/named-checkconf.8 named/named.8 nsupdate/nsupdate.1 \
+ rndc/rndc.8
+ @${MV} ${WRKSRC}/bin/${FILE} ${WRKSRC}/bin/${FILE}.Dist
+ @${SED} -e 's#/etc/named.conf#${BIND_DESTETC}/named.conf#g' \
+ -e 's#/etc/rndc.conf#${BIND_DESTETC}/rndc.conf#g' \
+ -e "s#/var\/run\/named\/named.pid#/var/run/named/pid#" \
+ ${WRKSRC}/bin/${FILE}.Dist > ${WRKSRC}/bin/${FILE}
+.endfor
+ @${MV} ${WRKSRC}/Makefile.in ${WRKSRC}/Makefile.in.Dist
+ @${SED} -e 's#.*bind\.keys.*##' ${WRKSRC}/Makefile.in.Dist > \
+ ${WRKSRC}/Makefile.in
+ @${MV} ${WRKSRC}/bin/named/Makefile.in ${WRKSRC}/bin/named/Makefile.in.Dist
+ @${SED} -e 's/$${PERL}/#/' -e 's/bind.keys.h/#/g' -e 's/bind9.xsl.h/#/g' \
+ ${WRKSRC}/bin/named/Makefile.in.Dist > \
+ ${WRKSRC}/bin/named/Makefile.in
+
+.if ${PORT_OPTIONS:MDOCS}
+PORTDOCS= *
+.endif
+post-install:
+.if ${PORT_OPTIONS:MDOCS}
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}/arm ${STAGEDIR}${DOCSDIR}/misc
+ ${INSTALL_DATA} ${WRKSRC}/doc/arm/*.html ${STAGEDIR}${DOCSDIR}/arm
+ ${INSTALL_DATA} ${WRKSRC}/doc/arm/Bv9ARM.pdf ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/misc/[a-z]* ${STAGEDIR}${DOCSDIR}/misc
+ ${INSTALL_DATA} ${WRKSRC}/CHANGES ${WRKSRC}/COPYRIGHT ${WRKSRC}/FAQ \
+ ${WRKSRC}/HISTORY ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
+.endif
+
+.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000100
+ ${MKDIR} ${STAGEDIR}${BIND_DESTETC}
+.for i in dynamic master slave working
+ @${MKDIR} ${STAGEDIR}${BIND_DESTETC}/$i
+.endfor
+ ${INSTALL_DATA} ${WRKDIR}/named.conf ${STAGEDIR}${BIND_DESTETC}/named.conf.sample
+ ${INSTALL_DATA} ${FILESDIR}/named.root ${STAGEDIR}${BIND_DESTETC}
+ ${INSTALL_DATA} ${FILESDIR}/empty.db ${STAGEDIR}${BIND_DESTETC}/master
+ ${INSTALL_DATA} ${FILESDIR}/localhost-forward.db ${STAGEDIR}${BIND_DESTETC}/master
+ ${INSTALL_DATA} ${FILESDIR}/localhost-reverse.db ${STAGEDIR}${BIND_DESTETC}/master
+.endif
+ ${INSTALL_DATA} ${WRKSRC}/bin/rndc/rndc.conf \
+ ${STAGEDIR}${BIND_DESTETC}/rndc.conf.sample
+
+.endif # BIND_TOOLS_SLAVE
+
+.include <bsd.port.mk>