Index | Thread | Search

From:
Otto Moerbeek <otto@drijf.net>
Subject:
Update dnsdist to version 2.0.0
To:
ports@openbsd.org
Date:
Mon, 21 Jul 2025 15:46:53 +0200

Download raw body.

Thread
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

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)