summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/racket-backport-8.6-cross-install.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/racket-backport-8.6-cross-install.patch')
-rw-r--r--gnu/packages/patches/racket-backport-8.6-cross-install.patch126
1 files changed, 126 insertions, 0 deletions
diff --git a/gnu/packages/patches/racket-backport-8.6-cross-install.patch b/gnu/packages/patches/racket-backport-8.6-cross-install.patch
new file mode 100644
index 0000000000..2c4d8924ed
--- /dev/null
+++ b/gnu/packages/patches/racket-backport-8.6-cross-install.patch
@@ -0,0 +1,126 @@
+From fbe2094f56fb81c888076c781e90fb0abbc0cc07 Mon Sep 17 00:00:00 2001
+From: Matthew Flatt <mflatt@racket-lang.org>
+Date: Sat, 30 Jul 2022 07:06:55 -0600
+Subject: [PATCH 1/2] CS makefiles: fix Unix-style install for cross
+ compilation
+
+Closes #4377
+
+(cherry picked from commit 053be470e7c5454cdf48e934f3254d2d916bbbc5)
+---
+ racket/src/cs/c/build.zuo | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/racket/src/cs/c/build.zuo b/racket/src/cs/c/build.zuo
+index 8d3950bb27..d8b74c509d 100644
+--- a/racket/src/cs/c/build.zuo
++++ b/racket/src/cs/c/build.zuo
+@@ -1016,10 +1016,9 @@
+ (define (setup)
+ (call-with-dest-racket
+ (lambda (bindir dest-racket)
+- (define copytree-racket (and cross? (config-bootstrap-racket)))
++ (define copytree-racket (and cross? (hash-ref (config-bootstrap-racket) 'racket)))
+ (maybe-copytree config dest-racket copytree-racket at-dir)
+- (run-raco-setup config dest-racket
+- (and cross? (hash-ref (config-bootstrap-racket) 'racket))
++ (run-raco-setup config dest-racket copytree-racket
+ ;; this can be redundant if it's also supplied via `SETUP_MACHINE_FLAGS`,
+ ;; but redundant should be ok:
+ (list "-MCR" (~a (at-dir "compiled") ":")
+--
+2.32.0
+
+
+From 85802f4d515e310e657928707800ad709a676e2a Mon Sep 17 00:00:00 2001
+From: Matthew Flatt <mflatt@racket-lang.org>
+Date: Mon, 15 Aug 2022 10:37:01 +0800
+Subject: [PATCH 2/2] configure: adjust cross-build assumption for a pb build
+
+Don't assume a cross build for a pb target on a platform that's only
+supported via pb.
+
+(cherry picked from commit 70e484e885637c495be5481983dae2207fdd67bb)
+
+(Edited to remove unrelated tweak to comments in
+"racket/src/expander/expand/require+provide.rkt".)
+---
+ racket/src/cs/c/configure | 15 +++++++++++----
+ racket/src/cs/c/configure.ac | 15 +++++++++++----
+ 2 files changed, 22 insertions(+), 8 deletions(-)
+
+diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure
+index 454d79e11a..7e0fa5600d 100755
+--- a/racket/src/cs/c/configure
++++ b/racket/src/cs/c/configure
+@@ -4679,6 +4679,11 @@ case "$MACH_HOST_CPU" in
+ ;;
+ esac
+
++if test "${MACH}" = "" ; then
++ default_mach_was_empty=yes
++else
++ default_mach_was_empty=no
++fi
+
+ if test "${enable_mach}" != "" ; then
+ MACH="${enable_mach}"
+@@ -4701,13 +4706,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then
+ exit 1
+ fi
+
+-# For a pb build where Racket is supplied, force cross-build
+-# mode on the assumption that the host is not a pb build
+-# (because it should be created with default configure options)
++# For a pb build where Racket is supplied and MACH was not originally
++# empty, force cross-build mode on the assumption that the host is not
++# a pb build (because it should be created with default configure options)
+ if test "${enable_pb}" = "yes" ; then
+ if test "${enable_racket}" != "" ; then
+ if test "${enable_target}" = "" ; then
+- enable_target="${MACH}"
++ if test "${default_mach_was_empty}" = "no" ; then
++ enable_target="${MACH}"
++ fi
+ fi
+ fi
+ fi
+diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac
+index 5bce979c92..734c1e8feb 100644
+--- a/racket/src/cs/c/configure.ac
++++ b/racket/src/cs/c/configure.ac
+@@ -415,6 +415,11 @@ case "$MACH_HOST_CPU" in
+ ;;
+ esac
+
++if test "${MACH}" = "" ; then
++ default_mach_was_empty=yes
++else
++ default_mach_was_empty=no
++fi
+
+ if test "${enable_mach}" != "" ; then
+ MACH="${enable_mach}"
+@@ -437,13 +442,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then
+ exit 1
+ fi
+
+-# For a pb build where Racket is supplied, force cross-build
+-# mode on the assumption that the host is not a pb build
+-# (because it should be created with default configure options)
++# For a pb build where Racket is supplied and MACH was not originally
++# empty, force cross-build mode on the assumption that the host is not
++# a pb build (because it should be created with default configure options)
+ if test "${enable_pb}" = "yes" ; then
+ if test "${enable_racket}" != "" ; then
+ if test "${enable_target}" = "" ; then
+- enable_target="${MACH}"
++ if test "${default_mach_was_empty}" = "no" ; then
++ enable_target="${MACH}"
++ fi
+ fi
+ fi
+ fi
+--
+2.32.0
+