diff options
Diffstat (limited to 'dns/bind9-devel/Makefile')
-rw-r--r-- | dns/bind9-devel/Makefile | 170 |
1 files changed, 81 insertions, 89 deletions
diff --git a/dns/bind9-devel/Makefile b/dns/bind9-devel/Makefile index 33117e7339a8..cded8d4f852e 100644 --- a/dns/bind9-devel/Makefile +++ b/dns/bind9-devel/Makefile @@ -1,7 +1,7 @@ # pkg-help formatted with fmt 59 63 PORTNAME= bind -DISTVERSION= 9.21.7 +DISTVERSION= 9.21.11 .if defined(BIND_TOOLS_SLAVE) # dns/bind-tools here PORTREVISION= 0 @@ -20,12 +20,12 @@ PKGNAMESUFFIX= 9-devel .endif MAINTAINER= mat@FreeBSD.org -WWW= https://www.isc.org/bind/ .if defined(BIND_TOOLS_SLAVE) COMMENT= Command line tools from BIND: delv, dig, host, nslookup... .else COMMENT= BIND DNS suite with updated DNSSEC and DNS64 .endif +WWW= https://www.isc.org/bind/ # Uncomment when bind9xx comes of age. +3 years if ESV, +1year otherwise, see # https://kb.isc.org/docs/aa-00896 @@ -35,65 +35,72 @@ COMMENT= BIND DNS suite with updated DNSSEC and DNS64 LICENSE= MPL20 LICENSE_FILE= ${WRKSRC}/COPYRIGHT -LIB_DEPENDS= libuv.so:devel/libuv \ - libnghttp2.so:www/libnghttp2 \ - liburcu.so:sysutils/liburcu +LIB_DEPENDS= libnghttp2.so:www/libnghttp2 \ + liburcu.so:sysutils/liburcu \ + libuv.so:devel/libuv .if !defined(BIND_TOOLS_SLAVE) RUN_DEPENDS= bind-tools>0:dns/bind-tools .endif -USES= autoreconf compiler:c11 cpe gnome libedit libtool pkgconfig ssl tar:xz +USES= compiler:c11 cpe gnome libedit libtool meson perl5 pkgconfig \ + ssl tar:xz CPE_VENDOR= isc CPE_VERSION= ${DISTVERSION:C/-.*//} .if ${DISTVERSION:M*-*} CPE_UPDATE= ${DISTVERSION:C/.*-//:tl} .endif -USE_GNOME= libxml2 -GNU_CONFIGURE= yes -GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share -CONFIGURE_ARGS= --localstatedir=/var \ +USE_PERL5= build + +.if !defined(BIND_TOOLS_SLAVE) +USE_RC_SUBR= named +.endif # !BIND_TOOLS_SLAVE + +MESON_ARGS= --localstatedir=/var \ --sysconfdir=${ETCDIR} \ - --with-libxml2 \ - --with-openssl=${OPENSSLBASE} + -Dcap=disabled \ + -Ddoh=enabled \ + -Djemalloc=disabled + +MAKE_JOBS_UNSAFE= yes + +.if !defined(BIND_TOOLS_SLAVE) +# XXX: Add -devel +CONFLICTS= bind9[0-9][0-9] +.endif # !BIND_TOOLS_SLAVE + ETCDIR= ${PREFIX}/etc/namedb # FIXME: figure out why build fails if enabled -CONFIGURE_ARGS+= --disable-tracing +MESON_ARGS+= -Dtracing=disabled .if defined(BIND_TOOLS_SLAVE) -EXTRA_PATCHES= ${PATCHDIR}/extrapatch-bind-tools -CONFIGURE_ARGS+= --libdir=${PREFIX}/lib/bind-tools +MESON_ARGS+= -Dbind-tools=enabled \ + -Dlibdir=${PREFIX}/lib/bind-tools .else -USE_RC_SUBR= named +MESON_ARGS+= -Dbind-tools=disabled # XXX: remove the big warning about it being a development version from pkg-message -SUB_FILES= named.conf pkg-message -EXTRA_PATCHES= ${PATCHDIR}/extrapatch-no-bind-tools +SUB_FILES= named.conf pkg-message PORTDOCS= * +.endif # BIND_TOOLS_SLAVE -# XXX: Add -devel -CONFLICTS= bind9[0-9][0-9] -.endif # BIND_TOOLS_SLAVE +OPTIONS_DEFINE= DNSTAP DOCS GEOIP IDN LMDB OVERRIDECACHE QUERYTRACE \ + START_LATE +OPTIONS_DEFAULT= DNSTAP GSSAPI_NONE IDN LMDB STATS_JSON STATS_XML -MAKE_JOBS_UNSAFE= yes - -OPTIONS_DEFAULT= GSSAPI_NONE IDN JSON LMDB \ - TCP_FASTOPEN DNSTAP -OPTIONS_DEFINE= DNSTAP DOCS GEOIP IDN JSON LARGE_FILE LMDB \ - OVERRIDECACHE QUERYTRACE \ - START_LATE TCP_FASTOPEN +OPTIONS_GROUP= STATS +OPTIONS_GROUP_STATS= STATS_JSON STATS_XML OPTIONS_SINGLE= GSSAPI OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE .if defined(BIND_TOOLS_SLAVE) -OPTIONS_EXCLUDE= DOCS GEOIP LMDB \ - OVERRIDECACHE QUERYTRACE START_LATE \ - TCP_FASTOPEN -.endif # BIND_TOOLS_SLAVE +OPTIONS_EXCLUDE= DOCS GEOIP LMDB OVERRIDECACHE QUERYTRACE START_LATE \ + STATS_JSON STATS_XML +.endif # BIND_TOOLS_SLAVE OPTIONS_SUB= yes @@ -102,77 +109,75 @@ GSSAPI_BASE_DESC= Using Heimdal in base (nsupdate is broken) GSSAPI_HEIMDAL_DESC= Using security/heimdal (nsupdate is broken) GSSAPI_MIT_DESC= Using security/krb5 GSSAPI_NONE_DESC= Disable -LARGE_FILE_DESC= 64-bit file support LMDB_DESC= Use LMDB for zone management OVERRIDECACHE_DESC= Use the override-cache patch QUERYTRACE_DESC= Enable the very verbose query tracelogging START_LATE_DESC= Start BIND late in the boot process (see help) -TCP_FASTOPEN_DESC= RFC 7413 support +STATS_DESC= Statistics channels +STATS_JSON_DESC= Enable JSON statistics channel +STATS_XML_DESC= Enable XML statistics channel -DOCS_ALL_TARGET= all html -DOCS_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx \ - ${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR} -DOCS_USES= gmake python:env +DNSTAP_LIB_DEPENDS= libfstrm.so:devel/fstrm \ + libprotobuf-c.so:devel/protobuf-c +DNSTAP_MESON_ENABLED= dnstap -DNSTAP_CONFIGURE_ENABLE= dnstap -DNSTAP_LIB_DEPENDS= libfstrm.so:devel/fstrm \ - libprotobuf-c.so:devel/protobuf-c +DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR} \ + sphinx-build:textproc/py-sphinx +DOCS_USES= python:env +DOCS_MESON_ENABLED= doc +DOCS_ALL_TARGET= all arm -GEOIP_CONFIGURE_ENABLE= geoip -GEOIP_CONFIGURE_WITH= maxminddb GEOIP_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb +GEOIP_MESON_ENABLED= geoip -GSSAPI_BASE_CONFIGURE_ON= --with-gssapi="${KRB5CONFIG}" \ - ${GSSAPI_CONFIGURE_ARGS} GSSAPI_BASE_USES= gssapi +GSSAPI_BASE_CONFIGURE_ENV= ${GSSAPI_CONFIGURE_ARGS} \ + KRB5_CONFIG="${KRB5CONFIG}" +GSSAPI_BASE_MESON_ON= -Dgssapi=enabled -GSSAPI_HEIMDAL_CONFIGURE_ON= --with-gssapi="${KRB5CONFIG}" \ - ${GSSAPI_CONFIGURE_ARGS} GSSAPI_HEIMDAL_USES= gssapi:heimdal +GSSAPI_HEIMDAL_CONFIGURE_ENV= ${GSSAPI_CONFIGURE_ARGS} \ + KRB5_CONFIG="${KRB5CONFIG}" +GSSAPI_HEIMDAL_MESON_ON= -Dgssapi=enabled -GSSAPI_MIT_CONFIGURE_ON= --with-gssapi="${KRB5CONFIG}" \ - ${GSSAPI_CONFIGURE_ARGS} GSSAPI_MIT_USES= gssapi:mit +GSSAPI_MIT_CONFIGURE_ENV= ${GSSAPI_CONFIGURE_ARGS} \ + KRB5_CONFIG="${KRB5CONFIG}" +GSSAPI_MIT_MESON_ON= -Dgssapi=enabled -GSSAPI_NONE_CONFIGURE_ON= --without-gssapi +GSSAPI_NONE_MESON_ON= -Dgssapi=disabled -IDN_CONFIGURE_OFF= --without-libidn2 -IDN_CONFIGURE_ON= ${ICONV_CONFIGURE_BASE} \ - --with-libidn2=${LOCALBASE} IDN_LIB_DEPENDS= libidn2.so:dns/libidn2 IDN_USES= iconv +IDN_MESON_ENABLED= idn -JSON_CONFIGURE_WITH= json-c -JSON_LIB_DEPENDS= libjson-c.so:devel/json-c -JSON_LDFLAGS= -L${LOCALBASE}/lib -ljson-c - -LARGE_FILE_CONFIGURE_ENABLE= largefile - -LMDB_CONFIGURE_WITH= lmdb=${LOCALBASE} LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb +LMDB_MESON_ENABLED= lmdb OVERRIDECACHE_EXTRA_PATCHES= ${FILESDIR}/extrapatch-bind-min-override-ttl -QUERYTRACE_CONFIGURE_ENABLE= querytrace +QUERYTRACE_MESON_ON= -Dtrace-logging=query START_LATE_SUB_LIST= NAMED_BEFORE="LOGIN" \ NAMED_REQUIRE="SERVERS cleanvar" START_LATE_SUB_LIST_OFF= NAMED_BEFORE="SERVERS" \ NAMED_REQUIRE="NETWORKING ldconfig syslogd" -TCP_FASTOPEN_CONFIGURE_ENABLE= tcp-fastopen +STATS_JSON_LIB_DEPENDS= libjson-c.so:devel/json-c +STATS_JSON_MESON_ENABLED= stats-json +STATS_JSON_LDFLAGS= -L${LOCALBASE}/lib -ljson-c + +STATS_XML_USE= GNOME=libxml2 +STATS_XML_MESON_ENABLED= stats-xml .include <bsd.port.options.mk> .if defined(WITH_DEBUG) -CONFIGURE_ARGS+= --enable-developer -USES+= perl5 -USE_PERL5= build -BUILD_DEPENDS+= cmocka>0:sysutils/cmocka -.endif - -.if !${PORT_OPTIONS:MDOCS} -CONFIGURE_ENV+= ac_cv_path_SPHINX_BUILD= +MESON_ARGS+= -Ddeveloper=enabled +BUILD_DEPENDS+= cmocka>0:sysutils/cmocka +.else +MESON_ARGS+= -Dcmocka=disabled \ + -Ddeveloper=disabled .endif .include <bsd.port.pre.mk> @@ -183,15 +188,6 @@ SUB_LIST+= ENGINES=/usr/lib/engines SUB_LIST+= ENGINES=${LOCALBASE}/lib/engines .endif -post-patch: -.for FILE in check/named-checkconf.rst named/named.rst nsupdate/nsupdate.rst \ - rndc/rndc.rst - @${REINPLACE_CMD} -e 's#/etc/named.conf#${ETCDIR}/named.conf#g' \ - -e 's#/etc/rndc.conf#${ETCDIR}/rndc.conf#g' \ - -e "s#/var\/run\/named\/named.pid#/var/run/named/pid#" \ - ${WRKSRC}/bin/${FILE} -.endfor - .if !defined(BIND_TOOLS_SLAVE) post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/etc/mtree @@ -207,18 +203,14 @@ post-install: ${INSTALL_DATA} ${FILESDIR}/BIND.chroot.dist ${STAGEDIR}${PREFIX}/etc/mtree/BIND.chroot.dist.sample ${INSTALL_DATA} ${FILESDIR}/BIND.chroot.local.dist ${STAGEDIR}${PREFIX}/etc/mtree/BIND.chroot.local.dist.sample + (for dir in ${WRKSRC}/lib/*/include; do \ + cd $$dir && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include '-name *.h'; \ + done) + post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR}/arm ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR} - cd ${WRKSRC}/doc/arm/_build/html && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/arm -.else - -do-install: - for dir in bin lib doc/man; do \ - (cd ${INSTALL_WRKSRC}/$$dir && ${SETENV} ${MAKE_ENV} ${FAKEROOT} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}) ; \ - done - @${RM} -r ${STAGEDIR}${PREFIX}/include - -.endif # BIND_TOOLS_SLAVE + cd ${WRKSRC}/_build/arm && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/arm +.endif # BIND_TOOLS_SLAVE .include <bsd.port.post.mk> |