fix(guile): preserve gnutls init in final static guile wrapper

This commit is contained in:
vxtls 2026-03-08 22:43:54 -04:00
parent 66a66651b8
commit 6b8aa73507
8 changed files with 104 additions and 6 deletions

View file

@ -40,6 +40,7 @@ src_configure() {
src_compile() {
local pkg_config_path guile_cflags guile_static_libs avahi_cflags avahi_static_libs
local gnutls_static_libs guile_gnutls_static_lib
pkg_config_path="${LIBDIR}/pkgconfig:${PREFIX}/lib/pkgconfig:${PREFIX}/share/pkgconfig"
guile_cflags="$(PKG_CONFIG_LIBDIR="${pkg_config_path}" PKG_CONFIG_PATH="${pkg_config_path}" \
/usr/bin/pkg-config --cflags guile-3.0)"
@ -49,17 +50,23 @@ src_compile() {
/usr/bin/pkg-config --cflags avahi-client)"
avahi_static_libs="$(PKG_CONFIG_LIBDIR="${pkg_config_path}" PKG_CONFIG_PATH="${pkg_config_path}" \
/usr/bin/pkg-config --static --libs avahi-client)"
gnutls_static_libs="$(PKG_CONFIG_LIBDIR="${pkg_config_path}" PKG_CONFIG_PATH="${pkg_config_path}" \
/usr/bin/pkg-config --static --libs gnutls)"
guile_gnutls_static_lib="${LIBDIR}/libguile-gnutls-static.a"
CPPFLAGS="${guile_cflags} ${avahi_cflags} ${CPPFLAGS:-}" \
GUILE_CFLAGS="${guile_cflags}" \
GUILE_LDFLAGS="${guile_static_libs}" \
AVAHI_CFLAGS="${avahi_cflags}" \
AVAHI_LIBS="${avahi_static_libs}" \
GNUTLS_LIBS="${gnutls_static_libs}" \
GUILE_GNUTLS_STATIC_LIB="${guile_gnutls_static_lib}" \
default_src_compile
}
src_install() {
local pkg_config_path guile_cflags guile_static_libs avahi_cflags avahi_static_libs
local gnutls_static_libs guile_gnutls_static_lib
pkg_config_path="${LIBDIR}/pkgconfig:${PREFIX}/lib/pkgconfig:${PREFIX}/share/pkgconfig"
guile_cflags="$(PKG_CONFIG_LIBDIR="${pkg_config_path}" PKG_CONFIG_PATH="${pkg_config_path}" \
/usr/bin/pkg-config --cflags guile-3.0)"
@ -69,12 +76,17 @@ src_install() {
/usr/bin/pkg-config --cflags avahi-client)"
avahi_static_libs="$(PKG_CONFIG_LIBDIR="${pkg_config_path}" PKG_CONFIG_PATH="${pkg_config_path}" \
/usr/bin/pkg-config --static --libs avahi-client)"
gnutls_static_libs="$(PKG_CONFIG_LIBDIR="${pkg_config_path}" PKG_CONFIG_PATH="${pkg_config_path}" \
/usr/bin/pkg-config --static --libs gnutls)"
guile_gnutls_static_lib="${LIBDIR}/libguile-gnutls-static.a"
CPPFLAGS="${guile_cflags} ${avahi_cflags} ${CPPFLAGS:-}" \
GUILE_CFLAGS="${guile_cflags}" \
GUILE_LDFLAGS="${guile_static_libs}" \
AVAHI_CFLAGS="${avahi_cflags}" \
AVAHI_LIBS="${avahi_static_libs}" \
GNUTLS_LIBS="${gnutls_static_libs}" \
GUILE_GNUTLS_STATIC_LIB="${guile_gnutls_static_lib}" \
default_src_install
}
@ -98,5 +110,9 @@ src_postprocess() {
GUILE_LOAD_COMPILED_PATH="${guile_site_ccache}:${guile_core_ccache}" \
GUILE_SYSTEM_PATH="${guile_site_path}:${guile_core_site}" \
GUILE_SYSTEM_COMPILED_PATH="${guile_site_ccache}:${guile_core_ccache}" \
"${DESTDIR}${PREFIX}/bin/guile" -c '(use-modules (avahi) (avahi client)) (display "avahi-module-ok\n")'
"${DESTDIR}${PREFIX}/bin/guile" -c '
(use-modules (avahi) (avahi client) (gnutls))
(unless (session? (make-session connection-end/client))
(error "gnutls session init failed"))
(display "avahi+gnutls-modules-ok\n")'
}