# Created by: Sergey Matveychuk # $FreeBSD$ PORTNAME= unbound PORTVERSION= 1.5.8 CATEGORIES= dns MASTER_SITES= http://unbound.net/downloads/ MAINTAINER= jaap@NLnetLabs.nl COMMENT= Validating, recursive, and caching DNS resolver LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE USES+= autoreconf cpe libtool CPE_VENDOR= nlnetlabs USE_OPENSSL= yes GNU_CONFIGURE= yes CONFIGURE_ARGS+=--with-ssl=${OPENSSLBASE} --with-libexpat=${LOCALBASE} USE_LDCONFIG= yes USERS= ${PORTNAME} GROUPS= ${PORTNAME} USE_RC_SUBR= unbound PORTDOCS= CREDITS Changelog FEATURES LICENSE README README.svn \ README.tests TODO control_proto_spec.txt ietf67-design-02.odp \ ietf67-design-02.pdf requirements.txt OPTIONS_SUB= yes OPTIONS_DEFINE= THREADS PYTHON GOST ECDSA MUNIN_PLUGIN DOCS LIBEVENT FILTER_AAAA DNSTAP OPTIONS_DEFAULT=THREADS ECDSA LIBEVENT_DESC= Build against libevent GOST_DESC= Enable GOST support (requires OpenSSL >= 1.0) ECDSA_DESC= Enable ECDSA (elliptic curve) support (OpenSSL >= 1.0) MUNIN_PLUGIN_DESC= Install Munin plugin FILTER_AAAA_DESC= Build with AAAA filter functionality (contrib) DNSTAP_DESC= Enable dnstap logging support .include LIB_DEPENDS+= libexpat.so:${PORTSDIR}/textproc/expat2 \ libldns.so:${PORTSDIR}/dns/ldns STRIP_FILES= .libs/libunbound.so unbound-checkconf unbound \ unbound-control .libs/unbound-host .libs/unbound-anchor .if ${PORT_OPTIONS:MPYTHON} USES+= python:2 CONFIGURE_ARGS+=--with-pyunbound=yes --with-pythonmodule=yes LDFLAGS="-L${LOCALBASE}/lib" BUILD_DEPENDS+= swig:${PORTSDIR}/devel/swig13 STRIP_FILES+= .libs/_unbound.so .endif .if ${PORT_OPTIONS:MGOST} . if ${OPSYS} == FreeBSD && ${OSVERSION} < 1000015 WITH_OPENSSL_PORT= yes . endif DEPENDS_ARGS+= WITH_GOST=yes .else CONFIGURE_ARGS+=--disable-gost .endif .if ${PORT_OPTIONS:MECDSA} DEPENDS_ARGS+= WITH_ECDSA=yes .else CONFIGURE_ARGS+=--disable-ecdsa .endif .if ${PORT_OPTIONS:MDNSTAP} CONFIGURE_ARGS+=--enable-dnstap LIB_DEPENDS+= libprotobuf-c.so:${PORTSDIR}/devel/protobuf-c LIB_DEPENDS+= libfstrm.so:${PORTSDIR}/devel/fstrm .endif .if ${PORT_OPTIONS:MMUNIN_PLUGIN} SUB_FILES+= pkg-message MUNIN_PLUGIN_ALL= hits queue memory by_type by_class by_opcode by_rcode \ by_flags histogram .endif .if ${PORT_OPTIONS:MLIBEVENT} LIB_DEPENDS+= libevent.so:${PORTSDIR}/devel/libevent2 USES+= pkgconfig CONFIGURE_ARGS+=--with-libevent CPPFLAGS+= $$(pkg-config libevent --cflags-only-I) LDFLAGS+= $$(pkg-config libevent --libs-only-L) .else CONFIGURE_ARGS+=--with-libevent=no .endif .if empty(PORT_OPTIONS:MTHREADS) CONFIGURE_ARGS+=--without-pthreads .endif post-patch: @${RM} ${WRKSRC}/util/configlexer.c @${REINPLACE_CMD} -e 's|if test ! -e $$(DESTDIR)$$(configfile); then || ; \ s|$$(configfile); fi|$$(configfile).sample|' \ ${WRKSRC}/Makefile.in post-patch-FILTER_AAAA-on: ${CAT} ${WRKSRC}/contrib/aaaa-filter-iterator.patch | ${PATCH} -d ${WRKSRC} -p1 -s post-build: @for s in ${STRIP_FILES}; do ${STRIP_CMD} ${WRKSRC}/$$s; done post-install-PYTHON-on: @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/_unbound.so post-install-MUNIN_PLUGIN-on: @${MKDIR} ${STAGEDIR}${PREFIX}/share/munin/plugins @${MKDIR} ${STAGEDIR}${PREFIX}/etc/munin/plugins @${INSTALL_SCRIPT} ${WRKDIR}/unbound-${PORTVERSION}/contrib/unbound_munin_ \ ${STAGEDIR}${PREFIX}/share/munin/plugins/ @for i in ${MUNIN_PLUGIN_ALL}; do \ ${LN} -fs ${PREFIX}/share/munin/plugins/unbound_munin_ \ ${STAGEDIR}${PREFIX}/etc/munin/plugins/unbound_munin_$$i; \ done @${ECHO_MSG} @${ECHO_MSG} "=============================================================" @${CAT} ${WRKDIR}/pkg-message @${ECHO_MSG} "=============================================================" post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/doc/|} ${STAGEDIR}${DOCSDIR} regression-test: build (cd ${WRKSRC} && ${MAKE} test) .include