Skip to content

Instantly share code, notes, and snippets.

@masakielastic
Last active March 1, 2026 01:46
Show Gist options
  • Select an option

  • Save masakielastic/e2851af54b0b12939d10d58775cb300b to your computer and use it in GitHub Desktop.

Select an option

Save masakielastic/e2851af54b0b12939d10d58775cb300b to your computer and use it in GitHub Desktop.
HTTP/3 関連のローカルビルドのための設定ファイル

HTTP/3 関連のローカルビルドのための設定ファイル

サブシェルで一時環境を使う」方式

h3 curl -V
h3 h2load --version
h3 nghttpx --version
h3 openssl version

バージョン番号を表示させる

h3-pkgver
openssl                3.6.2-dev
libssl                 3.6.2-dev
libcrypto              3.6.2-dev
libnghttp2             1.68.0
libnghttp3             1.16.0-DEV
libngtcp2              1.22.0-DEV
libngtcp2_crypto_ossl  1.22.0-DEV

ビルド用に環境変数を設定する

use-h3
h3() {
(
export PREFIX="$HOME/.local"
export PATH="$PREFIX/bin:$PATH"
export LD_LIBRARY_PATH="$PREFIX/lib64:$PREFIX/lib"
export PKG_CONFIG_PATH="$PREFIX/lib64/pkgconfig:$PREFIX/lib/pkgconfig"
export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
export SSL_CERT_DIR=/etc/ssl/certs
exec "$@"
)
}
use-h3() {
export _OLD_PATH="$PATH"
export _OLD_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
export _OLD_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
export PREFIX="$HOME/.local"
export PATH="$PREFIX/bin:$PATH"
export LD_LIBRARY_PATH="$PREFIX/lib64:$PREFIX/lib"
export PKG_CONFIG_PATH="$PREFIX/lib64/pkgconfig:$PREFIX/lib/pkgconfig"
export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
export SSL_CERT_DIR=/etc/ssl/certs
hash -r
}
unuse-h3() {
export PATH="$_OLD_PATH"
export LD_LIBRARY_PATH="$_OLD_LD_LIBRARY_PATH"
export PKG_CONFIG_PATH="$_OLD_PKG_CONFIG_PATH"
unset PREFIX _OLD_PATH _OLD_LD_LIBRARY_PATH _OLD_PKG_CONFIG_PATH
hash -r
}
h3-pkgver() {
local PREFIX="$HOME/.local"
local PKG_PATH="$PREFIX/lib64/pkgconfig:$PREFIX/lib/pkgconfig"
local pkg ver
for pkg in openssl libssl libcrypto \
libnghttp2 libnghttp3 \
libngtcp2 libngtcp2_crypto_ossl; do
ver="$(PKG_CONFIG_PATH="$PKG_PATH" pkg-config --modversion "$pkg" 2>/dev/null)" || continue
printf "%-22s %s\n" "$pkg" "$ver"
done
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment