1# pkg-help formatted with fmt 59 63 2 3PORTNAME= bind 4DISTVERSION= 9.21.21 5.if defined(BIND_TOOLS_SLAVE) 6# dns/bind-tools here 7PORTREVISION= 0 8.else 9# XXX: correct version 10# dns/bind9xx here 11PORTREVISION= 0 12.endif 13CATEGORIES= dns net 14MASTER_SITES= ISC/bind9/${DISTVERSION} 15.if defined(BIND_TOOLS_SLAVE) 16PKGNAMESUFFIX= -tools 17.else 18# XXX: correct SUFFIX. 19PKGNAMESUFFIX= 9-devel 20.endif 21 22MAINTAINER= ports@MidnightBSD.org 23.if defined(BIND_TOOLS_SLAVE) 24COMMENT= Command line tools from BIND: delv, dig, host, nslookup... 25.else 26COMMENT= BIND DNS suite with updated DNSSEC and DNS64 27.endif 28WWW= https://www.isc.org/bind/ 29 30# Uncomment when bind9xx comes of age. +3 years if ESV, +1year otherwise, see 31# https://kb.isc.org/docs/aa-00896 32# DEPRECATED= End of life, please migrate to a newer version of BIND9 33# EXPIRATION_DATE= XXX-12-31 34 35LICENSE= MPL20 36LICENSE_FILE= ${WRKSRC}/COPYRIGHT 37 38LIB_DEPENDS= libnghttp2.so:www/libnghttp2 \ 39 liburcu.so:sysutils/liburcu \ 40 libuv.so:devel/libuv \ 41 liblmdb.so:databases/lmdb 42 43.if !defined(BIND_TOOLS_SLAVE) 44RUN_DEPENDS= bind-tools>0:dns/bind-tools 45.endif 46 47USES= compiler:c11 cpe gnome libedit meson perl5 pkgconfig \ 48 ssl tar:xz 49 50CPE_VENDOR= isc 51CPE_VERSION= ${DISTVERSION:C/-.*//} 52.if ${DISTVERSION:M*-*} 53CPE_UPDATE= ${DISTVERSION:C/.*-//:tl} 54.endif 55 56USE_PERL5= build 57 58.if !defined(BIND_TOOLS_SLAVE) 59USE_RC_SUBR= named 60.endif # !BIND_TOOLS_SLAVE 61 62MESON_ARGS= --localstatedir=/var \ 63 --sysconfdir=${ETCDIR} \ 64 -Ddoh=enabled \ 65 -Djemalloc=disabled 66 67MAKE_JOBS_UNSAFE= yes 68 69.if !defined(BIND_TOOLS_SLAVE) 70# XXX: Add -devel 71CONFLICTS= bind9[0-9][0-9] 72.endif # !BIND_TOOLS_SLAVE 73 74ETCDIR= ${PREFIX}/etc/namedb 75 76# FIXME: figure out why build fails if enabled 77MESON_ARGS+= -Dtracing=disabled 78 79.if defined(BIND_TOOLS_SLAVE) 80MESON_ARGS+= -Dbind-tools=enabled \ 81 -Dlibdir=${PREFIX}/lib/bind-tools 82.else 83MESON_ARGS+= -Dbind-tools=disabled 84# XXX: remove the big warning about it being a development version from pkg-message 85SUB_FILES= named.conf pkg-message 86 87PORTDOCS= * 88.endif # BIND_TOOLS_SLAVE 89 90OPTIONS_DEFINE= DNSTAP DOCS GEOIP IDN OVERRIDECACHE QUERYTRACE \ 91 START_LATE 92OPTIONS_DEFAULT= DNSTAP GSSAPI_NONE IDN STATS_JSON STATS_XML 93 94OPTIONS_GROUP= STATS 95OPTIONS_GROUP_STATS= STATS_JSON STATS_XML 96 97OPTIONS_SINGLE= GSSAPI 98OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE 99 100.if defined(BIND_TOOLS_SLAVE) 101OPTIONS_EXCLUDE= DOCS GEOIP OVERRIDECACHE QUERYTRACE START_LATE \ 102 STATS_JSON STATS_XML 103.endif # BIND_TOOLS_SLAVE 104 105OPTIONS_SUB= yes 106 107DNSTAP_DESC= Provides fast passive logging of DNS messages 108GSSAPI_BASE_DESC= Using Heimdal in base (nsupdate is broken) 109GSSAPI_HEIMDAL_DESC= Using security/heimdal (nsupdate is broken) 110GSSAPI_MIT_DESC= Using security/krb5 111GSSAPI_NONE_DESC= Disable 112OVERRIDECACHE_DESC= Use the override-cache patch 113QUERYTRACE_DESC= Enable the very verbose query tracelogging 114START_LATE_DESC= Start BIND late in the boot process (see help) 115STATS_DESC= Statistics channels 116STATS_JSON_DESC= Enable JSON statistics channel 117STATS_XML_DESC= Enable XML statistics channel 118 119DNSTAP_LIB_DEPENDS= libfstrm.so:devel/fstrm \ 120 libprotobuf-c.so:devel/protobuf-c 121DNSTAP_MESON_ENABLED= dnstap 122 123DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR} \ 124 sphinx-build:textproc/py-sphinx 125DOCS_USES= python:env 126DOCS_MESON_ENABLED= doc 127DOCS_ALL_TARGET= all arm 128 129GEOIP_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb 130GEOIP_MESON_ENABLED= geoip 131 132GSSAPI_BASE_USES= gssapi 133GSSAPI_BASE_CONFIGURE_ENV= ${GSSAPI_CONFIGURE_ARGS} \ 134 KRB5_CONFIG="${KRB5CONFIG}" 135GSSAPI_BASE_MESON_ON= -Dgssapi=enabled 136 137GSSAPI_HEIMDAL_USES= gssapi:heimdal 138GSSAPI_HEIMDAL_CONFIGURE_ENV= ${GSSAPI_CONFIGURE_ARGS} \ 139 KRB5_CONFIG="${KRB5CONFIG}" 140GSSAPI_HEIMDAL_MESON_ON= -Dgssapi=enabled 141 142GSSAPI_MIT_USES= gssapi:mit 143GSSAPI_MIT_CONFIGURE_ENV= ${GSSAPI_CONFIGURE_ARGS} \ 144 KRB5_CONFIG="${KRB5CONFIG}" 145GSSAPI_MIT_MESON_ON= -Dgssapi=enabled 146 147GSSAPI_NONE_MESON_ON= -Dgssapi=disabled 148 149IDN_LIB_DEPENDS= libidn2.so:dns/libidn2 150IDN_USES= iconv 151IDN_MESON_ENABLED= idn 152 153OVERRIDECACHE_EXTRA_PATCHES= ${FILESDIR}/extrapatch-bind-min-override-ttl 154 155QUERYTRACE_MESON_ON= -Dtrace-logging=query 156 157START_LATE_SUB_LIST= NAMED_BEFORE="LOGIN" \ 158 NAMED_REQUIRE="SERVERS cleanvar" 159START_LATE_SUB_LIST_OFF= NAMED_BEFORE="SERVERS" \ 160 NAMED_REQUIRE="NETWORKING ldconfig syslogd" 161 162STATS_JSON_LIB_DEPENDS= libjson-c.so:devel/json-c 163STATS_JSON_MESON_ENABLED= stats-json 164STATS_JSON_LDFLAGS= -L${LOCALBASE}/lib -ljson-c 165 166STATS_XML_USE= GNOME=libxml2 167STATS_XML_MESON_ENABLED= stats-xml 168 169.include <bsd.mport.options.mk> 170 171.if defined(WITH_DEBUG) 172MESON_ARGS+= -Ddeveloper=enabled 173BUILD_DEPENDS+= cmocka>0:sysutils/cmocka 174.else 175MESON_ARGS+= -Dcmocka=disabled \ 176 -Ddeveloper=disabled 177.endif 178 179.include <bsd.port.pre.mk> 180 181.if ${SSL_DEFAULT} == base 182SUB_LIST+= ENGINES=/usr/lib/engines 183.else 184SUB_LIST+= ENGINES=${LOCALBASE}/lib/engines 185.endif 186 187.if !defined(BIND_TOOLS_SLAVE) 188post-install: 189 ${MKDIR} ${STAGEDIR}${PREFIX}/etc/mtree 190 ${MKDIR} ${STAGEDIR}${ETCDIR} 191. for i in dynamic primary secondary working 192 @${MKDIR} ${STAGEDIR}${ETCDIR}/$i 193. endfor 194 ${INSTALL_DATA} ${WRKDIR}/named.conf ${STAGEDIR}${ETCDIR}/named.conf.sample 195 ${INSTALL_DATA} ${FILESDIR}/named.root ${STAGEDIR}${ETCDIR} 196 ${INSTALL_DATA} ${FILESDIR}/empty.db ${STAGEDIR}${ETCDIR}/primary 197 ${INSTALL_DATA} ${FILESDIR}/localhost-forward.db ${STAGEDIR}${ETCDIR}/primary 198 ${INSTALL_DATA} ${FILESDIR}/localhost-reverse.db ${STAGEDIR}${ETCDIR}/primary 199 ${INSTALL_DATA} ${FILESDIR}/BIND.chroot.dist ${STAGEDIR}${PREFIX}/etc/mtree/BIND.chroot.dist.sample 200 ${INSTALL_DATA} ${FILESDIR}/BIND.chroot.local.dist ${STAGEDIR}${PREFIX}/etc/mtree/BIND.chroot.local.dist.sample 201 202 (for dir in ${WRKSRC}/lib/*/include; do \ 203 cd $$dir && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include '-name *.h'; \ 204 done) 205 206post-install-DOCS-on: 207 ${MKDIR} ${STAGEDIR}${DOCSDIR}/arm 208 ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR} 209 cd ${WRKSRC}/_build/arm && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/arm 210.endif # BIND_TOOLS_SLAVE 211 212.include <bsd.port.post.mk> 213