On Fri, Feb 16, 2024 at 10:20:49AM +0000, Stuart Henderson wrote:

> Generally the diff looks good to me. I'd have a slight preference to
> move SYSCONFDIR/COMPILER/MODULES/NODLUA_VERSION up so that the
> flavour-independent variables are grouped together above the .if.
> 
> On 2024/02/16 10:29, Renaud Allard wrote:
> > Then maybe the flavor should be named -http3 because DoQ is http3 over non
> > 443 port.
> 
> I would prefer this (or just -h3) than -quiche. Also please mention
> it in DESCR e.g. something like
> 
> Flavours:
>       h3: build with libquiche/boringssl, providing HTTP/3 and QUIC support
> 

Updated diff, taking the -h3 and other suggesions.

        -Otto

Index: Makefile
===================================================================
RCS file: /home/cvs/ports/net/dnsdist/Makefile,v
diff -u -p -r1.36 Makefile
--- Makefile    15 Dec 2023 13:11:55 -0000      1.36
+++ Makefile    16 Feb 2024 11:12:02 -0000
@@ -1,6 +1,6 @@
 COMMENT=               highly DNS-, DoS- and abuse-aware loadbalancer
 
-DISTNAME=              dnsdist-1.8.3
+DISTNAME=              dnsdist-1.9.0
 EXTRACT_SUFX=          .tar.bz2
 
 CATEGORIES=            net
@@ -10,18 +10,28 @@ HOMEPAGE=           https://dnsdist.org/
 MAINTAINER=            Otto Moerbeek <o...@drijf.net>
 
 # GPLv2 only
-PERMIT_PACKAGE=        Yes
+PERMIT_PACKAGE=                Yes
 
-WANTLIB +=             ${MODLUA_WANTLIB} c curses edit m \
-                       fstrm h2o-evloop>=1 nghttp2 pthread \
-                       z crypto ssl sodium ${COMPILER_LIBCXX}
+FLAVORS=               h3
+FLAVOR?=
+
+WANTLIB +=             ${MODLUA_WANTLIB} ${COMPILER_LIBCXX} curses crypto edit 
m \
+                       fstrm nghttp2 pthread sodium 
 
 SITES=                 https://downloads.powerdns.com/releases/
 
 CONFIGURE_STYLE=       autoconf
-AUTOCONF_VERSION=      2.69
+AUTOCONF_VERSION=      2.71
 USE_GMAKE=             Yes
 
+SYSCONFDIR=            ${BASESYSCONFDIR}/dnsdist
+
+COMPILER =             base-clang ports-gcc
+
+MODULES+=              lang/lua
+MODLUA_VERSION=                5.3
+
+
 CONFIGURE_ARGS+=       --without-gnutls \
                        --disable-hardening \
                        --with-lua=lua${MODLUA_VERSION:S/.//} \
@@ -34,27 +44,43 @@ CONFIGURE_ARGS+=    --without-gnutls \
                        --enable-dnscrypt \
                        --enable-dnstap \
                        --enable-dns-over-https
-#
-# On at least amd64 using clang13 dnsdist-lua-bindings.cc gets
-# miscompiled with -O2, resulting in a segfault on startup
-#
+
 CONFIGURE_ENV+=                CPPFLAGS="-I${LOCALBASE}/include" \
                        LDFLAGS="-L${LOCALBASE}/lib" \
-                       LIBEDIT_LIBS='-ledit -lcurses' \
-                       LIBEDIT_CFLAGS=' '
-SYSCONFDIR=            ${BASESYSCONFDIR}/dnsdist
-
-COMPILER =             base-clang ports-gcc
-
-MODULES+=              lang/lua
-MODLUA_VERSION=                5.3
+                       LIBEDIT_LIBS="-ledit -lcurses" \
+                       LIBEDIT_CFLAGS=" "
 
 BUILD_DEPENDS=         devel/boost
 LIB_DEPENDS+=          ${MODLUA_LIB_DEPENDS} \
                        security/libsodium \
                        net/libfstrm \
-                       www/h2o \
                        www/nghttp2
+
+
+.if ${FLAVOR:L:Mh3}
+
+# 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" \
+                       QUICHE_CFLAGS=" " \
+                       QUICHE_LIBS='-lquiche'
+BUILD_DEPENDS+=                net/quiche \
+                       security/boringssl/head
+.else
+
+WANTLIB+=              ssl
+
+.endif
 
 post-install:
        ${INSTALL_DATA_DIR} ${PREFIX}/share/{doc,examples}/dnsdist
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/net/dnsdist/distinfo,v
diff -u -p -r1.19 distinfo
--- distinfo    15 Dec 2023 13:11:55 -0000      1.19
+++ distinfo    16 Feb 2024 11:12:02 -0000
@@ -1,2 +1,2 @@
-SHA256 (dnsdist-1.8.3.tar.bz2) = hYMj8u1RgUiLt1WPv0+E7HGYYAsHCyxTddFdQGlXJ/Q=
-SIZE (dnsdist-1.8.3.tar.bz2) = 1484359
+SHA256 (dnsdist-1.9.0.tar.bz2) = FrqxXK2SRVcYBjmKjkpdwyqStrtg5hfBL+lYyUWInHw=
+SIZE (dnsdist-1.9.0.tar.bz2) = 1620891
Index: patches/patch-configure_ac
===================================================================
RCS file: /home/cvs/ports/net/dnsdist/patches/patch-configure_ac,v
diff -u -p -r1.8 patch-configure_ac
--- patches/patch-configure_ac  31 Mar 2023 05:38:03 -0000      1.8
+++ patches/patch-configure_ac  16 Feb 2024 11:12:02 -0000
@@ -11,4 +11,4 @@ Index: configure.ac
 +CXXFLAGS="-g -Wall -Wextra -Wshadow -Wno-unused-parameter 
-Wmissing-declarations -Wredundant-decls -fvisibility=hidden $CXXFLAGS"
  
  PDNS_WITH_LIBSODIUM
- PDNS_CHECK_DNSTAP([auto])
+ PDNS_WITH_QUICHE
Index: pkg/DESCR
===================================================================
RCS file: /home/cvs/ports/net/dnsdist/pkg/DESCR,v
diff -u -p -r1.1.1.1 DESCR
--- pkg/DESCR   15 Jan 2017 17:13:33 -0000      1.1.1.1
+++ pkg/DESCR   16 Feb 2024 11:12:02 -0000
@@ -1,3 +1,7 @@
 dnsdist is a highly DNS-, DoS- and abuse-aware loadbalancer. Its goal in
 life is to route traffic to the best server, delivering top performance
 to legitimate users while shunting or blocking abusive traffic.
+
+Flavours:
+        h3: build with libquiche/boringssl, providing incoming HTTP/3 and QUIC 
support                         
+

Reply via email to