Not sent upstream.

From e23de62e28f64599148ff06e439fac116a391299 Mon Sep 17 00:00:00 2001
From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org>
Date: Fri, 10 Apr 2020 07:24:48 +0200
Subject: [PATCH] guile: Cross build fix.

To cross-build, both the host guile and the native guile-for-build
must be available.  If the native guile is not available, no snarfing
is done and the guile cross build is skipped.

During the cross-build gnutls.scm does not load when compliling
extra.scm, becase of missing definitions from guile-gnutls-v-2.

* guile/modules/gnutls.in (protocol/ssl-3 protocol/tls-1.0,
protocol/tls-1.1, credentials/anonymous, cipher/rijndael-256-cbc,
cipher/rijndael-128-cbc, cipher/rijndael-cbc, cipher/arcfour-128,
certificate-verify/allow-any-x509-v1-ca-certificate,
certificate-verify/allow-x509-v1-ca-certificate): Define to #f
initially.  When "GNUTLS_GUILE_CROSS_COMPILING" not set, set! to value
from "guile-gnutls-v-2" load-extension C module.
---
 guile/modules/gnutls.in | 40 +++++++++++++++++++++++++++-------------
 1 file changed, 27 insertions(+), 13 deletions(-)

diff --git a/guile/modules/gnutls.in b/guile/modules/gnutls.in
index 6461c404a..954e315de 100644
--- a/guile/modules/gnutls.in
+++ b/guile/modules/gnutls.in
@@ -564,22 +564,36 @@ This defines 'variable' as an alias for 'alias', and emits a warning when
                    (identifier? #'id)
                    #'alias))))))))))
 
-
 ;; Renaming.
-(define protocol/ssl-3 protocol/ssl3)
-(define protocol/tls-1.0 protocol/tls1-0)
-(define protocol/tls-1.1 protocol/tls1-1)
+(define protocol/ssl-3 #f)
+(define protocol/tls-1.0 #f)
+(define protocol/tls-1.1 #f)
 
 ;; Aliases.
-(define credentials/anonymous   credentials/anon)
-(define cipher/rijndael-256-cbc cipher/aes-256-cbc)
-(define cipher/rijndael-128-cbc cipher/aes-128-cbc)
-(define cipher/rijndael-cbc     cipher/aes-128-cbc)
-(define cipher/arcfour-128      cipher/arcfour)
-(define certificate-verify/allow-any-x509-v1-ca-certificate
-  certificate-verify/allow-any-x509-v1-ca-crt)
-(define certificate-verify/allow-x509-v1-ca-certificate
-  certificate-verify/allow-x509-v1-ca-crt)
+(define credentials/anonymous   #f)
+(define cipher/rijndael-256-cbc #f)
+(define cipher/rijndael-128-cbc #f)
+(define cipher/rijndael-cbc     #f)
+(define cipher/arcfour-128      #f)
+(define certificate-verify/allow-any-x509-v1-ca-certificate #f)
+(define certificate-verify/allow-x509-v1-ca-certificate #f)
+
+(unless (getenv "GNUTLS_GUILE_CROSS_COMPILING")
+  ;; Renaming.
+  (set! protocol/ssl-3 protocol/ssl3)
+  (set! protocol/tls-1.0 protocol/tls1-0)
+  (set! protocol/tls-1.1 protocol/tls1-1)
+
+  ;; Aliases.
+  (set! credentials/anonymous   credentials/anon)
+  (set! cipher/rijndael-256-cbc cipher/aes-256-cbc)
+  (set! cipher/rijndael-128-cbc cipher/aes-128-cbc)
+  (set! cipher/rijndael-cbc     cipher/aes-128-cbc)
+  (set! cipher/arcfour-128      cipher/arcfour)
+  (set! certificate-verify/allow-any-x509-v1-ca-certificate
+    certificate-verify/allow-any-x509-v1-ca-crt)
+  (set! certificate-verify/allow-x509-v1-ca-certificate
+    certificate-verify/allow-x509-v1-ca-crt))
 
 ;; Deprecated OpenPGP bindings.
 (define-deprecated certificate-type/openpgp)
-- 
2.26.0

