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=<custom-dir>`. 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.

cb9b1a4c4e/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
This commit is contained in:
Viktor Szakats 2025-07-25 21:35:57 +02:00
parent cb9b1a4c4e
commit 99500660af
No known key found for this signature in database
GPG Key ID: B5ABD165E2AEF201

View File

@ -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'