git: 6e304f0fa332 - main - dns/{knot3,py-libknot}: Update 3.3.8 → 3.4.0, improve ports

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Fri, 04 Oct 2024 00:05:49 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6e304f0fa332ddd7ea35bd83b85f38a7d288f2d6

commit 6e304f0fa332ddd7ea35bd83b85f38a7d288f2d6
Author:     Leo Vandewoestijne <freebsd@dns.company>
AuthorDate: 2024-10-03 23:50:26 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2024-10-04 00:05:09 +0000

    dns/{knot3,py-libknot}: Update 3.3.8 → 3.4.0, improve ports
    
    Changelog:
    https://www.knot-dns.cz/2024-09-02-version-340.html
    
    PR:     281087
---
 dns/knot3/Makefile            | 66 ++++++++++++++++++++++---------------------
 dns/knot3/distinfo            |  6 ++--
 dns/knot3/distinfo.py-libknot |  3 ++
 dns/knot3/knotdns.mk          |  2 +-
 dns/knot3/pkg-plist           |  9 ++++--
 dns/py-libknot/Makefile       |  4 ++-
 dns/py-libknot/distinfo       |  3 --
 7 files changed, 51 insertions(+), 42 deletions(-)

diff --git a/dns/knot3/Makefile b/dns/knot3/Makefile
index 82b54685fe52..18fbd0e13dab 100644
--- a/dns/knot3/Makefile
+++ b/dns/knot3/Makefile
@@ -12,15 +12,18 @@ WWW=		https://www.knot-dns.cz/
 LICENSE=	GPLv3
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-BUILD_DEPENDS=	gsed:textproc/gsed
+BUILD_DEPENDS=	gsed:textproc/gsed \
+		lmdb>=0.9.15:databases/lmdb
 LIB_DEPENDS=	libgnutls.so:security/gnutls \
 		liblmdb.so:databases/lmdb
 
-USES=		alias libtool localbase pkgconfig tar:xz
+USES=		alias compiler:c11 libtool localbase pkgconfig tar:xz
 USE_LDCONFIG=	yes
 
 HAS_CONFIGURE=	yes
-CONFIGURE_ARGS=	--enable-recvmmsg=no \
+CONFIGURE_ARGS=	--enable-cap-ng=no \
+		--enable-recvmmsg=no \
+		--enable-systemd=no \
 		--mandir=${PREFIX}/share/man \
 		--with-pkgconfigdir=${PREFIX}/libdata/pkgconfig
 
@@ -31,29 +34,26 @@ CONFLICTS=	knot-1.* knot1-[0-6].* knot2-[0-9].*
 DATADIR=	/var/db/${PORTNAME}
 RUNDIR=		/var/run/${PORTNAME}
 BINARY_ALIAS=	sed=${LOCALBASE}/bin/gsed
-SUB_LIST=	DATADIR=${DATADIR} \
-		ETCDIR=${ETCDIR} \
-		GROUPS=${GROUPS} \
-		RUNDIR=${RUNDIR} \
+SUB_LIST=	GROUPS=${GROUPS} \
 		USERS=${USERS}
 
-USERS=		knot
-GROUPS=		knot
+USERS=		${PORTNAME}
+GROUPS=		${PORTNAME}
 
-PLIST_SUB=	DATADIR=${DATADIR} \
-		ETCDIR=${ETCDIR} \
+PLIST_SUB=	RUNDIR=${RUNDIR} \
 		GROUPS=${GROUPS} \
-		RUNDIR=${RUNDIR} \
 		USERS=${USERS}
 
 PORTDOCS=	COPYING NEWS
 
 OPTIONS_DEFINE=			DAEMON UTILS DOCS EXAMPLES
-OPTIONS_DEFAULT=		DAEMON UTILS FASTPARSER DOH DOQ IDN MODACL MODAUTH MODCOOKIES
-OPTIONS_DEFAULT+=		MODPROXY MODNOUDP MODPROBE MODRRL MODSIGN MODSTATS MODSYNTH MODWHOAMI
+OPTIONS_DEFAULT=		DAEMON FASTPARSER DOH DOQ IDN MODACL MODAUTH \
+				MODCOOKIES MODPROXY MODNOUDP MODPROBE MODRRL \
+				MODSIGN MODSTATS MODSYNTH MODWHOAMI UTILS
 OPTIONS_GROUP=			DAEMONGR UTILGR
