commit:     ddfb19b4eb6b47da689efcda26a76ae421baab2a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jan  4 04:09:15 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jan  4 04:31:59 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ddfb19b4

dev-scheme/guile: fix configure w/ clang 16 (2.0.x)

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/guile-2.0.14-configure-clang16.patch     | 71 ++++++++++++++++++++++
 ...ile-2.0.14-r4.ebuild => guile-2.0.14-r5.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 <wi...@pobox.com>
+Date:   Wed Feb 15 21:41:24 2017 +0100
+
+    Update Gnulib to v0.1-1157-gb03f418.
+
+commit a91b95cca2d397c84f8b9bbd602d40209a7092ce
+Author: Andy Wingo <wi...@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
similarity index 95%
rename from dev-scheme/guile/guile-2.0.14-r4.ebuild
rename to 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

Reply via email to