summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-11-13 03:10:36 +0000
committerSam James <sam@gentoo.org>2024-11-13 03:10:36 +0000
commit7dfc6696249c7d992801d1352ed36c6c0c48ae9a (patch)
treece35954d7ff9aa0babde2cab90c607a337c29fde /dev-scheme
parentsys-block/thin-provisioning-tools: Stabilize 1.0.14-r1 amd64, #943290 (diff)
downloadgentoo-7dfc6696249c7d992801d1352ed36c6c0c48ae9a.tar.gz
gentoo-7dfc6696249c7d992801d1352ed36c6c0c48ae9a.tar.bz2
gentoo-7dfc6696249c7d992801d1352ed36c6c0c48ae9a.zip
dev-scheme/guile: fix 32-bit patch
As Stefan reports on the forums [0], regular Make conditions don't work as expected in Automake. We'd end up having GUILE_OPTIMIZATIONS set but Automake not realising it, so it'd use the default -O2 below, which made stage0 far slower than it needed to be. Fix that so that -O1 is always used when it should be, and the special -O1 ... options are needed for 32-bit BE, as originally intended. -O2 is now never used for stage0. This fixes slow guile build times on platforms with prebuilt/. (I will note, however, that ultimately, we may end up with slow build times again if we either delete the prebuilt/ stuff entirely or make it optional - which is indeed how I didn't notice it myself at least.) [0] https://forums.gentoo.org/viewtopic-p-8845997.html#8845997 Bug: https://bugs.gentoo.org/940650 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-scheme')
-rw-r--r--dev-scheme/guile/files/guile-3.0-fix-32bit-BE.patch27
1 files changed, 18 insertions, 9 deletions
diff --git a/dev-scheme/guile/files/guile-3.0-fix-32bit-BE.patch b/dev-scheme/guile/files/guile-3.0-fix-32bit-BE.patch
index 6417f639b5df..a4e575691293 100644
--- a/dev-scheme/guile/files/guile-3.0-fix-32bit-BE.patch
+++ b/dev-scheme/guile/files/guile-3.0-fix-32bit-BE.patch
@@ -1,8 +1,17 @@
https://bugs.gentoo.org/940650#c4
-https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=977223;filename=guile-3.0-fix-32bit-BE.patch;msg=66
-
-diff --git a/stage0/Makefile.am b/stage0/Makefile.am
-index 12029fb45..b00611df0 100644
+https://bugs.debian.org/977223
+https://sources.debian.org/patches/guile-3.0/3.0.8-2/0009-Fix-32-bit-big-endian-builds-via-Oresolve-primitives.patch/
+--- a/configure.ac
++++ b/configure.ac
+@@ -374,6 +374,8 @@ esac
+ AC_MSG_RESULT($SCM_PREBUILT_BINARIES)
+ AC_SUBST([SCM_PREBUILT_BINARIES])
+
++AM_CONDITIONAL([GUILE_32_BIT_BIG_ENDIAN], [test "$SCM_PREBUILT_BINARIES" = 32-bit-big-endian])
++
+ AC_HEADER_SYS_WAIT
+ AC_HEADER_DIRENT
+
--- a/stage0/Makefile.am
+++ b/stage0/Makefile.am
@@ -22,7 +22,12 @@
@@ -10,11 +19,11 @@ index 12029fb45..b00611df0 100644
GUILE_WARNINGS = -W0
-GUILE_OPTIMIZATIONS = -O1
-+$(ifeq($SCM_PREBUILT_BINARIES,"32-bit-little-endian") \
-+ GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps \
-+else \
-+ GUILE_OPTIMIZATIONS = -O1 \
-+endif)
++if GUILE_32_BIT_BIG_ENDIAN
++GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps
++else
++GUILE_OPTIMIZATIONS = -O1
++endif
+
GUILE_BOOTSTRAP_STAGE = stage0