]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
GHA/http3-linux: fix nghttpx build and other tweaks
authorViktor Szakats <commit@vsz.me>
Thu, 11 Sep 2025 13:05:28 +0000 (15:05 +0200)
committerViktor Szakats <commit@vsz.me>
Thu, 11 Sep 2025 15:03:33 +0000 (17:03 +0200)
- fix `nghttp2` build to also build the `nghttpx` application.
  Restore required `libc-ares-dev`. Also confirm that `libev-dev` is
  required too. Document these requirements.
  Follow-up to 0455d8772a1af20ce63c46c5738582aa9b1b8441 #18509

- explicitly enable `nghttpx` for the `nghttp2` build to make it fail if
  requirements aren't met:
  ```
  configure: error: applications were requested (--enable-app) but dependencies are not met.
  ```

- explicitly install brotli, zstd, zlib for the dependency builds.
  Of these, zstd and zlib are preinstalled. zlib is required for
  `nghttpx`. zstd and brotli doesn't seem to be used, but keep them
  there just in case and to match the test env.
  Follow-up to 0455d8772a1af20ce63c46c5738582aa9b1b8441 #18509

- enable brotli for `nghttpx`. It doesn't change the tests, and also
  cost almost nothing, so I figure why not.

Closes #18522

.github/workflows/http3-linux.yml

index 3443b11464664d2a83e43f359b61c20e5419240d..195437182f118f17c0d42f2b7f46a848c3a9eb9c 100644 (file)
@@ -193,7 +193,10 @@ jobs:
           sudo rm -f /var/lib/man-db/auto-update
           sudo apt-get -o Dpkg::Use-Pty=0 install \
             libtool autoconf automake pkgconf \
-            nettle-dev libp11-kit-dev libev-dev autopoint bison gperf gtk-doc-tools libtasn1-bin  # for gnutls
+            libbrotli-dev libzstd-dev zlib1g-dev \
+            libev-dev \
+            libc-ares-dev \
+            nettle-dev libp11-kit-dev autopoint bison gperf gtk-doc-tools libtasn1-bin  # for GnuTLS
           echo 'CC=gcc-12' >> "$GITHUB_ENV"
           echo 'CXX=g++-12' >> "$GITHUB_ENV"
 
@@ -256,6 +259,7 @@ jobs:
           cd ~
           git clone --quiet --depth=1 -b "${GNUTLS_VERSION}" https://github.com/gnutls/gnutls.git
           cd gnutls
+          # required: nettle-dev libp11-kit-dev libev-dev autopoint bison gperf gtk-doc-tools libtasn1-bin
           ./bootstrap
           ./configure --disable-dependency-tracking --prefix="$PWD"/build \
             LDFLAGS="-Wl,-rpath,$PWD/build/lib -L$PWD/build/lib" \
@@ -332,10 +336,13 @@ jobs:
           cd nghttp2
           git submodule update --init --depth=1
           autoreconf -fi
+          # required (for nghttpx application): libc-ares-dev libev-dev zlib1g-dev
+          # optional (for nghttpx application): libbrotli-dev
           ./configure --disable-dependency-tracking --prefix="$PWD"/build \
             PKG_CONFIG_PATH=/home/runner/quictls/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig \
             LDFLAGS=-Wl,-rpath,/home/runner/quictls/build/lib \
-            --enable-http3
+            --with-libbrotlienc --with-libbrotlidec \
+            --enable-app --enable-http3
           make install
 
   linux: