ports/108267: ports/lang/guile: please update
clemens fischer
ino-qc at spotteswoode.de.eu.org
Tue Jan 23 16:50:20 UTC 2007
>Number: 108267
>Category: ports
>Synopsis: ports/lang/guile: please update
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Tue Jan 23 16:50:18 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator: clemens fischer
>Release: FreeBSD 6.2-PRERELEASE i386
>Organization:
none
>Environment:
System: FreeBSD spotteswoode.dnsalias.org 6.2-PRERELEASE
FreeBSD 6.2-PRERELEASE #14: Sat Jan 6 17:32:43 CET 2007
root at spotteswoode.dnsalias.org:/usr/obj/usr/src/sys/spott i386
>Description:
i would like ports/lang/guile to get updated to version 1.8.1 (latest
stable), unless other ports break or whatever. also, it is not clear to
me if the upcoming R6RS (see <URL:http://www.r6rs.org/>) has any bearing
on guile in the near future.
>How-To-Repeat:
>Fix:
this is what i had to do to get guile-1.8.1 compiled.
1. a (build-?)dependency on "libltdl" is needed in addition to the libs
guile-1.6.8 needed. this can be installed via
"ports/devel/libltdl15".
2. the "CONFIGURE_ENV=..." line can propably stay the same, i used:
"CFLAGS='-I/l/include' LDFLAGS='-L/l/lib -lltdl' ./configure \
--with-threads --disable-nls" for a successful configuration step.
3. "src/guile-1.8.1/libguile/eval.c" needed the patch:
0 $ rrcsdiff eval.c
rcsdiff --unified eval.c
===================================================================
RCS file: eval.c,v
retrieving revision 1.1
diff --unified -r1.1 eval.c
--- eval.c 2007/01/22 16:55:16 1.1
+++ eval.c 2007/01/22 16:55:52
@@ -41,6 +41,8 @@
#if HAVE_ALLOCA_H
# include <alloca.h>
#elif defined __GNUC__
+// -ino:
+# undef alloca
# define alloca __builtin_alloca
#elif defined _AIX
# define alloca __alloca
and "src/guile-1.8.1/libguile/numbers.c" needed:
0 $ rrcsdiff numbers.c
rcsdiff --unified numbers.c
===================================================================
RCS file: numbers.c,v
retrieving revision 1.1
diff --unified -r1.1 numbers.c
--- numbers.c 2007/01/22 17:18:19 1.1
+++ numbers.c 2007/01/22 18:10:09
@@ -168,14 +168,15 @@
#define SCM_COMPLEX_VALUE(z) \
(SCM_COMPLEX_REAL (z) + _Complex_I * SCM_COMPLEX_IMAG (z))
-/* Convert a C "complex double" to an SCM value. */
-#if HAVE_COMPLEX_DOUBLE
-static SCM
-scm_from_complex_double (complex double z)
-{
- return scm_c_make_rectangular (creal (z), cimag (z));
-}
-#endif /* HAVE_COMPLEX_DOUBLE */
+// // -ino:
+///* Convert a C "complex double" to an SCM value. */
+//#if HAVE_COMPLEX_DOUBLE
+//static SCM
+//scm_from_complex_double (complex double z)
+//{
+// return scm_c_make_rectangular (creal (z), cimag (z));
+//}
+//#endif /* HAVE_COMPLEX_DOUBLE */
@@ -6018,14 +6019,17 @@
{
if (SCM_COMPLEXP (z))
{
-#if HAVE_COMPLEX_DOUBLE
- return scm_from_complex_double (clog (SCM_COMPLEX_VALUE (z)));
-#else
+//#if HAVE_COMPLEX_DOUBLE
+// // -ino:
+// // complex double clog(scm_t_complex *);
+// complex double clog(double);
+// return scm_from_complex_double (clog (SCM_COMPLEX_VALUE (z)));
+//#else
double re = SCM_COMPLEX_REAL (z);
double im = SCM_COMPLEX_IMAG (z);
return scm_c_make_rectangular (log (hypot (re, im)),
atan2 (im, re));
-#endif
+//#endif
}
else
{
@@ -6084,12 +6088,14 @@
{
if (SCM_COMPLEXP (z))
{
-#if HAVE_COMPLEX_DOUBLE
- return scm_from_complex_double (cexp (SCM_COMPLEX_VALUE (z)));
-#else
+//#if HAVE_COMPLEX_DOUBLE
+// // -ino:
+// complex double cexp(complex double);
+// return scm_from_complex_double (cexp (SCM_COMPLEX_VALUE (z)));
+//#else
return scm_c_make_polar (exp (SCM_COMPLEX_REAL (z)),
SCM_COMPLEX_IMAG (z));
-#endif
+//#endif
}
else
{
i didn't want to "#undef HAVE_COMPLEX_DOUBLE" alltogether, for it seems
to work at a few other places, but there's bound to be a better way.
regards, clemens
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list