Index | Thread | Search

From:
Otto Moerbeek <otto@drijf.net>
Subject:
Re: Update dnsdist to version 2.0.0
To:
ports@openbsd.org
Date:
Thu, 24 Jul 2025 08:02:13 +0200

Download raw body.

Thread
On Mon, Jul 21, 2025 at 03:46:53PM +0200, Otto Moerbeek wrote:

> Hello,
> 
> this is bigger than normal: dnsdist now uses rust and the build
> system changed to meson. 
> 
> So asking for a review and OK.
> 
> For the new features: see https://blog.powerdns.com/the-all-rounder-dnsdist-2.0-is-here
> 
> 	-Otto

Any takers?

	-Otto

> 
> Index: Makefile
> ===================================================================
> RCS file: /home/cvs/ports/net/dnsdist/Makefile,v
> diff -u -p -r1.55 Makefile
> --- Makefile	20 May 2025 11:47:46 -0000	1.55
> +++ Makefile	21 Jul 2025 13:41:19 -0000
> @@ -1,7 +1,8 @@
>  COMMENT=		highly DNS-, DoS- and abuse-aware loadbalancer
>  
> -DISTNAME=		dnsdist-1.9.10
> -EXTRACT_SUFX=		.tar.bz2
> +DISTNAME=		dnsdist-2.0.0
> +EXTRACT_SUFX=		.tar.xz
> +DEBUG_PACKAGES=		${BUILD_PACKAGES}
>  
>  CATEGORIES=		net
>  
> @@ -20,36 +21,50 @@ WANTLIB +=		${MODLUA_WANTLIB} ${COMPILER
>  
>  SITES=			https://downloads.powerdns.com/releases/
>  
> -CONFIGURE_STYLE=	autoconf
> -AUTOCONF_VERSION=	2.71
> -USE_GMAKE=		Yes
> -
>  SYSCONFDIR=		${BASESYSCONFDIR}/dnsdist
>  
>  COMPILER =		base-clang ports-gcc
>  
> +MODULES+=		devel/cargo
> +MODCARGO_CARGOTOML=	${WRKSRC}/dnsdist-rust-lib/rust/Cargo.toml
> +MODCARGO_TARGET_DIR=	${WRKSRC}/dnsdist-rust-lib/rust/target
> +MODCARGO_BUILD=		No
> +MODCARGO_INSTALL=	No
> +MODCARGO_TEST=		No
> +
>  MODULES+=		lang/lua
>  MODLUA_VERSION=		5.3
>  
>  
> -CONFIGURE_ARGS+=	--without-gnutls \
> -			--disable-hardening \
> -			--with-lua=lua${MODLUA_VERSION:S/.//} \
> -			--without-net-snmp \
> -			--without-libcap \
> -			--without-ebpf \
> -			--with-cdb \
> -			--with-lmdb \
> -			--with-nghttp2 \
> -			--enable-dns-over-tls \
> -			--enable-dnscrypt \
> -			--enable-dnstap \
> -			--enable-dns-over-https
> -
> -CONFIGURE_ENV+=		CPPFLAGS="-I${LOCALBASE}/include" \
> -			LDFLAGS="-L${LOCALBASE}/lib" \
> -			LIBEDIT_LIBS="-ledit -lcurses" \
> -			LIBEDIT_CFLAGS=" "
> +MODULES+=		devel/meson
> +
> +pre-configure:
> +			@${MODCARGO_configure}
> +
> +CONFIGURE_STYLE=	meson
> +CONFIGURE_ARGS+=	-Dcdb=enabled \
> +			-Ddns-over-https=enabled \
> +			-Ddns-over-http3=disabled \
> +			-Ddns-over-tls=enabled \
> +			-Ddns-over-quic=disabled \
> +			-Ddnscrypt=enabled \
> +			-Ddnstap=enabled \
> +			-Debpf=disabled \
> +			-Debpf=disabled \
> +			-Dlibedit=enabled \
> +			-Dhardening=disabled \
> +			-Dlibcap=disabled \
> +			-Dlmdb=enabled \
> +			-Dlua=auto \
> +			-Dnghttp2=enabled \
> +			-Dre2=disabled \
> +			-Dsnmp=disabled \
> +			-Dsystemd-service=disabled \
> +			-Dtls-gnutls=disabled \
> +			-Dxsk=disabled \
> +			-Dyaml=enabled \
> +
> +MAKE_ENV+=		${MODCARGO_ENV}
>  
>  BUILD_DEPENDS=		devel/boost
>  LIB_DEPENDS+=		${MODLUA_LIB_DEPENDS} \
> @@ -64,22 +79,18 @@ LIB_DEPENDS+=		${MODLUA_LIB_DEPENDS} \
>  
>  # Lua module overrides FULLPKGNAME
>  FULLPKGNAME=		${PKGNAME}-${FLAVOR}
> -CONFIGURE_ARGS+=	--with-libcrypto=${LOCALBASE}/eboringssl \
> -			--with-quiche \
> -			--enable-dns-over-quic \
> -			--enable-dns-over-http3 \
> -
> -# OpenBSD libtool seems to leave out boringssl libs, because they have the same
> -# name as system libs, so explicitly refer to the .a files.
> -CONFIGURE_ENV+=		LIBSSL_CFLAGS="-I${LOCALBASE}/eboringssl/include \
> -				-DDISABLE_OCSP_STAPLING" \
> -			LIBSSL_LIBS="${LOCALBASE}/eboringssl/lib/libssl.a \
> -				${LOCALBASE}/eboringssl/lib/libcrypto.a"
> +CONFIGURE_ARGS+=	-Dtls-libssl-dir="${LOCALBASE}/eboringssl" \
> +			-Dlibcrypto-path="${LOCALBASE}/eboringssl" \
> +			-Dcpp_args=-DDISABLE_OCSP_STAPLING \
> +			-Dquiche=enabled \
> +			-Ddns-over-quic=enabled \
> +			-Ddns-over-http3=enabled \
> +
>  BUILD_DEPENDS+=		net/quiche \
>  			security/boringssl/head
>  .else
>  
> -CONFIGURE_ARGS+=	--without-quiche
> +CONFIGURE_ARGS+=	-Dquiche=disabled
>  WANTLIB+=		ssl
>  
>  .endif
> @@ -88,5 +99,7 @@ post-install:
>  	${INSTALL_DATA_DIR} ${PREFIX}/share/{doc,examples}/dnsdist
>  	cd ${WRKSRC}; ${INSTALL_DATA} README.md ${PREFIX}/share/doc/dnsdist/; \
>  	    ${INSTALL_DATA} dnsdist.conf-dist ${PREFIX}/share/examples/dnsdist/
> +
> +.include "crates.inc"
>  
>  .include <bsd.port.mk>
> Index: crates.inc
> ===================================================================
> RCS file: crates.inc
> diff -N crates.inc
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ crates.inc	21 Jul 2025 13:41:19 -0000
> @@ -0,0 +1,43 @@
> +MODCARGO_CRATES +=	anstyle	1.0.10	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	cc	1.2.25	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	clap	4.5.39	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	clap_builder	4.5.39	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	clap_lex	0.7.4	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	codespan-reporting	0.12.0	# Apache-2.0
> +MODCARGO_CRATES +=	cxx	1.0.158	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	cxx-build	1.0.158	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	cxxbridge-cmd	1.0.158	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	cxxbridge-flags	1.0.158	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	cxxbridge-macro	1.0.158	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	equivalent	1.0.2	# Apache-2.0 OR MIT
> +MODCARGO_CRATES +=	foldhash	0.1.5	# Zlib
> +MODCARGO_CRATES +=	hashbrown	0.15.3	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	indexmap	2.9.0	# Apache-2.0 OR MIT
> +MODCARGO_CRATES +=	itoa	1.0.15	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	link-cplusplus	1.0.10	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	proc-macro2	1.0.95	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	quote	1.0.40	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	rustversion	1.0.21	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	ryu	1.0.20	# Apache-2.0 OR BSL-1.0
> +MODCARGO_CRATES +=	scratch	1.0.8	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	serde	1.0.219	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	serde_derive	1.0.219	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	serde_yaml	0.9.34+deprecated	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	shlex	1.3.0	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	strsim	0.11.1	# MIT
> +MODCARGO_CRATES +=	syn	2.0.101	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	termcolor	1.4.1	# Unlicense OR MIT
> +MODCARGO_CRATES +=	unicode-ident	1.0.18	# (MIT OR Apache-2.0) AND Unicode-3.0
> +MODCARGO_CRATES +=	unicode-width	0.2.0	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	unsafe-libyaml	0.2.11	# MIT
> +MODCARGO_CRATES +=	winapi-util	0.1.9	# Unlicense OR MIT
> +MODCARGO_CRATES +=	windows-sys	0.59.0	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	windows-targets	0.52.6	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	windows_aarch64_gnullvm	0.52.6	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	windows_aarch64_msvc	0.52.6	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	windows_i686_gnu	0.52.6	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	windows_i686_gnullvm	0.52.6	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	windows_i686_msvc	0.52.6	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	windows_x86_64_gnu	0.52.6	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	windows_x86_64_gnullvm	0.52.6	# MIT OR Apache-2.0
> +MODCARGO_CRATES +=	windows_x86_64_msvc	0.52.6	# MIT OR Apache-2.0
> Index: distinfo
> ===================================================================
> RCS file: /home/cvs/ports/net/dnsdist/distinfo,v
> diff -u -p -r1.29 distinfo
> --- distinfo	20 May 2025 11:47:46 -0000	1.29
> +++ distinfo	21 Jul 2025 13:41:19 -0000
> @@ -1,2 +1,88 @@
> -SHA256 (dnsdist-1.9.10.tar.bz2) = An3b3uaVxaWXKAV7/EHFsaaR+hx6XokniwnzVTJfvtY=
> -SIZE (dnsdist-1.9.10.tar.bz2) = 1598472
> +SHA256 (cargo/anstyle-1.0.10.tar.gz) = Vcw7afFnoe8uFhQ5qpiu2U5gKOX5pZvppv+0eu8WUfk=
> +SHA256 (cargo/cc-1.2.25.tar.gz) = 0PyJfcHoZcxnwOBag22dPx3zy+RCqkqUc7GOEmJKSVE=
> +SHA256 (cargo/clap-4.5.39.tar.gz) = /WDmPpvmjl+1ZCLjl8+brd3tBtrh0uUjQBVCODvHKp8=
> +SHA256 (cargo/clap_builder-4.5.39.tar.gz) = icxjkqH3K764INcfMhCPYf2vGLxSbh0jlUFopndZ71E=
> +SHA256 (cargo/clap_lex-0.7.4.tar.gz) = 9GrRRHmiUQPyg8DxAAWWHPCG2NxCIFu0TEasVjR13KY=
> +SHA256 (cargo/codespan-reporting-0.12.0.tar.gz) = /m0uWvCejIrVbJafIVej1COM68fFXwpRdyjDj3sgD4E=
> +SHA256 (cargo/cxx-1.0.158.tar.gz) = px6n8pxz9/+mTFC4PJ/k06bUvomoawCeuA1abTQp10E=
> +SHA256 (cargo/cxx-build-1.0.158.tar.gz) = NqgjJmHWbc9xM5RyYVfTz+Com/yF9S1un5u8IwZ5f+c=
> +SHA256 (cargo/cxxbridge-cmd-1.0.158.tar.gz) = T0QpbIaT6eoiakj2oSJyf3eqnp4zg4DLAhrMrut+4nk=
> +SHA256 (cargo/cxxbridge-flags-1.0.158.tar.gz) = xC9pwYHBdpga5Euph24upBzo5XTClrONBpJc6SFPuOQ=
> +SHA256 (cargo/cxxbridge-macro-1.0.158.tar.gz) = j6/11EZ+BwlEgYffKcy/OwmCzEJu5EShk/h7Ea+1Zag=
> +SHA256 (cargo/equivalent-1.0.2.tar.gz) = h3pKzocTsLzypOfuyCUpwCnx0GGYhtGBRf6pbD/+XA8=
> +SHA256 (cargo/foldhash-0.1.5.tar.gz) = 2cT12sXhXCTrmZwmGBpspAs5/pRsvkwmPHIJRnvIOvI=
> +SHA256 (cargo/hashbrown-0.15.3.tar.gz) = hLJsVE0AIinmQJaZcKLnQCGq324vljcrnFjv+X3gjrM=
> +SHA256 (cargo/indexmap-2.9.0.tar.gz) = zqcN23lZliB61Xc1tQxZgtiETzi6nuXxrtz7cIoqoR4=
> +SHA256 (cargo/itoa-1.0.15.tar.gz) = Sl8TuFjI0xTuPo9jkBH3zO/nH5f5blAVH7mR8meSjiw=
> +SHA256 (cargo/link-cplusplus-1.0.10.tar.gz) = Sm9toAf5aPne8NZaBbGH4pYBg95wwWAgTs/M8O4zAhI=
> +SHA256 (cargo/proc-macro2-1.0.95.tar.gz) = ArPl5oo6GgKq0+xJCpgAfLwTw3y+hKPNe45AbXbn93g=
> +SHA256 (cargo/quote-1.0.40.tar.gz) = GIXAOVcNwA3LT/CHqJ4YX9VrriNN3H8FapRb82RnJI0=
> +SHA256 (cargo/rustversion-1.0.21.tar.gz) = ig0Ze9LJ3G5TuE2pVWppukzfq4YZ60GovRzCAnoPax0=
> +SHA256 (cargo/ryu-1.0.20.tar.gz) = KNOysTZuwgmU8f0Yw8WU8Fxd1LxE2LsMHGMsjWgpSB8=
> +SHA256 (cargo/scratch-1.0.8.tar.gz) = n2KAr4bl9VlTbaV6RevISUiDOzvuMTp90lIy4JyHilI=
> +SHA256 (cargo/serde-1.0.219.tar.gz) = Xw4sbtZgYBm04p5p26upWxGFRBDlNH1SUAJFbbu3hrY=
> +SHA256 (cargo/serde_derive-1.0.219.tar.gz) = WwJ2z38sczZfcVfIEjwhzZpQ+72ER1evKMofWSX8KgA=
> +SHA256 (cargo/serde_yaml-0.9.34+deprecated.tar.gz) = aosaGi6/Z0AVzALtzM51KH8aATDTlDB7NnQ8L11QS0c=
> +SHA256 (cargo/shlex-1.3.0.tar.gz) = D9ov8NCEAZuk18bzccldj9dc41JMPLj7ZTowI/YyPmQ=
> +SHA256 (cargo/strsim-0.11.1.tar.gz) = fai1c2hF2fL8uDfqXZ4mKFZLOwQ6cJSKPwt3iDjF+08=
> +SHA256 (cargo/syn-2.0.101.tar.gz) = jOK3/JQbOiQTigp8+OhYv8apkueXigaKXHYN6w7UPK8=
> +SHA256 (cargo/termcolor-1.4.1.tar.gz) = BnlPj2xciYsyda6++muKHLJM0sbHk5erFXdIN6C8V1U=
> +SHA256 (cargo/unicode-ident-1.0.18.tar.gz) = Wl85QEpdpQcSpMHuzyXpDdYrYTUCt+kl/U5NGbXJZRI=
> +SHA256 (cargo/unicode-width-0.2.0.tar.gz) = H8gZVoQsV9rBFCKpfDuBlaH/cn8G6FyE7S6KonfJoP0=
> +SHA256 (cargo/unsafe-libyaml-0.2.11.tar.gz) = ZzqsWfrLq4qQB8f2EI0R9jtgP3yr/5n6v2UP6lwyuGE=
> +SHA256 (cargo/winapi-util-0.1.9.tar.gz) = zyIck+E6MNeT92RaDndixV0WnbsKSWcZGKIxnSibELs=
> +SHA256 (cargo/windows-sys-0.59.0.tar.gz) = Hji8TXntZ/0HW8wlGhw5syoXdrvpLlvvHwvx+MUxhTs=
> +SHA256 (cargo/windows-targets-0.52.6.tar.gz) = m3JPcnluA2q5DBAh1HgNTT1kispZ5JHmuY5yW4TpmXM=
> +SHA256 (cargo/windows_aarch64_gnullvm-0.52.6.tar.gz) = MqRiIYDnoOwES7VVQEyAC8n9nsJi7BR+3VmJzNDALNM=
> +SHA256 (cargo/windows_aarch64_msvc-0.52.6.tar.gz) = Cewqe7FS4iUrU/p4AxUAB4eVSLxwnAOd92J8q70F1Gk=
> +SHA256 (cargo/windows_i686_gnu-0.52.6.tar.gz) = jpta1auALpfrjilaxnIOUJ7kwkP2nXgTlAFOv+i7+gs=
> +SHA256 (cargo/windows_i686_gnullvm-0.52.6.tar.gz) = Du5S04wJCzyqdsVjuGw6S9ce8agZKHwZ1YbXM0ro7WY=
> +SHA256 (cargo/windows_i686_msvc-0.52.6.tar.gz) = JAlIvAXF58bau6KL+J2J/84+MDAigJ5z3q7+T27FbGY=
> +SHA256 (cargo/windows_x86_64_gnu-0.52.6.tar.gz) = FHpcgKq/vwx9kBy1iV0d4w7ykH6yH7urKcqUxbCLGng=
> +SHA256 (cargo/windows_x86_64_gnullvm-0.52.6.tar.gz) = JNWyPcQXQSZ5aBOW8rSfPejBRz3rUWvTRBCHLv9R7Q0=
> +SHA256 (cargo/windows_x86_64_msvc-0.52.6.tar.gz) = WJ9tqExkYgR0fRJwoqVmHqZu0cztJjHVRv37FVlZ+ew=
> +SHA256 (dnsdist-2.0.0.tar.xz) = 2jB0L1GqyL5+EWZ3ywe8Sfvql5/FRD5+H6j6e9CmP+U=
> +SIZE (cargo/anstyle-1.0.10.tar.gz) = 15725
> +SIZE (cargo/cc-1.2.25.tar.gz) = 106594
> +SIZE (cargo/clap-4.5.39.tar.gz) = 57328
> +SIZE (cargo/clap_builder-4.5.39.tar.gz) = 169142
> +SIZE (cargo/clap_lex-0.7.4.tar.gz) = 12858
> +SIZE (cargo/codespan-reporting-0.12.0.tar.gz) = 55796
> +SIZE (cargo/cxx-1.0.158.tar.gz) = 220190
> +SIZE (cargo/cxx-build-1.0.158.tar.gz) = 90653
> +SIZE (cargo/cxxbridge-cmd-1.0.158.tar.gz) = 77898
> +SIZE (cargo/cxxbridge-flags-1.0.158.tar.gz) = 5424
> +SIZE (cargo/cxxbridge-macro-1.0.158.tar.gz) = 64448
> +SIZE (cargo/equivalent-1.0.2.tar.gz) = 7419
> +SIZE (cargo/foldhash-0.1.5.tar.gz) = 21901
> +SIZE (cargo/hashbrown-0.15.3.tar.gz) = 140413
> +SIZE (cargo/indexmap-2.9.0.tar.gz) = 91214
> +SIZE (cargo/itoa-1.0.15.tar.gz) = 11231
> +SIZE (cargo/link-cplusplus-1.0.10.tar.gz) = 8054
> +SIZE (cargo/proc-macro2-1.0.95.tar.gz) = 51820
> +SIZE (cargo/quote-1.0.40.tar.gz) = 31063
> +SIZE (cargo/rustversion-1.0.21.tar.gz) = 21001
> +SIZE (cargo/ryu-1.0.20.tar.gz) = 48738
> +SIZE (cargo/scratch-1.0.8.tar.gz) = 8581
> +SIZE (cargo/serde-1.0.219.tar.gz) = 78983
> +SIZE (cargo/serde_derive-1.0.219.tar.gz) = 57798
> +SIZE (cargo/serde_yaml-0.9.34+deprecated.tar.gz) = 65290
> +SIZE (cargo/shlex-1.3.0.tar.gz) = 18713
> +SIZE (cargo/strsim-0.11.1.tar.gz) = 14266
> +SIZE (cargo/syn-2.0.101.tar.gz) = 299250
> +SIZE (cargo/termcolor-1.4.1.tar.gz) = 18773
> +SIZE (cargo/unicode-ident-1.0.18.tar.gz) = 47743
> +SIZE (cargo/unicode-width-0.2.0.tar.gz) = 271509
> +SIZE (cargo/unsafe-libyaml-0.2.11.tar.gz) = 62101
> +SIZE (cargo/winapi-util-0.1.9.tar.gz) = 12464
> +SIZE (cargo/windows-sys-0.59.0.tar.gz) = 2387323
> +SIZE (cargo/windows-targets-0.52.6.tar.gz) = 6403
> +SIZE (cargo/windows_aarch64_gnullvm-0.52.6.tar.gz) = 435718
> +SIZE (cargo/windows_aarch64_msvc-0.52.6.tar.gz) = 832615
> +SIZE (cargo/windows_i686_gnu-0.52.6.tar.gz) = 880402
> +SIZE (cargo/windows_i686_gnullvm-0.52.6.tar.gz) = 475940
> +SIZE (cargo/windows_i686_msvc-0.52.6.tar.gz) = 901163
> +SIZE (cargo/windows_x86_64_gnu-0.52.6.tar.gz) = 836363
> +SIZE (cargo/windows_x86_64_gnullvm-0.52.6.tar.gz) = 435707
> +SIZE (cargo/windows_x86_64_msvc-0.52.6.tar.gz) = 832564
> +SIZE (dnsdist-2.0.0.tar.xz) = 2275260
> Index: patches/patch-configure_ac
> ===================================================================
> RCS file: /home/cvs/ports/net/dnsdist/patches/patch-configure_ac,v
> diff -u -p -r1.9 patch-configure_ac
> --- patches/patch-configure_ac	16 Feb 2024 14:01:22 -0000	1.9
> +++ patches/patch-configure_ac	21 Jul 2025 13:41:19 -0000
> @@ -1,14 +1,14 @@
>  Index: configure.ac
>  --- configure.ac.orig
>  +++ configure.ac
> -@@ -16,8 +16,8 @@ AC_DEFINE([DNSDIST], [1],
> +@@ -17,8 +17,8 @@ m4_pattern_forbid([^_?PKG_[A-Z_]+$], [*** pkg.m4 missi
>   LT_PREREQ([2.2.2])
>   LT_INIT([disable-static])
>   
> --CFLAGS="-g -O3 -Wall -Wextra -Wshadow -Wno-unused-parameter -fvisibility=hidden $CFLAGS"
> --CXXFLAGS="-g -O3 -Wall -Wextra -Wshadow -Wno-unused-parameter -Wmissing-declarations -Wredundant-decls -fvisibility=hidden $CXXFLAGS"
> +-CFLAGS="-g -O3 -Wall -Wextra -Wshadow -fvisibility=hidden $CFLAGS"
> +-CXXFLAGS="-g -O3 -Wall -Wextra -Wshadow -Wmissing-declarations -Wredundant-decls -fvisibility=hidden $CXXFLAGS"
>  +CFLAGS="-g -Wall -Wextra -Wshadow -Wno-unused-parameter -fvisibility=hidden $CFLAGS"
>  +CXXFLAGS="-g -Wall -Wextra -Wshadow -Wno-unused-parameter -Wmissing-declarations -Wredundant-decls -fvisibility=hidden $CXXFLAGS"
>   
> - PDNS_WITH_LIBSODIUM
> - PDNS_WITH_QUICHE
> + AC_SUBST([pdns_configure_args], ["$ac_configure_args"])
> + AC_DEFINE_UNQUOTED([DNSDIST_CONFIG_ARGS],
> Index: patches/patch-meson_cdb_meson_build
> ===================================================================
> RCS file: patches/patch-meson_cdb_meson_build
> diff -N patches/patch-meson_cdb_meson_build
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-meson_cdb_meson_build	21 Jul 2025 13:41:19 -0000
> @@ -0,0 +1,19 @@
> +Index: meson/cdb/meson.build
> +--- meson/cdb/meson.build.orig
> ++++ meson/cdb/meson.build
> +@@ -1,13 +1,9 @@
> + opt_cdb = get_option('cdb')
> +-dep_cdb = dependency('libcdb', required: opt_cdb)
> ++dep_cdb = dependency('libcdb', required: false)
> + 
> + if opt_cdb.allowed()
> +   if not dep_cdb.found()
> +-    if cxx.has_header('cdb.h', required: false)
> +-      if cxx.has_function('cdb_find', args: ['-lcdb'])
> +-        dep_cdb = declare_dependency(link_args: ['-lcdb'])
> +-      endif
> +-    endif
> ++    dep_cdb = declare_dependency(link_args: ['-L/usr/local/lib', '-lcdb'], include_directories: ['/usr/local/include'])
> +   endif
> + endif
> + 
> Index: patches/patch-meson_libedit_meson_build
> ===================================================================
> RCS file: patches/patch-meson_libedit_meson_build
> diff -N patches/patch-meson_libedit_meson_build
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-meson_libedit_meson_build	21 Jul 2025 13:41:19 -0000
> @@ -0,0 +1,10 @@
> +Index: meson/libedit/meson.build
> +--- meson/libedit/meson.build.orig
> ++++ meson/libedit/meson.build
> +@@ -1,5 +1,5 @@
> + opt_libedit = get_option('libedit')
> +-dep_libedit = dependency('libedit', required: opt_libedit)
> ++dep_libedit = dependency('libedit', required: false)
> + 
> + if not dep_libedit.found()
> +   dep_libedit = cxx.find_library('edit', required: opt_libedit)
>