aboutsummaryrefslogtreecommitdiff
path: root/lang/guile
diff options
context:
space:
mode:
authorJoe Marcus Clarke <marcus@FreeBSD.org>2003-04-04 04:55:14 +0000
committerJoe Marcus Clarke <marcus@FreeBSD.org>2003-04-04 04:55:14 +0000
commitf40ec725b7eab8dee2f36f818fd6449182fbd5b9 (patch)
tree598440829da949429aa0d4824e29d10852687370 /lang/guile
parent0acb6d0a5de3dbac17d7abeb33ce38e67a6a44db (diff)
downloadports-f40ec725b7eab8dee2f36f818fd6449182fbd5b9.tar.gz
ports-f40ec725b7eab8dee2f36f818fd6449182fbd5b9.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
Notes
Notes: svn path=/head/; revision=78086
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 2b6b5553fa37..7642a834bd8f 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 000000000000..2ba35040ab81
--- /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 {