[PATCH guile-gnutls] maint: Fix MinGW cross-build by using alloca from gnulib.

Janneke Nieuwenhuizen <[email protected]> Fri, 16 May 2025 13:31:00 +0200
Newsgroups gmane.lisp.guile.user,gmane.network.gnutls.general
Organization AvatarAcademy.nl
Message-ID <[email protected]>
--=-=-=
Content-Type: text/plain

Hi,

Attached is a patch to include the gnulib's alloca-opt module to support
cross-building to MinGW.  As guile-websocket-0.2 added a dependency on
guile-gnutls, it's nice to have guile-gnutls.

For gnutls I'm using a gnutls-minimal, attached as tls.scm.

Greetings,
Janneke


--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: inline;
 filename=0001-maint-Fix-MinGW-cross-build-by-using-alloca-from-gnu.patch
Content-Transfer-Encoding: quoted-printable

From 5541ba021e31e418a7b345996ada481505074f1c Mon Sep 17 00:00:00 2001
From: Janneke Nieuwenhuizen <[email protected]>
Date: Fri, 16 May 2025 10:47:18 +0200
Subject: [PATCH] maint: Fix MinGW cross-build by using alloca from gnulib.

---
 .gitignore            | 9 +++++++++
 Makefile.am           | 6 +++---
 bootstrap             | 3 +--
 configure.ac          | 5 ++++-
 guile/src/Makefile.am | 3 ++-
 5 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/.gitignore b/.gitignore
