commit:     51da7e492463badd0a74af5e657304b2e4834a36
Author:     Bertrand Jacquin <bertrand <AT> jacquin <DOT> bzh>
AuthorDate: Fri Nov 14 15:00:07 2025 +0000
Commit:     Christian Ruppert <idl0r <AT> gentoo <DOT> org>
CommitDate: Mon Nov 17 09:48:41 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=51da7e49

net-proxy/haproxy: add USE flag for QUIC

Support for HTTP/3 over QUIC was first introduced in HAProxy 2.5,
however could only be enabled and use with custom OpenSSL branch until
OpenSSL 3.5 was released with QUIC server side support.

See: https://openssl-library.org/post/2025-04-08-openssl-35-final-release/
See: https://www.haproxy.com/blog/how-to-enable-quic-load-balancing-on-haproxy
Bug: https://bugs.gentoo.org/966069
Signed-off-by: Bertrand Jacquin <bertrand <AT> jacquin.bzh>
Part-of: https://github.com/gentoo/gentoo/pull/44626
Closes: https://github.com/gentoo/gentoo/pull/44626
Signed-off-by: Christian Ruppert <idl0r <AT> gentoo.org>

 .../haproxy/{haproxy-3.2.9999.ebuild => haproxy-3.2.8-r1.ebuild}    | 6 +++++-
 net-proxy/haproxy/haproxy-3.2.9999.ebuild                           | 6 +++++-
 net-proxy/haproxy/haproxy-9999.ebuild                               | 6 +++++-
 net-proxy/haproxy/metadata.xml                                      | 1 +
 4 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/net-proxy/haproxy/haproxy-3.2.9999.ebuild 
b/net-proxy/haproxy/haproxy-3.2.8-r1.ebuild
similarity index 98%
copy from net-proxy/haproxy/haproxy-3.2.9999.ebuild
copy to net-proxy/haproxy/haproxy-3.2.8-r1.ebuild
index a499c615474c..81130f8116d6 100644
--- a/net-proxy/haproxy/haproxy-3.2.9999.ebuild
+++ b/net-proxy/haproxy/haproxy-3.2.8-r1.ebuild
@@ -31,7 +31,7 @@ fi
 
 LICENSE="GPL-2 LGPL-2.1"
 SLOT="0/$(ver_cut 1-2)"
-IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter quic
 ssl systemd test +threads tools zlib lua 51degrees wurfl"
 REQUIRED_USE="pcre-jit? ( pcre )
        lua? ( ${LUA_REQUIRED_USE} )
@@ -48,6 +48,9 @@ DEPEND="
        ssl? (
                dev-libs/openssl:0=
        )
+       quic? (
+               >=dev-libs/openssl-3.5.0:0=
+       )
        systemd? ( sys-apps/systemd )
        zlib? ( virtual/zlib:= )
        lua? ( ${LUA_DEPS} )
@@ -114,6 +117,7 @@ src_compile() {
        args+=( $(haproxy_use 51degrees 51DEGREES) )
        args+=( $(haproxy_use wurfl WURFL) )
        args+=( $(haproxy_use prometheus-exporter PROMEX) )
+       args+=( $(haproxy_use quic QUIC) )
 
        # Bug #668002
        if use ppc || use arm || use hppa; then

diff --git a/net-proxy/haproxy/haproxy-3.2.9999.ebuild 
b/net-proxy/haproxy/haproxy-3.2.9999.ebuild
index a499c615474c..81130f8116d6 100644
--- a/net-proxy/haproxy/haproxy-3.2.9999.ebuild
+++ b/net-proxy/haproxy/haproxy-3.2.9999.ebuild
@@ -31,7 +31,7 @@ fi
 
 LICENSE="GPL-2 LGPL-2.1"
 SLOT="0/$(ver_cut 1-2)"
-IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter quic
 ssl systemd test +threads tools zlib lua 51degrees wurfl"
 REQUIRED_USE="pcre-jit? ( pcre )
        lua? ( ${LUA_REQUIRED_USE} )
@@ -48,6 +48,9 @@ DEPEND="
        ssl? (
                dev-libs/openssl:0=
        )
+       quic? (
+               >=dev-libs/openssl-3.5.0:0=
+       )
        systemd? ( sys-apps/systemd )
        zlib? ( virtual/zlib:= )
        lua? ( ${LUA_DEPS} )
@@ -114,6 +117,7 @@ src_compile() {
        args+=( $(haproxy_use 51degrees 51DEGREES) )
        args+=( $(haproxy_use wurfl WURFL) )
        args+=( $(haproxy_use prometheus-exporter PROMEX) )
+       args+=( $(haproxy_use quic QUIC) )
 
        # Bug #668002
        if use ppc || use arm || use hppa; then

diff --git a/net-proxy/haproxy/haproxy-9999.ebuild 
b/net-proxy/haproxy/haproxy-9999.ebuild
index a499c615474c..81130f8116d6 100644
--- a/net-proxy/haproxy/haproxy-9999.ebuild
+++ b/net-proxy/haproxy/haproxy-9999.ebuild
@@ -31,7 +31,7 @@ fi
 
 LICENSE="GPL-2 LGPL-2.1"
 SLOT="0/$(ver_cut 1-2)"
-IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter quic
 ssl systemd test +threads tools zlib lua 51degrees wurfl"
 REQUIRED_USE="pcre-jit? ( pcre )
        lua? ( ${LUA_REQUIRED_USE} )
@@ -48,6 +48,9 @@ DEPEND="
        ssl? (
                dev-libs/openssl:0=
        )
+       quic? (
+               >=dev-libs/openssl-3.5.0:0=
+       )
        systemd? ( sys-apps/systemd )
        zlib? ( virtual/zlib:= )
        lua? ( ${LUA_DEPS} )
@@ -114,6 +117,7 @@ src_compile() {
        args+=( $(haproxy_use 51degrees 51DEGREES) )
        args+=( $(haproxy_use wurfl WURFL) )
        args+=( $(haproxy_use prometheus-exporter PROMEX) )
+       args+=( $(haproxy_use quic QUIC) )
 
        # Bug #668002
        if use ppc || use arm || use hppa; then

diff --git a/net-proxy/haproxy/metadata.xml b/net-proxy/haproxy/metadata.xml
index 85278924f48a..74849588f4de 100644
--- a/net-proxy/haproxy/metadata.xml
+++ b/net-proxy/haproxy/metadata.xml
@@ -22,6 +22,7 @@
                <flag name="net_ns">Enable network namespace support 
(CONFIG_NET_NS)</flag>
                <flag name="pcre-jit">Use JIT support for PCRE</flag>
                <flag name="prometheus-exporter">Also build the prometheus 
exporter</flag>
+               <flag name="quic">Enable support for QUIC (RFC 9000); a 
UDP-based protocol intended to replace TCP</flag>
                <flag name="slz">Use <pkg>dev-libs/libslz</pkg> compression 
library</flag>
                <flag name="tools">Install additional tools (halog, 
iprange)</flag>
                <flag name="51degrees">Device Detection using 51 Degrees</flag>

Reply via email to