aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2022-02-03 13:39:44 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2022-02-03 13:39:44 +0000
commit6edecd95cb410b25f9f1b3d408e92fac57508be7 (patch)
tree82dd5fe7e2338fb18c6c36c50e3be2f00939c86a
parentbcbbfc1c1bcf7c548913f185bb11f21426981231 (diff)
downloadports-6edecd95cb410b25f9f1b3d408e92fac57508be7.tar.gz
ports-6edecd95cb410b25f9f1b3d408e92fac57508be7.zip
lang/guile: fix build on powerpc
1. Same as with guile2, remove the broken 32-bit big-endian bootstrap. 2. As reported in https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45214, add "-Oresolve-primitives -Ocps" to GUILE_OPTIMIZATIONS.
-rw-r--r--lang/guile/Makefile7
-rw-r--r--lang/guile/files/extra-patch-bootstrap_Makefile.in11
2 files changed, 18 insertions, 0 deletions
diff --git a/lang/guile/Makefile b/lang/guile/Makefile
index 85ba27157bca..fbe30cd86534 100644
--- a/lang/guile/Makefile
+++ b/lang/guile/Makefile
@@ -45,11 +45,18 @@ THREADS_CONFIGURE_WITH= threads
THREADS_LIB_DEPENDS= libgc-threaded.so:devel/boehm-gc-threaded
THREADS_LIB_DEPENDS_OFF= libgc.so:devel/boehm-gc
+.include <bsd.port.options.mk>
+
+.if ${ARCH} == powerpc
+EXTRA_PATCHES= ${FILESDIR}/extra-patch-bootstrap_Makefile.in
+.endif
+
post-patch:
@${REINPLACE_CMD} -e 's|sys/time.h sys/timeb.h|sys/time.h |g' \
${WRKSRC}/configure
@${REINPLACE_CMD} -e 's|-i -e|-i.bak -e|' \
${WRKSRC}/libguile/Makefile.in
+ @${RM} -r ${WRKSRC}/prebuilt/32-bit-big-endian
post-patch-THREADS-on:
@${REINPLACE_CMD} -e 's|bdw-gc|bdw-gc-threaded|g' ${WRKSRC}/configure
diff --git a/lang/guile/files/extra-patch-bootstrap_Makefile.in b/lang/guile/files/extra-patch-bootstrap_Makefile.in
new file mode 100644
index 000000000000..b5c56900c963
--- /dev/null
+++ b/lang/guile/files/extra-patch-bootstrap_Makefile.in
@@ -0,0 +1,11 @@
+--- bootstrap/Makefile.in.orig 2022-02-02 15:41:58 UTC
++++ bootstrap/Makefile.in
+@@ -1751,7 +1751,7 @@ top_builddir_absolute = @top_builddir_absolute@
+ top_srcdir = @top_srcdir@
+ top_srcdir_absolute = @top_srcdir_absolute@
+ GUILE_WARNINGS = -W0
+-GUILE_OPTIMIZATIONS = -O1
++GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps
+ GOBJECTS = $(SOURCES:%.scm=%.go)
+ nobase_noinst_DATA = $(GOBJECTS)
+ CLEANFILES = $(GOBJECTS)