aboutsummaryrefslogtreecommitdiffstats
path: root/lang/guile
diff options
context:
space:
mode:
authormarcus <marcus@FreeBSD.org>2003-04-04 12:55:14 +0800
committermarcus <marcus@FreeBSD.org>2003-04-04 12:55:14 +0800
commitb642429d876c2647c4b7e57f236f9478e04c506d (patch)
treebf3c3b113eb31ede81c2c08d3fd55dd8bd66352b /lang/guile
parentb16097f6fbab192e5ba337888427c7bd0ffcf5da (diff)
downloadfreebsd-ports-graphics-b642429d876c2647c4b7e57f236f9478e04c506d.tar.gz
freebsd-ports-graphics-b642429d876c2647c4b7e57f236f9478e04c506d.tar.zst
freebsd-ports-graphics-b642429d876c2647c4b7e57f236f9478e04c506d.zip
Work around what I believe to be a broken implementation of isfinite()
in -CURRENT that was causing a numerical overflow in apps such as GnuCash. PR: 50089
Diffstat (limited to 'lang/guile')
-rw-r--r--lang/guile/Makefile2
-rw-r--r--lang/guile/files/patch-libguile_numbers.c22
2 files changed, 23 insertions, 1 deletions
diff --git a/lang/guile/Makefile b/lang/guile/Makefile
index 2b6b5553fa3..7642a834bd8 100644
--- a/lang/guile/Makefile
+++ b/lang/guile/Makefile
@@ -7,7 +7,7 @@
PORTNAME= guile
PORTVERSION= 1.4.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU}
MASTER_SITE_SUBDIR= guile
diff --git a/lang/guile/files/patch-libguile_numbers.c b/lang/guile/files/patch-libguile_numbers.c
new file mode 100644
index 00000000000..2ba35040ab8
--- /dev/null
+++ b/lang/guile/files/patch-libguile_numbers.c
@@ -0,0 +1,22 @@
+--- libguile/numbers.c.orig Thu Apr 3 23:52:25 2003
++++ libguile/numbers.c Thu Apr 3 23:52:41 2003
+@@ -89,8 +89,8 @@
+ /* Return true if X is not infinite and is not a NaN
+ Dirk:FIXME:: Since IS_INF is broken, this test does not work if x == 0
+ */
+-#ifndef isfinite
+-#define isfinite(x) (!IS_INF (x) && (x) == (x))
++#ifndef xxx_isfinite
++#define xxx_isfinite(x) (!IS_INF (x) && (x) == (x))
+ #endif
+
+
+@@ -4071,7 +4071,7 @@
+ if (SCM_FIXABLE (lu)) {
+ return SCM_MAKINUM (lu);
+ #ifdef SCM_BIGDIG
+- } else if (isfinite (u)) {
++ } else if (xxx_isfinite (u)) {
+ return scm_dbl2big (u);
+ #endif
+ } else {