summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-01-04 04:09:15 +0000
committerSam James <sam@gentoo.org>2023-01-04 04:31:59 +0000
commitddfb19b4eb6b47da689efcda26a76ae421baab2a (patch)
tree107f70b77f8a11eaea0ea24ef5476f36fef93e87 /dev-scheme/guile
parentnet-analyzer/netperf: add link to upstream PR wrt GNU_SOURCE (diff)
downloadgentoo-ddfb19b4eb6b47da689efcda26a76ae421baab2a.tar.gz
gentoo-ddfb19b4eb6b47da689efcda26a76ae421baab2a.tar.bz2
gentoo-ddfb19b4eb6b47da689efcda26a76ae421baab2a.zip
dev-scheme/guile: fix configure w/ clang 16 (2.0.x)
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-scheme/guile')
-rw-r--r--dev-scheme/guile/files/guile-2.0.14-configure-clang16.patch71
-rw-r--r--dev-scheme/guile/guile-2.0.14-r5.ebuild (renamed from dev-scheme/guile/guile-2.0.14-r4.ebuild)15
2 files changed, 79 insertions, 7 deletions
diff --git a/dev-scheme/guile/files/guile-2.0.14-configure-clang16.patch b/dev-scheme/guile/files/guile-2.0.14-configure-clang16.patch
new file mode 100644
index 000000000000..361cc01b97c0
--- /dev/null
+++ b/dev-scheme/guile/files/guile-2.0.14-configure-clang16.patch
@@ -0,0 +1,71 @@
+https://src.fedoraproject.org/rpms/guile/c/7fcab121be7d2bc8e3e48d0da476127b86cec90c?branch=rawhide
+
+These issues have already been fixed upstream via gnulib imports:
+
+commit 7e641595cd9b45ce7339e21c20a8ab81af9278f6
+Author: Andy Wingo <wingo@pobox.com>
+Date: Wed Feb 15 21:41:24 2017 +0100
+
+ Update Gnulib to v0.1-1157-gb03f418.
+
+commit a91b95cca2d397c84f8b9bbd602d40209a7092ce
+Author: Andy Wingo <wingo@pobox.com>
+Date: Wed Jan 20 21:52:54 2021 +0100
+
+ Update Gnulib to v0.1-4379-g2ef5a9b4b
+
+ Also bump required autoconf version to 2.64, as required by Gnulib.
+
+--- a/m4/link.m4
++++ b/m4/link.m4
+@@ -22,6 +22,7 @@ AC_DEFUN([gl_FUNC_LINK],
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <unistd.h>
++ #include <stdio.h>
+ ]],
+ [[int result = 0;
+ if (!link ("conftest.a", "conftest.b/"))
+--- a/m4/round.m4
++++ b/m4/round.m4
+@@ -57,7 +57,7 @@ int main()
+ * (double) (1U << ((DBL_MANT_DIG + 3) / 5))
+ * (double) (1U << ((DBL_MANT_DIG + 4) / 5));
+ volatile double x = 0.5 - 0.5 / TWO_MANT_DIG;
+- exit (x < 0.5 && round (x) != 0.0);
++ return x < 0.5 && round (x) != 0.0;
+ }]])], [gl_cv_func_round_works=yes], [gl_cv_func_round_works=no],
+ [case "$host_os" in
+ netbsd* | aix*) gl_cv_func_round_works="guessing no";;
+
+
+Avoid implicit ints in the guile_cv_localtime_cache check. It cause
+the check to always fail with strict(er) C99 compilers that do not
+support implicit int.
+
+Submitted upstream:
+
+ <https://lists.gnu.org/archive/html/bug-guile/2022-12/msg00017.html>
+ <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60022>
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -1086,7 +1086,7 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <time.h>
+ # include <stdlib.h>
+ #endif
+ extern char **environ;
+-unset_TZ ()
++int unset_TZ ()
+ {
+ char **from, **to;
+ for (to = from = environ; (*to = *from); from++)
+@@ -1095,7 +1095,7 @@ unset_TZ ()
+ }
+ char TZ_GMT0[] = "TZ=GMT0";
+ char TZ_PST8[] = "TZ=PST8";
+-main()
++int main()
+ {
+ time_t now = time ((time_t *) 0);
+ int hour_GMT0, hour_unset;
+
diff --git a/dev-scheme/guile/guile-2.0.14-r4.ebuild b/dev-scheme/guile/guile-2.0.14-r5.ebuild
index 0eb8e1fedb21..2ea5568add42 100644
--- a/dev-scheme/guile/guile-2.0.14-r4.ebuild
+++ b/dev-scheme/guile/guile-2.0.14-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -33,18 +33,19 @@ DEPEND="${RDEPEND}
SLOT="12/22" # subslot is soname version
MAJOR="2.0"
+# guile generates ELF files without use of C or machine code
+# It's a false positive. bug #677600
+QA_PREBUILT='*[.]go'
+
+DOCS=( GUILE-VERSION HACKING README )
+
PATCHES=(
"${FILESDIR}/${PN}-2-snarf.patch"
"${FILESDIR}/${P}-darwin.patch"
"${FILESDIR}/${P}-ia64-fix-crash-thread-context-switch.patch"
+ "${FILESDIR}/${P}-configure-clang16.patch"
)
-# guile generates ELF files without use of C or machine code
-# It's a portage's false positive. bug #677600
-QA_PREBUILT='*[.]go'
-
-DOCS=( GUILE-VERSION HACKING README )
-
src_prepare() {
default
eautoreconf