index 7a068b4..716b07b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -51,9 +51,18 @@
 /guile/tests/*.trs
 /lib
 /libtool
+/m4/00gnulib.m4
+/m4/alloca.m4
+/m4/gnulib-cache.m4
+/m4/gnulib-common.m4
+/m4/gnulib-comp.m4
+/m4/gnulib-tool.m4
+/m4/init-package-version.m4
 /m4/libtool.m4
 /m4/ltoptions.m4
 /m4/ltsugar.m4
 /m4/ltversion.m4
 /m4/lt~obsolete.m4
+/m4/zzgnulib.m4
+/gl
 /stamp-h1
diff --git a/Makefile.am b/Makefile.am
index 43c5de7..6a39f24 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2007-2023 Free Software Foundation, Inc.
+# Copyright (C) 2007-2025 Free Software Foundation, Inc.
 #
 # Author: Ludovic Court=C3=A8s
 #
@@ -23,9 +23,9 @@ AM_DISTCHECK_CONFIGURE_FLAGS =3D \
 	--with-guile-site-ccache-dir=3D'$$(libdir)/guile/$$(GUILE_EFFECTIVE_VERSI=
ON)/site-ccache' \
 	--with-guile-extension-dir=3D'$$(libdir)/guile/$$(GUILE_EFFECTIVE_VERSION=
)/extensions'
=20
-SUBDIRS =3D guile doc
+SUBDIRS =3D gl guile doc
=20
-EXTRA_DIST =3D cfg.mk CONTRIBUTING.md
+EXTRA_DIST =3D cfg.mk CONTRIBUTING.md m4/gnulib-cache.m4
=20
 # git-version-gen
 EXTRA_DIST +=3D $(top_srcdir)/.version
diff --git a/bootstrap b/bootstrap
index 99d5d29..0adf250 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,8 +1,7 @@
 #! /bin/sh
=20
 if test -x gnulib/gnulib-tool; then
-    gnulib/gnulib-tool --no-changelog --aux-dir=3Dbuild-aux --doc-base=3Dd=
oc --lib=3Dlibgl --m4-base=3Dm4/ --source-base=3Dgl/ --tests-base=3Dtests -=
-local-dir=3Dgl --no-vc-files --libtool --import git-version-gen havelib gi=
tlog-to-changelog readme-release update-copyright version-stamp
-    rm -fv gl/* m4/00gnulib.m4 m4/gnulib-common.m4 m4/zzgnulib.m4 m4/gnuli=
b-cache.m4  m4/gnulib-comp.m4  m4/gnulib-tool.m4 m4/init-package-version.m4
+    gnulib/gnulib-tool --no-changelog --aux-dir=3Dbuild-aux --doc-base=3Dd=
oc --lib=3Dlibgl --m4-base=3Dm4/ --source-base=3Dgl/ --tests-base=3Dtests -=
-local-dir=3Dgl --no-vc-files --libtool --import git-version-gen havelib gi=
tlog-to-changelog readme-release update-copyright version-stamp alloca-opt
 fi
=20
 autoreconf -vif
diff --git a/configure.ac b/configure.ac
index 16e793c..8f7d3db 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-# Copyright (C) 2000-2023 Free Software Foundation, Inc.
+# Copyright (C) 2000-2025 Free Software Foundation, Inc.
 #
 # Author: Ludovic Court=C3=A8s, Simon Josefsson, Nikos Mavrogiannopoulos
 #
@@ -35,6 +35,8 @@ AC_CONFIG_HEADERS([config.h])
=20
 dnl Checks for programs.
 AC_PROG_CC
+gl_EARLY
+gl_INIT
 AC_PROG_CPP
 AM_PROG_AR
 LT_INIT([disable-static])
@@ -522,6 +524,7 @@ AC_CONFIG_FILES([
   Makefile
   doc/Makefile
   doc/abs-top-srcdir.texi
+  gl/Makefile
   guile/Makefile
   guile/src/Makefile
 ])
diff --git a/guile/src/Makefile.am b/guile/src/Makefile.am
index e54d896..65e04b0 100644
--- a/guile/src/Makefile.am
+++ b/guile/src/Makefile.am
@@ -1,5 +1,5 @@
 # Guile-GnuTLS --- Guile bindings for GnuTLS.
-# Copyright (C) 2007-2023 Free Software Foundation, Inc.
+# Copyright (C) 2007-2025 Free Software Foundation, Inc.
 #
 # This file is part of Guile-GnuTLS.
 #
@@ -50,6 +50,7 @@ guile_gnutls_v_2_la_LIBADD =3D \
 	$(GUILE_LDFLAGS)
=20
 AM_CPPFLAGS =3D \
+	-I$(top_srcdir)/gl \
 	-I$(top_srcdir)/lib/includes \
 	-I$(top_builddir)/lib/includes	\
 	-I$(top_srcdir)/extra/includes \
--=20
2.49.0


--=-=-=
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=tls.scm
Content-Transfer-Encoding: base64

KGRlZmluZS1tb2R1bGUgKHBhY2sgbWluZ3cgdGxzKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBnZXhw
KQogICM6dXNlLW1vZHVsZSAoZ3VpeCBwYWNrYWdlcykKICAjOnVzZS1tb2R1bGUgKGd1aXggdXRp
bHMpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgdGxzKSkKCihkZWZpbmUtcHVibGljIGdu
dXRscy1taW5pbWFsCiAgKHBhY2thZ2UKICAgIChpbmhlcml0IGdudXRscykKICAgIChuYW1lICJn
bnV0bHMtbWluaW1hbCIpCiAgICAocHJvcGFnYXRlZC1pbnB1dHMKICAgICAobW9kaWZ5LWlucHV0
cyAocGFja2FnZS1wcm9wYWdhdGVkLWlucHV0cyBnbnV0bHMpCiAgICAgICAoZGVsZXRlCiAgICAg
ICAgImxpYnRhc24xIiAibGliaWRuMiIKICAgICAgICA7OyAibmV0dGxlIiA7RklYTVVFOiAtLXdp
dGgtbmV0dGxlLW1pbmkgc3RpbGwgd2FudHMgbmV0dGxlPwogICAgICAgICJwMTEta2l0IikpKQog
ICAgKGFyZ3VtZW50cwogICAgIChzdWJzdGl0dXRlLWtleXdvcmQtYXJndW1lbnRzIChwYWNrYWdl
LWFyZ3VtZW50cyBnbnV0bHMpCiAgICAgICAoKCM6Y29uZmlndXJlLWZsYWdzIGZsYWdzICN+Jygp
KQogICAgICAgICN+KGNvbnMqCiAgICAgICAgICAgOzsgUmVsYXggZ2NjLTE0J3Mgc3RyaWN0bmVz
cwogICAgICAgICAgICMkKHN0cmluZy1hcHBlbmQgIkNGTEFHUz0tZyAtTzIiCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiIC1Xbm8tZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRp
b24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC1Xbm8tZXJyb3I9aW5jb21wYXRpYmxl
LXBvaW50ZXItdHlwZXMiKQogICAgICAgICAgIDs7Ii0td2l0aC1uZXR0bGUtbWluaSIKICAgICAg
ICAgICAiLS1kaXNhYmxlLXNpbGVudC1ydWxlcyIgICAgIDtmb3IgZGVidWdnaW5nCiAgICAgICAg
ICAgIi0tZGlzYWJsZS1kb2MiICAgICAgO2F2b2lkcyBhdHRlbXB0aW5nIHRvIGJ1aWxkIGRvYy9l
eGFtcGxlcwogICAgICAgICAgICItLXdpdGgtaW5jbHVkZWQtbGlidGFzbjEiCiAgICAgICAgICAg
Ozsgb3JkZXJpbmcgb2YgY29uZmlndXJlIC0taGVscAogICAgICAgICAgICItLXdpdGhvdXQtcDEx
LWtpdCIKICAgICAgICAgICAiLS13aXRob3V0LXRwbTIiCiAgICAgICAgICAgIi0td2l0aG91dC10
cG0iCiAgICAgICAgICAgIi0td2l0aG91dC16bGliIgogICAgICAgICAgICItLXdpdGhvdXQtYnJv
dGxpIgogICAgICAgICAgICItLXdpdGhvdXQtenN0ZCIKICAgICAgICAgICAjJGZsYWdzKSkKICAg
ICAgICgoIzpwaGFzZXMgcGhhc2VzICN+JXN0YW5kYXJkLXBoYXNlcykKICAgICAgICAjfihtb2Rp
ZnktcGhhc2VzICMkcGhhc2VzCiAgICAgICAgICAgIChkZWxldGUgJ21vdmUtZG9jKSkpKSkpKQo=
--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


--=20
Janneke Nieuwenhuizen <[email protected]>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar=C2=AE https://AvatarAcade=
my.com

--=-=-=--