fix(guix-1.5.0): link against shared libguile for guile-gnutls runtime compatibility

This commit is contained in:
vxtls 2026-03-11 20:46:12 -04:00
parent 0a00b29fc6
commit 7c42824afe
2 changed files with 17 additions and 3 deletions

View file

@ -175,10 +175,10 @@ src_configure() {
argp_ldflags="-L${KERNEL_SYSROOT}/lib" argp_ldflags="-L${KERNEL_SYSROOT}/lib"
guile_cflags="$(PKG_CONFIG_LIBDIR="${pkg_config_path}" PKG_CONFIG_PATH="${pkg_config_path}" \ guile_cflags="$(PKG_CONFIG_LIBDIR="${pkg_config_path}" PKG_CONFIG_PATH="${pkg_config_path}" \
/usr/bin/pkg-config --cflags guile-3.0)" /usr/bin/pkg-config --cflags guile-3.0)"
# Guix daemon links Guile statically in this environment; use --static so # Guix runtime loads Guile extensions such as guile-gnutls dynamically.
# private deps (e.g. libunistring for uc_* symbols) are included. # Link against the shared libguile so those extensions reuse one runtime.
guile_libs="$(PKG_CONFIG_LIBDIR="${pkg_config_path}" PKG_CONFIG_PATH="${pkg_config_path}" \ guile_libs="$(PKG_CONFIG_LIBDIR="${pkg_config_path}" PKG_CONFIG_PATH="${pkg_config_path}" \
/usr/bin/pkg-config --static --libs guile-3.0)" /usr/bin/pkg-config --libs guile-3.0)"
probe_guile_module gnutls probe_guile_module gnutls
probe_guile_module git probe_guile_module git

View file

@ -17,6 +17,20 @@ guix_seed_helper="/steps-guix/improve/guix-1.5.0.sh"
guix_patch_dir="/steps-guix/guix-1.5.0/patches" guix_patch_dir="/steps-guix/guix-1.5.0/patches"
PATH="/usr/sbin:/sbin:${PATH}" PATH="/usr/sbin:/sbin:${PATH}"
export GUIX_DAEMON_SOCKET="${daemon_socket}" export GUIX_DAEMON_SOCKET="${daemon_socket}"
guile_site_path="${PREFIX}/share/guile/site/3.0:${PREFIX}/share/guile/3.0"
guile_site_ccache="${LIBDIR}/guile/3.0/site-ccache"
guile_core_ccache="${LIBDIR}/guile/3.0/ccache"
guile_ext_path="${LIBDIR}/guile/3.0/extensions"
# Keep Guile runtime lookup deterministic for both CLI and daemon-side Guile
# helpers.
export LD_LIBRARY_PATH="${LIBDIR}:${PREFIX}/lib:${LD_LIBRARY_PATH}"
export GUILE_LOAD_PATH="${guile_site_path}"
export GUILE_LOAD_COMPILED_PATH="${guile_site_ccache}:${guile_core_ccache}"
export GUILE_SYSTEM_PATH="${guile_site_path}"
export GUILE_SYSTEM_COMPILED_PATH="${guile_site_ccache}:${guile_core_ccache}"
export GUILE_EXTENSIONS_PATH="${guile_ext_path}"
export GNUTLS_GUILE_EXTENSION_DIR="${guile_ext_path}"
have_group() { have_group() {
if command -v getent >/dev/null 2>&1; then if command -v getent >/dev/null 2>&1; then