-OPTIONS_GROUP_DAEMONGR=		DNSTAP FASTPARSER MODACL MODAUTH MODCOOKIES MODPROXY MODGEO
-OPTIONS_GROUP_DAEMONGR+=	MODNOUDP MODPROBE MODRRL MODSIGN MODSTATS MODSYNTH MODWHOAMI
+OPTIONS_GROUP_DAEMONGR=		DNSTAP FASTPARSER MODACL MODAUTH MODCOOKIES \
+				MODPROXY MODGEO MODNOUDP MODPROBE MODRRL \
+				MODSIGN MODSTATS MODSYNTH MODWHOAMI
 OPTIONS_GROUP_UTILGR=		DOH DOQ IDN
 NO_OPTIONS_SORT=		yes
 OPTIONS_SUB=			yes
@@ -83,10 +83,8 @@ UTILS_DESC=			Install utulities
 
 DAEMON_LIB_DEPENDS=		liburcu.so:sysutils/liburcu
 DAEMON_USES=			libedit
-DAEMON_CONFIGURE_ENABLE=	daemon
-DAEMON_CONFIGURE_ENABLE+=	modules
-DAEMON_CONFIGURE_WITH=		rundir=${RUNDIR}
-DAEMON_CONFIGURE_WITH+=		storage=${DATADIR}
+DAEMON_CONFIGURE_ENABLE=	daemon modules
+DAEMON_CONFIGURE_WITH=		rundir=${RUNDIR} storage=${DATADIR}
 DAEMON_SUB_FILES=		pkg-message
 DAEMON_VARS=			USE_RC_SUBR=${PORTNAME}
 
@@ -102,11 +100,15 @@ DNSTAP_CONFIGURE_WITH=		module-dnstap=yes
 # in higher line count.  Ideally this bug should be fixed upstream.
 DNSTAP_CPPFLAGS=		-I${LOCALBASE}/include
 
+DOCS_BUILD_DEPENDS=		sphinx-build:textproc/py-sphinx
 DOCS_CONFIGURE_ENABLE=		documentation
 
 DOH_LIB_DEPENDS=		libnghttp2.so:www/libnghttp2
 
-DOQ_LIB_DEPENDS=		libngtcp2.so:net/libngtcp2
+DOQ_LIB_DEPENDS=		libngtcp2.so:net/libngtcp2 \
+				libngtcp2_crypto_gnutls.so:net/libngtcp2-gnutls
+DOQ_CONFIGURE_ON=		--enable-quic=yes
+DOQ_CONFIGURE_OFF=		--enable-quic=no
 
 FASTPARSER_CONFIGURE_ENABLE=	fastparser
 
@@ -147,29 +149,29 @@ UTILS_CONFIGURE_ENABLE=		utilities
 USES+=		autoreconf
 .endif
 
-post-patch:
-.if ${PORT_OPTIONS:MDAEMON}
+post-patch-DAEMON-on:
 	@${REINPLACE_CMD} 's|$$(INSTALL) -d $$(DESTDIR)/\@run_dir\@|#$$(INSTALL) -d $$(DESTDIR)/\@run_dir\@|' \
 		${WRKSRC}/src/Makefile.in
 	@${REINPLACE_CMD} 's|$$(INSTALL) -d $$(DESTDIR)/\@storage_dir\@|#$$(INSTALL) -d $$(DESTDIR)/\@storage_dir\@|' \
 		${WRKSRC}/src/Makefile.in
 	@${RM} -r ${WRKSRC}/src/zscanner/scanner.c
-.endif
 
-post-install:
-.if ${PORT_OPTIONS:MDAEMON}
+do-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/
+	${INSTALL_MAN} ${WRKSRC}/doc/man/*.1 ${STAGEDIR}${PREFIX}/share/man/man1
+	${INSTALL_MAN} ${WRKSRC}/doc/man/*.5 ${STAGEDIR}${PREFIX}/share/man/man5
+	${INSTALL_MAN} ${WRKSRC}/doc/man/*.8 ${STAGEDIR}${PREFIX}/share/man/man8
+
+post-install-DAEMON-on:
 	@${MKDIR} ${STAGEDIR}${DATADIR} ${STAGEDIR}${RUNDIR}
-.endif
+
+post-install:
 .if ${PORT_OPTIONS:MDAEMON} && ${PORT_OPTIONS:MEXAMPLES}
 	${MV} ${STAGEDIR}${ETCDIR}/knot.sample.conf ${STAGEDIR}${ETCDIR}/knot.conf.sample
 .else
 	${RM} ${STAGEDIR}${ETCDIR}/knot.sample.conf
 .endif
 
-.if ${PORT_OPTIONS:MDOCS}
-	@${MKDIR} ${STAGEDIR}${DOCSDIR}
-	${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/
-.endif
-
 .include "knotdns.mk"
 .include <bsd.port.mk>
diff --git a/dns/knot3/distinfo b/dns/knot3/distinfo
index cc9e32ed614e..525efd959032 100644
--- a/dns/knot3/distinfo
+++ b/dns/knot3/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1721655384
-SHA256 (knot-3.3.8.tar.xz) = 498de8338489a625673797f7ecc921fa4490c826afbfa42fa66922b525089e6a
-SIZE (knot-3.3.8.tar.xz) = 1608360
+TIMESTAMP = 1725278778
+SHA256 (knot-3.4.0.tar.xz) = 2730b11398944faa5151c51b0655cf26631090343c303597814f2a57df424736
+SIZE (knot-3.4.0.tar.xz) = 1628620
diff --git a/dns/knot3/distinfo.py-libknot b/dns/knot3/distinfo.py-libknot
new file mode 100644
index 000000000000..8207a17f981f
--- /dev/null
+++ b/dns/knot3/distinfo.py-libknot
@@ -0,0 +1,3 @@
+TIMESTAMP = 1727997340
+SHA256 (libknot-3.4.0.tar.gz) = 06d11273d04865e0cd34f258c8c2d378cb0d1e6fb105c2ee7b227bff5897168b
+SIZE (libknot-3.4.0.tar.gz) = 11065
diff --git a/dns/knot3/knotdns.mk b/dns/knot3/knotdns.mk
index 9246a507cca2..18c5c674c48c 100644
--- a/dns/knot3/knotdns.mk
+++ b/dns/knot3/knotdns.mk
@@ -1 +1 @@
-KNOT_VERSION=	3.3.8
+KNOT_VERSION=	3.4.0
diff --git a/dns/knot3/pkg-plist b/dns/knot3/pkg-plist
index cd7c19c79c14..717315de8099 100644
--- a/dns/knot3/pkg-plist
+++ b/dns/knot3/pkg-plist
@@ -45,6 +45,10 @@ include/libknot/packet/rrset-wire.h
 include/libknot/packet/wire.h
 include/libknot/probe/data.h
 include/libknot/probe/probe.h
+%%DOQ%%include/libknot/quic/quic.h
+%%DOQ%%include/libknot/quic/quic_conn.h
+%%DOQ%%include/libknot/quic/tls.h
+%%DOQ%%include/libknot/quic/tls_common.h
 include/libknot/rdata.h
 include/libknot/rdataset.h
 include/libknot/rrset-dump.h
@@ -81,8 +85,8 @@ lib/libdnssec.so.9
 lib/libdnssec.so.9.0.0
 lib/libknot.a
 lib/libknot.so
-lib/libknot.so.14
-lib/libknot.so.14.0.0
+lib/libknot.so.15
+lib/libknot.so.15.0.0
 lib/libzscanner.a
 lib/libzscanner.so
 lib/libzscanner.so.4
@@ -103,6 +107,7 @@ libdata/pkgconfig/libzscanner.pc
 %%DOCS%%share/man/man8/kjournalprint.8.gz
 %%DOCS%%share/man/man8/knotc.8.gz
 %%DOCS%%share/man/man8/knotd.8.gz
+%%DOCS%%share/man/man8/kxdpgun.8.gz
 %%DAEMON%%sbin/kcatalogprint
 %%DAEMON%%sbin/keymgr
 %%DAEMON%%sbin/kjournalprint
diff --git a/dns/py-libknot/Makefile b/dns/py-libknot/Makefile
index d137a6ffefb8..25f8da50dab0 100644
--- a/dns/py-libknot/Makefile
+++ b/dns/py-libknot/Makefile
@@ -13,10 +13,12 @@ LICENSE=	GPLv3
 BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
 LIB_DEPENDS=	libknot.so:dns/knot3
 
-USES=		python:3.5+
+USES=		python
 USE_PYTHON=	autoplist concurrent pep517
 
 NO_ARCH=	yes
 
+DISTINFO_FILE=	${.CURDIR}/../knot3/distinfo.py-libknot
+
 .include "${.CURDIR}/../knot3/knotdns.mk"
 .include <bsd.port.mk>
diff --git a/dns/py-libknot/distinfo b/dns/py-libknot/distinfo
deleted file mode 100644
index 05f0e8c3e6ab..000000000000
--- a/dns/py-libknot/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1721721718
-SHA256 (libknot-3.3.8.tar.gz) = 446d8d385402eabc5ebad6b09f702b672f6e34b9fe80f984aabbf5134618271e
-SIZE (libknot-3.3.8.tar.gz) = 11110