PORTNAME= knot-resolver DISTVERSION= 6.0.17 CATEGORIES= dns MASTER_SITES= https://knot-resolver.nic.cz/release/ \ https://dns.company/downloads/knot-resolver/ PKGNAMESUFFIX?= 6 MAINTAINER= freebsd@dns.company COMMENT= Caching full resolver implementation WWW= https://www.knot-resolver.cz/ LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= bash:shells/bash \ flake8:devel/py-flake8@${PY_FLAVOR} \ lua51-cqueues>=20200726_1:devel/lua-cqueues@lua51 \ luacheck:devel/lua-luacheck \ ${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}markupsafe>0:textproc/py-markupsafe@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}aiohttp>0:www/py-aiohttp@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}aiosignal>=1.4.0:devel/py-aiosignal@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}attrs>=25.4.0:devel/py-attrs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}frozenlist>=1.8.0:devel/py-frozenlist@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}idna>=2.10:dns/py-idna@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}multidict>=6.7.0:www/py-multidict@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}propcache>=0.2.0:devel/py-propcache@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyyaml>0:devel/py-pyyaml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}yarl>=1.20.0<2.0:www/py-yarl@${PY_FLAVOR} # some of the py deps are deps of other py deps (so defining double them is superfluous) LIB_DEPENDS= libdnssec.so:dns/knot3 \ libgnutls.so:security/gnutls \ libknot.so:dns/knot3 \ liblmdb.so:databases/lmdb \ libnghttp2.so:www/libnghttp2 \ libuv.so:devel/libuv \ libzscanner.so:dns/knot3 RUN_DEPENDS= lua51-cqueues>=20200726_1:devel/lua-cqueues@lua51 \ ${PYTHON_PKGNAMEPREFIX}markupsafe>0:textproc/py-markupsafe@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}aiohttp>0:www/py-aiohttp@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}aiosignal>=1.4.0:devel/py-aiosignal@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}attrs>=25.4.0:devel/py-attrs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}frozenlist>=1.8.0:devel/py-frozenlist@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}idna>=2.10:dns/py-idna@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}multidict>=6.7.0:www/py-multidict@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}propcache>=0.2.0:devel/py-propcache@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyyaml>0:devel/py-pyyaml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}yarl>=1.20.0<2.0:www/py-yarl@${PY_FLAVOR} USES= cmake:indirect compiler:c11 luajit meson ncurses ninja \ pkgconfig python tar:xz # pkgconfig python:build tar:xz USE_CXXSTD= c++11 USE_PYTHON= autoplist #USE_PYTHON= autoplist concurrent distutils pep517 pytest USE_RC_SUBR= krescachegc kresd CMAKE_ARGS+= -DCLANG_TIDY=${LOCALBASE}/bin/clang-tidy${COMPILER_VERSION:C/.$//} \ -DRUN_CLANG_TIDY=${LOCALBASE}/llvm${COMPILER_VERSION:C/.$//}/bin/run-clang-tidy MESON_ARGS= --buildtype=release \ --default-library=static \ --libdir=${PREFIX}/lib \ --pkg-config-path=${PREFIX}/libdata/pkgconfig \ --prefix=${LOCALBASE} \ --strip \ -Dgroup=${GROUPS} \ -Dinstall_kresd_conf=enabled \ -Dkeyfile_default=${ETCDIR}/root.keys \ -Dmalloc=auto \ -Droot_hints=${ETCDIR}/root.hints \ -Duser=${USERS} \ -Dutils=enabled LDFLAGS+= -L${LOCALBASE}/lib CONFLICTS= knot-resolver-[0-5].* SUB_FILES= pkg-message KRESD_USER= kresd KRESD_GROUP= kresd KRESD_RUNDIR= /var/run/kresd SUB_LIST= GROUPS=${GROUPS} \ RUNDIR=${RUNDIR} \ USERS=${USERS} USERS= ${KRESD_USER} GROUPS= ${KRESD_GROUP} RUNDIR= ${KRESD_RUNDIR} PLIST_SUB= GROUPS=${GROUPS} \ RUNDIR=${RUNDIR} \ USERS=${USERS} PORTDOCS= AUTHORS COPYING CodingStyle NEWS README.md PORTEXAMPLES= config.cluster config.docker config.internal config.isp \ config.personal config.privacy config.splitview OPTIONS_DEFINE= DOCS EXAMPLES DNSTAP TESTUNIT DNSTAP_DESC= dnstap support TESTUNIT_DESC= Build unit tests DNSTAP_LIB_DEPENDS= libfstrm.so:devel/fstrm \ libprotobuf-c.so:devel/protobuf-c \ libprotobuf.so:devel/protobuf DNSTAP_MESON_ON= -Ddnstap=enabled DNSTAP_MESON_OFF= -Ddnstap=disabled DNSTAP_PLIST_FILES= lib/knot-resolver/kres_modules/dnstap.so TESTUNIT_BUILD_DEPENDS= cmocka>=1.1.1:sysutils/cmocka TESTUNIT_MESON_ON= -Dunit_tests=enabled TESTUNIT_MESON_OFF= -Dunit_tests=disabled pre-install: ${MKDIR} ${STAGEDIR}${DOCSDIR} ${MKDIR} ${STAGEDIR}${RUNDIR} post-install: ${MV} ${STAGEDIR}${ETCDIR}/kresd.conf ${STAGEDIR}${ETCDIR}/kresd.conf.sample ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/ cd ${BUILD_WRKSRC} && cd .. && ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} -m pip install . .include