diff options
author | Sam James <sam@gentoo.org> | 2023-01-04 04:09:15 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-01-04 04:31:59 +0000 |
commit | ddfb19b4eb6b47da689efcda26a76ae421baab2a (patch) | |
tree | 107f70b77f8a11eaea0ea24ef5476f36fef93e87 /dev-scheme/guile | |
parent | net-analyzer/netperf: add link to upstream PR wrt GNU_SOURCE (diff) | |
download | gentoo-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.patch | 71 | ||||
-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 |