From: Viktor Szakats Date: Fri, 25 Jul 2025 19:35:57 +0000 (+0200) Subject: GHA/http3-linux: bump to ngtcp2 1.14.0, fix local build X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=99500660af19f89069e71c2251c13963401b3806;p=thirdparty%2Fcurl.git GHA/http3-linux: bump to ngtcp2 1.14.0, fix local build ngtcp2 1.14.0 added crypto dependencies to the ngtcp2 crypto `.pc` files. It broke GHA builds, because how curl's `configure` is setting up the per-dependency custom prefixes for pkg-config. `configure` uses `PKG_CONFIG_LIBDIR` to set per-dependency custom prefixes, as specified via `--with-ngtcp2=`. In classic `pkg-config` this overrides any previously configured `PKG_CONFIG_DIR`. This in turn break detecting transitive pkg-config modules unless they are found at locations `pkg-config` is searching by default. This doesn't affect `pkgconf` because it appends `PKG_CONFIG_LIBDIR` to the custom `PKG_CONFIG_DIR`, according to its man page. It may make sense to fix this in`acinclude.m4`, to make sure to honor global custom pkg-config paths while detecting components at custom locations, regardless of pkg-config implementation. But this PR doesn't do this. Instead it drops the ngtcp2 custom path and lets detection rely on `PKG_CONFIG_DIR` that's already set up for all custom-built dependencies anyway. Also: - fix `openssl-quic` job to use the custom-built nghttp2 (like other jobs do) instead of the system default. - configure nghttp3 via `PKG_CONFIG_DIR` in the `openssl-quic` job, to sync with other jobs. And drop `--with-nghttp3` option. https://github.com/curl/curl/blob/cb9b1a4c4e875ac4eac2209d8686acef3114abdf/acinclude.m4#L1376-L1381 https://manpages.debian.org/unstable/pkg-config/pkg-config.1.en.html https://man.archlinux.org/man/pkgconf.1.en Ref: https://github.com/ngtcp2/ngtcp2/pull/1689#issuecomment-3121576712 Closes #18022 Closes #18028 --- diff --git a/.github/workflows/http3-linux.yml b/.github/workflows/http3-linux.yml index 6345faacbb..d6d4692d39 100644 --- a/.github/workflows/http3-linux.yml +++ b/.github/workflows/http3-linux.yml @@ -52,7 +52,7 @@ env: # renovate: datasource=github-tags depName=ngtcp2/nghttp3 versioning=semver registryUrl=https://github.com NGHTTP3_VERSION: 1.10.1 # renovate: datasource=github-tags depName=ngtcp2/ngtcp2 versioning=semver registryUrl=https://github.com - NGTCP2_VERSION: 1.13.0 + NGTCP2_VERSION: 1.14.0 # renovate: datasource=github-tags depName=nghttp2/nghttp2 versioning=semver registryUrl=https://github.com NGHTTP2_VERSION: 1.66.0 # renovate: datasource=github-tags depName=cloudflare/quiche versioning=semver registryUrl=https://github.com @@ -260,7 +260,7 @@ jobs: PKG_CONFIG_PATH: /home/runner/openssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig configure: >- LDFLAGS=-Wl,-rpath,/home/runner/openssl/build/lib - --with-ngtcp2=/home/runner/ngtcp2/build --enable-warnings --enable-werror --enable-debug --disable-ntlm + --with-ngtcp2 --enable-warnings --enable-werror --enable-debug --disable-ntlm --with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx --with-openssl=/home/runner/openssl/build --enable-ssls-export --with-libuv @@ -269,7 +269,7 @@ jobs: PKG_CONFIG_PATH: /home/runner/quictls/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig configure: >- LDFLAGS=-Wl,-rpath,/home/runner/quictls/build/lib - --with-ngtcp2=/home/runner/ngtcp2/build --enable-warnings --enable-werror --enable-debug --disable-ntlm + --with-ngtcp2 --enable-warnings --enable-werror --enable-debug --disable-ntlm --with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx --with-openssl=/home/runner/quictls/build --enable-ssls-export --with-libuv @@ -278,7 +278,7 @@ jobs: PKG_CONFIG_PATH: /home/runner/gnutls/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig configure: >- LDFLAGS=-Wl,-rpath,/home/runner/gnutls/build/lib - --with-ngtcp2=/home/runner/ngtcp2/build --enable-warnings --enable-werror --enable-debug + --with-ngtcp2 --enable-warnings --enable-werror --enable-debug --with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx --with-gnutls=/home/runner/gnutls/build --enable-ssls-export --with-libuv @@ -287,7 +287,7 @@ jobs: PKG_CONFIG_PATH: /home/runner/wolfssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig configure: >- LDFLAGS=-Wl,-rpath,/home/runner/wolfssl/build/lib - --with-ngtcp2=/home/runner/ngtcp2/build --enable-warnings --enable-werror --enable-debug + --with-ngtcp2 --enable-warnings --enable-werror --enable-debug --with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx --with-wolfssl=/home/runner/wolfssl/build --enable-ech --enable-ssls-export @@ -303,13 +303,12 @@ jobs: -DCURL_USE_LIBUV=ON - name: 'openssl-quic' - PKG_CONFIG_PATH: /home/runner/openssl/build/lib/pkgconfig + PKG_CONFIG_PATH: /home/runner/openssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig configure: >- LDFLAGS=-Wl,-rpath,/home/runner/openssl/build/lib --enable-warnings --enable-werror --enable-debug --disable-ntlm --with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx --with-openssl=/home/runner/openssl/build --with-openssl-quic - --with-nghttp3=/home/runner/nghttp3/build --with-libuv - name: 'quiche'