live-bootstrap/steps-guix/guile-gnutls-v5.0.1/patches/static-init-from-main-program.patch
2026-03-05 13:22:56 -05:00

42 lines
1.5 KiB
Diff

SPDX-License-Identifier: GPL-3.0-or-later
Make static/shared initialization deterministic from the build system only.
Do not patch Scheme sources; rewrite generated gnutls.scm at build time.
--- guile-gnutls-v5.0.1/configure.ac
+++ guile-gnutls-v5.0.1/configure.ac
@@ -508,6 +508,7 @@
fi
AC_SUBST([maybe_guileextensiondir])
+AM_CONDITIONAL([ENABLE_SHARED], [test "x$enable_shared" != "xno"])
AM_CONDITIONAL([HAVE_GUILD], [test "x$GUILD" != "x"])
AM_CONDITIONAL([CROSS_COMPILING], [test "x$cross_compiling" = "xyes"])
AM_CONDITIONAL(HAVE_GCC_GNU89_INLINE_OPTION, test "$gnu89_inline" = "yes"])
--- guile-gnutls-v5.0.1/guile/Makefile.am
+++ guile-gnutls-v5.0.1/guile/Makefile.am
@@ -46,6 +46,8 @@
.in.scm:
$(AM_V_GEN)$(MKDIR_P) "`dirname "$@"`" ; cat "$^" | \
$(SED) -e's|[@]maybe_guileextensiondir[@]|$(maybe_guileextensiondir)|g' \
+ -e "1,/(unless (getenv \"GNUTLS_GUILE_CROSS_COMPILING\")/s|(unless (getenv \"GNUTLS_GUILE_CROSS_COMPILING\")|(unless (or (false-if-exception (dynamic-call \"scm_init_gnutls\" (dynamic-link #f))) (getenv \"GNUTLS_GUILE_CROSS_COMPILING\"))|" \
+ -e "s|(unless (getenv \"GNUTLS_GUILE_CROSS_COMPILING\")|(when (module-variable (current-module) 'protocol/ssl3)|" \
> "$@.tmp"
$(AM_V_at)mv "$@.tmp" "$@"
@@ -56,6 +58,7 @@
if HAVE_GUILD
+if ENABLE_SHARED
guilesiteccachesubdir = $(guilesiteccachedir)/gnutls
nodist_guilesiteccache_DATA = modules/gnutls.go
nodist_guilesiteccachesub_DATA = modules/gnutls/extra.go
@@ -94,6 +97,7 @@
-o "$@" "$<" >&$$out
SUFFIXES = .go
+endif ENABLE_SHARED
endif HAVE_GUILD