aboutsummaryrefslogtreecommitdiff
path: root/lang/guile1
diff options
context:
space:
mode:
authorMuhammad Moinur Rahman <bofh@FreeBSD.org>2020-02-13 23:46:45 +0000
committerMuhammad Moinur Rahman <bofh@FreeBSD.org>2020-02-13 23:46:45 +0000
commite2f2a0f2c1cab1097d8601393405202ea05bb7e9 (patch)
treec821fb4d9ae135de8e4ec7b6fdeb98852801a6e9 /lang/guile1
parent2d6803abe7e182da967225375487cfc389a60337 (diff)
Notes
Diffstat (limited to 'lang/guile1')
-rw-r--r--lang/guile1/Makefile56
-rw-r--r--lang/guile1/distinfo2
-rw-r--r--lang/guile1/files/patch-configure.in59
-rw-r--r--lang/guile1/files/patch-doc-ref-guile.texi10
-rw-r--r--lang/guile1/files/patch-doc__goops__goops.texi19
-rw-r--r--lang/guile1/files/patch-doc__r5rs__r5rs.texi12
-rw-r--r--lang/guile1/files/patch-doc__ref__fdl.texi11
-rw-r--r--lang/guile1/files/patch-doc__ref__gh.texi11
-rw-r--r--lang/guile1/files/patch-doc__tutorial__guile-tut.texi39
-rw-r--r--lang/guile1/files/patch-libguile_____scm.h12
-rw-r--r--lang/guile1/files/patch-libguile_c-tokenize.c18
-rw-r--r--lang/guile1/files/patch-libguile_eval.c11
-rw-r--r--lang/guile1/files/patch-libguile_gc.c23
-rw-r--r--lang/guile1/files/patch-libguile_gc__os__dep.c168
-rw-r--r--lang/guile1/files/patch-libguile_gen-scmconfig.c10
-rw-r--r--lang/guile1/files/patch-libguile_guile-snarf.in12
-rw-r--r--lang/guile1/files/patch-libguile_numbers.c11
-rw-r--r--lang/guile1/files/patch-libguile_pthread-threads.h12
-rw-r--r--lang/guile1/files/patch-libguile_read.c11
-rw-r--r--lang/guile1/files/patch-libguile_threads.c27
-rw-r--r--lang/guile1/pkg-descr8
-rw-r--r--lang/guile1/pkg-plist293
22 files changed, 835 insertions, 0 deletions
diff --git a/lang/guile1/Makefile b/lang/guile1/Makefile
new file mode 100644
index 000000000000..2c41f731ce99
--- /dev/null
+++ b/lang/guile1/Makefile
@@ -0,0 +1,56 @@
+# Created by: jseger@FreeBSD.org
+# $FreeBSD$
+# $MCom: ports/lang/guile/Makefile,v 1.1 2006/09/12 14:57:06 ahze Exp $
+
+PORTNAME= guile
+PORTVERSION= 1.8.8
+CATEGORIES= lang scheme
+MASTER_SITES= GNU
+PKGNAMESUFFIX= 1
+
+MAINTAINER= bofh@FreeBSD.org
+COMMENT= GNU Ubiquitous Intelligent Language for Extension
+
+LICENSE= LGPL21
+LICENSE_FILE= ${WRKSRC}/COPYING.LESSER
+
+LIB_DEPENDS= libltdl.so:devel/libltdl \
+ libgmp.so:math/gmp
+
+USES= autoreconf gmake libtool makeinfo ncurses pathfix
+USE_LDCONFIG= yes
+
+CONFLICTS_INSTALL= guile2-[0-9]* guile-[0-9]*
+
+GNU_CONFIGURE= yes
+CFLAGS+= -fwrapv
+CPPFLAGS+= -I${LOCALBASE}/include
+LIBS+= -L${LOCALBASE}/lib
+INSTALL_TARGET= install-strip
+PORTSCOUT= limit:^1\.
+
+PLIST_SUB= GUILE_VER=${PORTVERSION:R}
+
+REINPLACE_FILES= libguile/smob.c libguile/filesys.c libguile/gc.c \
+ libguile/mallocs.c libguile/eval.c libguile/gc-malloc.c \
+ libguile/ports.c libguile/gc-mark.c libguile/gc_os_dep.c
+
+INFO= goops guile-tut guile r5rs
+
+OPTIONS_DEFINE= NLS
+OPTIONS_SUB= yes
+
+NLS_CONFIGURE_ENABLE= nls
+NLS_USES= gettext
+NLS_USES_OFF= gettext-tools
+
+post-extract:
+ @${FIND} ${WRKSRC}/doc -name "*.info*" -delete
+
+post-patch:
+ @cd ${WRKSRC} ; \
+ ${REINPLACE_CMD} -e 's|<malloc\.h>|<stdlib.h>|g' ${REINPLACE_FILES}
+ @${REINPLACE_CMD} -e 's|$$(libdir)|$$(libdir)data|g' ${WRKSRC}/Makefile.am
+ @${TOUCH} ${WRKSRC}/Makefile.in
+
+.include <bsd.port.mk>
diff --git a/lang/guile1/distinfo b/lang/guile1/distinfo
new file mode 100644
index 000000000000..eb46e5d3b86c
--- /dev/null
+++ b/lang/guile1/distinfo
@@ -0,0 +1,2 @@
+SHA256 (guile-1.8.8.tar.gz) = c3471fed2e72e5b04ad133bbaaf16369e8360283679bcf19800bc1b381024050
+SIZE (guile-1.8.8.tar.gz) = 3956654
diff --git a/lang/guile1/files/patch-configure.in b/lang/guile1/files/patch-configure.in
new file mode 100644
index 000000000000..c88f33fab7ea
--- /dev/null
+++ b/lang/guile1/files/patch-configure.in
@@ -0,0 +1,59 @@
+--- configure.in.orig 2010-12-13 17:24:39 UTC
++++ configure.in
+@@ -659,7 +659,7 @@ AC_SUBST([SCM_I_GSC_HAVE_STRUCT_DIRENT64
+ #
+ AC_CHECK_HEADERS([complex.h fenv.h io.h libc.h limits.h malloc.h memory.h process.h string.h \
+ regex.h rxposix.h rx/rxposix.h sys/dir.h sys/ioctl.h sys/select.h \
+-sys/time.h sys/timeb.h sys/times.h sys/stdtypes.h sys/types.h \
++sys/time.h sys/times.h sys/stdtypes.h sys/types.h \
+ sys/utime.h time.h unistd.h utime.h pwd.h grp.h sys/utsname.h \
+ direct.h strings.h machine/fpu.h])
+
+@@ -762,6 +762,7 @@ AC_CHECK_FUNCS([DINFINITY DQNAN cexp chs
+ # sys/param.h - not in mingw
+ # pthread.h - only available with pthreads. ACX_PTHREAD doesn't
+ # check this specifically, we need it for the timespec test below.
++# pthread_np.h - available on FreeBSD
+ # sethostname - the function itself check because it's not in mingw,
+ # the DECL is checked because Solaris 10 doens't have in any header
+ # strncasecmp - on NetBSD 1.6 the symbol is available in libc but the
+@@ -779,7 +780,7 @@ AC_CHECK_FUNCS([DINFINITY DQNAN cexp chs
+ # vsnprintf - on AIX 5.3, the declaration is only visible with
+ # `_XOPEN_SOURCE >= 500' or `_ISOC99_SOURCE'.
+ #
+-AC_CHECK_HEADERS(crypt.h netdb.h pthread.h sys/param.h sys/resource.h sys/file.h)
++AC_CHECK_HEADERS(crypt.h netdb.h pthread.h pthread_np.h sys/param.h sys/resource.h sys/file.h)
+ AC_CHECK_FUNCS(chroot flock getlogin cuserid getpriority setpriority getpass sethostname gethostname)
+ AC_CHECK_DECLS([sethostname, strncasecmp, unsetenv, hstrerror, cuserid, flock, vsnprintf])
+
+@@ -1298,9 +1299,11 @@ case "$with_threads" in
+ # all; not present on MacOS X or Solaris 10
+ # pthread_get_stackaddr_np - "np" meaning "non portable" says it
+ # all; specific to MacOS X
++ # pthread_attr_get_np - "np" meaning "non portable" says it
++ # all; specific to FreeBSD
+ # pthread_sigmask - not available on mingw
+ #
+- AC_CHECK_FUNCS(pthread_attr_getstack pthread_getattr_np pthread_get_stackaddr_np pthread_sigmask)
++ AC_CHECK_FUNCS(pthread_attr_getstack pthread_getattr_np pthread_get_stackaddr_np pthread_attr_get_np pthread_sigmask)
+
+ # On past versions of Solaris, believe 8 through 10 at least, you
+ # had to write "pthread_once_t foo = { PTHREAD_ONCE_INIT };".
+@@ -1315,7 +1318,7 @@ case "$with_threads" in
+ if test "$GCC" = "yes"; then
+ # Since GCC only issues a warning for missing braces, so we need
+ # `-Werror' to catch it.
+- CFLAGS="-Werror -Wmissing-braces $CFLAGS"
++ CFLAGS="-Wmissing-braces $CFLAGS"
+ fi
+
+ AC_CACHE_CHECK([whether PTHREAD_ONCE_INIT needs braces],
+@@ -1466,7 +1469,7 @@ case "$GCC" in
+ # not be "warning free"
+ if test "${GUILE_ERROR_ON_WARNING}" = yes
+ then
+- CFLAGS="${CFLAGS} -Werror"
++ CFLAGS="${CFLAGS}"
+ enable_compile_warnings=no
+ fi
+ ;;
diff --git a/lang/guile1/files/patch-doc-ref-guile.texi b/lang/guile1/files/patch-doc-ref-guile.texi
new file mode 100644
index 000000000000..4c013a39a046
--- /dev/null
+++ b/lang/guile1/files/patch-doc-ref-guile.texi
@@ -0,0 +1,10 @@
+--- doc/ref/guile.texi.orig 2010-12-13 17:25:01 UTC
++++ doc/ref/guile.texi
+@@ -1,6 +1,7 @@
+ \input texinfo
+ @c -*-texinfo-*-
+ @c %**start of header
++@documentencoding ISO-8859-1
+ @setfilename guile.info
+ @settitle Guile Reference Manual
+ @set guile
diff --git a/lang/guile1/files/patch-doc__goops__goops.texi b/lang/guile1/files/patch-doc__goops__goops.texi
new file mode 100644
index 000000000000..2873bdde0d56
--- /dev/null
+++ b/lang/guile1/files/patch-doc__goops__goops.texi
@@ -0,0 +1,19 @@
+--- doc/goops/goops.texi.orig 2010-12-13 17:24:39 UTC
++++ doc/goops/goops.texi
+@@ -1,6 +1,7 @@
+ \input texinfo
+ @c -*-texinfo-*-
+ @c %**start of header
++@documentencoding ISO-8859-1
+ @setfilename goops.info
+ @settitle Goops Manual
+ @set goops
+@@ -131,7 +132,7 @@ info (goops.info) and texinfo format.
+ @end menu
+
+ @node Running GOOPS, Methods, Getting Started, Getting Started
+-@subsection Running GOOPS
++@section Running GOOPS
+
+ @enumerate
+ @item
diff --git a/lang/guile1/files/patch-doc__r5rs__r5rs.texi b/lang/guile1/files/patch-doc__r5rs__r5rs.texi
new file mode 100644
index 000000000000..be7c4a765759
--- /dev/null
+++ b/lang/guile1/files/patch-doc__r5rs__r5rs.texi
@@ -0,0 +1,12 @@
+--- doc/r5rs/r5rs.texi.orig 2010-12-08 09:06:50 UTC
++++ doc/r5rs/r5rs.texi
+@@ -116,9 +116,6 @@
+
+
+
+-@unnumbered Summary
+-
+-
+ The report gives a defining description of the programming language
+ Scheme. Scheme is a statically scoped and properly tail-recursive
+ dialect of the Lisp programming language invented by Guy Lewis
diff --git a/lang/guile1/files/patch-doc__ref__fdl.texi b/lang/guile1/files/patch-doc__ref__fdl.texi
new file mode 100644
index 000000000000..9df3c18cd4e6
--- /dev/null
+++ b/lang/guile1/files/patch-doc__ref__fdl.texi
@@ -0,0 +1,11 @@
+--- doc/ref/fdl.texi.orig 2010-12-13 17:24:39 UTC
++++ doc/ref/fdl.texi
+@@ -408,7 +408,7 @@ as a draft) by the Free Software Foundat
+ @end enumerate
+
+ @page
+-@appendixsubsec ADDENDUM: How to use this License for your documents
++@appendixsec ADDENDUM: How to use this License for your documents
+
+ To use this License in a document you have written, include a copy of
+ the License in the document and put the following copyright and
diff --git a/lang/guile1/files/patch-doc__ref__gh.texi b/lang/guile1/files/patch-doc__ref__gh.texi
new file mode 100644
index 000000000000..a3fe80cd33bc
--- /dev/null
+++ b/lang/guile1/files/patch-doc__ref__gh.texi
@@ -0,0 +1,11 @@
+--- doc/ref/gh.texi.orig 2010-12-13 17:24:39 UTC
++++ doc/ref/gh.texi
+@@ -995,8 +995,6 @@ These correspond to the Scheme @code{(co
+
+ @deftypefun SCM gh_car (SCM @var{obj})
+ @deftypefunx SCM gh_cdr (SCM @var{obj})
+-@dots{}
+-
+ @deftypefunx SCM gh_c[ad][ad][ad][ad]r (SCM @var{obj})
+ These correspond to the Scheme @code{(caadar ls)} procedures etc @dots{}
+ @end deftypefun
diff --git a/lang/guile1/files/patch-doc__tutorial__guile-tut.texi b/lang/guile1/files/patch-doc__tutorial__guile-tut.texi
new file mode 100644
index 000000000000..8d475d8e6728
--- /dev/null
+++ b/lang/guile1/files/patch-doc__tutorial__guile-tut.texi
@@ -0,0 +1,39 @@
+--- doc/tutorial/guile-tut.texi.orig 2010-12-13 17:24:39 UTC
++++ doc/tutorial/guile-tut.texi
+@@ -446,7 +446,7 @@ get started, look at the books @cite{Sim
+ Schemer} from that list.}
+
+
+-@subsection Hello World
++@section Hello World
+ @cindex hello world
+
+ Our first program is the typical Scheme "hello world" program. Put the
+@@ -535,12 +535,12 @@ guile> @kbd{(memq 4 ls)}
+ guile> @kbd{(if (memq 4 ls)
+ (display "hey, it's true!\n")
+ (display "dude, it's false\n"))}
+- @print{hey, it's true!}
++ @print{} hey, it's true!
+ @result{}
+ guile> @kbd{(if (memq 12 ls)
+ (display "hey, it's true!\n")
+ (display "dude, it's false\n"))}
+- @print{dude, it's false}
++ @print{} dude, it's false
+ @result{}
+ guile> @kbd{(memq 4 (reverse ls))}
+ @result{} (4 3 2 1)
+@@ -656,9 +656,9 @@ And then invoke it with
+ (represent-matrix m
+ (lambda (x) (begin (display x) (display " ")))
+ (lambda (l) (begin (display "\n"))))
+-@print{7 2 1 3 2 8 5 3 6}
+-@print{4 1 1 1 3 8 9 8 1}
+-@print{5 5 4 8 1 8 2 2 4}
++@print{} 7 2 1 3 2 8 5 3 6
++@print{} 4 1 1 1 3 8 9 8 1
++@print{} 5 5 4 8 1 8 2 2 4
+ @end smalllisp
+
+ @cindex objects
diff --git a/lang/guile1/files/patch-libguile_____scm.h b/lang/guile1/files/patch-libguile_____scm.h
new file mode 100644
index 000000000000..63d759844d70
--- /dev/null
+++ b/lang/guile1/files/patch-libguile_____scm.h
@@ -0,0 +1,12 @@
+--- libguile/__scm.h.orig 2010-12-13 17:25:01 UTC
++++ libguile/__scm.h
+@@ -434,7 +434,8 @@
+ * that all the state of the process is contained in the stack.
+ */
+
+-#if defined (sparc) || defined (__sparc__) || defined (__sparc)
++#if (defined (sparc) || defined (__sparc__) || defined (__sparc)) && \
++ (!defined(__FreeBSD__))
+ # define SCM_FLUSH_REGISTER_WINDOWS asm("ta 3")
+ #else
+ # define SCM_FLUSH_REGISTER_WINDOWS /* empty */
diff --git a/lang/guile1/files/patch-libguile_c-tokenize.c b/lang/guile1/files/patch-libguile_c-tokenize.c
new file mode 100644
index 000000000000..2f2ddf2bdeb0
--- /dev/null
+++ b/lang/guile1/files/patch-libguile_c-tokenize.c
@@ -0,0 +1,18 @@
+--- libguile/c-tokenize.c.orig 2010-12-13 19:24:04 UTC
++++ libguile/c-tokenize.c
+@@ -898,13 +898,13 @@ case 3:
+ /* rule 3 can match eol */
+ YY_RULE_SETUP
+ #line 71 "./c-tokenize.lex"
+-{ OUT(eol); }
++{ /*OUT(eol);*/ }
+ YY_BREAK
+ case 4:
+ /* rule 4 can match eol */
+ YY_RULE_SETUP
+ #line 73 "./c-tokenize.lex"
+-{ OUT(hash); IS_NOT_COOKIE; }
++{ /*OUT(hash);*/ IS_NOT_COOKIE; }
+ YY_BREAK
+ case 5:
+ YY_RULE_SETUP
diff --git a/lang/guile1/files/patch-libguile_eval.c b/lang/guile1/files/patch-libguile_eval.c
new file mode 100644
index 000000000000..903dca27da89
--- /dev/null
+++ b/lang/guile1/files/patch-libguile_eval.c
@@ -0,0 +1,11 @@
+--- libguile/eval.c.orig 2010-12-13 17:24:39 UTC
++++ libguile/eval.c
+@@ -40,6 +40,8 @@
+ #ifndef alloca
+ # if HAVE_ALLOCA_H
+ # include <alloca.h>
++# elif defined __FreeBSD__
++# include <stdlib.h>
+ # elif defined __GNUC__
+ # define alloca __builtin_alloca
+ # elif defined _AIX
diff --git a/lang/guile1/files/patch-libguile_gc.c b/lang/guile1/files/patch-libguile_gc.c
new file mode 100644
index 000000000000..5e8d8b372a3d
--- /dev/null
+++ b/lang/guile1/files/patch-libguile_gc.c
@@ -0,0 +1,23 @@
+--- libguile/gc.c.orig 2010-12-13 17:24:40 UTC
++++ libguile/gc.c
+@@ -1060,6 +1060,20 @@ scm_ia64_ar_bsp (const void *opaque)
+ return (void *) ctx->uc_mcontext.sc_ar_bsp;
+ }
+ # endif /* linux */
++# ifdef __FreeBSD__
++# include <ucontext.h>
++void *
++scm_ia64_register_backing_store_base (void)
++{
++ return (void *)0x8000000000000000;
++}
++void *
++scm_ia64_ar_bsp (const void *opaque)
++{
++ const ucontext_t *ctx = opaque;
++ return (void *)(ctx->uc_mcontext.mc_special.bspstore + ctx->uc_mcontext.mc_special.ndirty);
++}
++# endif /* __FreeBSD__ */
+ #endif /* __ia64__ */
+
+ void
diff --git a/lang/guile1/files/patch-libguile_gc__os__dep.c b/lang/guile1/files/patch-libguile_gc__os__dep.c
new file mode 100644
index 000000000000..95483bc2d98e
--- /dev/null
+++ b/lang/guile1/files/patch-libguile_gc__os__dep.c
@@ -0,0 +1,168 @@
+--- libguile/gc_os_dep.c.orig 2010-12-13 17:25:01 UTC
++++ libguile/gc_os_dep.c
+@@ -115,6 +115,12 @@ typedef int GC_bool;
+ # define NETBSD
+ # define mach_type_known
+ # endif
++# if defined(__FreeBSD__) && defined(__sparc__)
++# define SPARC
++# define FREEBSD
++# include <machine/frame.h>
++# define mach_type_known
++# endif
+ # if defined(__NetBSD__) && defined(__powerpc__)
+ # define POWERPC
+ # define NETBSD
+@@ -249,7 +255,21 @@ typedef int GC_bool;
+ # define ARM32
+ # define mach_type_known
+ # endif
+-# if defined(__alpha) || defined(__alpha__)
++# if defined(__FreeBSD__) && defined(__ia64__)
++# define FREEBSD
++# define IA64
++# define mach_type_known
++# endif
++# if defined(__FreeBSD__) && defined(__amd64__)
++# define FREEBSD
++# define AMD64
++# define mach_type_known
++# endif
++# if defined(__FreeBSD__) && defined(__alpha__)
++# define FREEBSD
++# define ALPHA
++# define mach_type_known
++# elif defined(__alpha) || defined(__alpha__)
+ # define ALPHA
+ # if !defined(LINUX) && !defined (NETBSD)
+ # define OSF1 /* a.k.a Digital Unix */
+@@ -701,8 +721,6 @@ scm_get_stack_base ()
+
+ # ifdef SPARC
+ # define MACH_TYPE "SPARC"
+-# define ALIGNMENT 4 /* Required by hardware */
+-# define ALIGN_DOUBLE
+ extern int etext;
+ # ifdef SUNOS5
+ # define OS_TYPE "SUNOS5"
+@@ -757,7 +775,6 @@ scm_get_stack_base ()
+ # define DYNAMIC_LOADING
+ # endif
+ # ifdef DRSNX
+-# define CPP_WORDSZ 32
+ # define OS_TYPE "DRSNX"
+ extern char * GC_SysVGetDataStart();
+ extern int etext;
+@@ -1172,6 +1189,13 @@ scm_get_stack_base ()
+ # endif
+ # endif
+
++# ifdef AMD64
++# define MACH_TYPE "AMD64"
++# define ALIGN_DOUBLE
++# define ALIGNMENT 8
++# define USE_GENERIC_PUSH_REGS
++# endif
++
+ # ifdef IA64
+ # define MACH_TYPE "IA64"
+ # define ALIGN_DOUBLE
+@@ -1517,8 +1541,15 @@ scm_get_stack_base ()
+ # include <setjmp.h>
+ #endif
+
+-#ifdef FREEBSD
++#if defined(FREEBSD) && defined(I386)
+ # include <machine/trap.h>
++# define ALIGNMENT 4
++# define CPP_WORDSZ 32
++#endif
++
++#if defined(FREEBSD) && defined(SPARC)
++# define ALIGNMENT 8
++# define ALIGN_DOUBLE
+ #endif
+
+ #ifdef AMIGA
+@@ -1550,7 +1581,7 @@ scm_get_stack_base ()
+ #endif
+
+ #ifdef SUNOS5SIGS
+-# include <sys/siginfo.h>
++/*# include <sys/siginfo.h>*/
+ # undef setjmp
+ # undef longjmp
+ # define setjmp(env) sigsetjmp(env, 1)
+@@ -1729,11 +1760,13 @@ void *scm_get_stack_base()
+ /* static */ jmp_buf GC_jmp_buf;
+
+ /*ARGSUSED*/
++#if !(defined(FREEBSD) && defined(SPARC))
+ static void GC_fault_handler(sig)
+ int sig;
+ {
+ longjmp(GC_jmp_buf, 1);
+ }
++#endif
+
+ # ifdef __STDC__
+ typedef void (*handler)(int);
+@@ -1741,6 +1774,7 @@ void *scm_get_stack_base()
+ typedef void (*handler)();
+ # endif
+
++#if !(defined(FREEBSD) && defined(SPARC))
+ # if defined(SUNOS5SIGS) || defined(IRIX5) || defined(OSF1)
+ static struct sigaction old_segv_act;
+ # if defined(_sigargs) || defined(HPUX) /* !Irix6.x */
+@@ -1749,7 +1783,9 @@ void *scm_get_stack_base()
+ # else
+ static handler old_segv_handler, old_bus_handler;
+ # endif
++#endif
+
++#if !(defined(FREEBSD) && defined(SPARC))
+ static void GC_setup_temporary_fault_handler()
+ {
+ # if defined(SUNOS5SIGS) || defined(IRIX5) || defined(OSF1)
+@@ -1786,7 +1822,9 @@ void *scm_get_stack_base()
+ # endif
+ # endif
+ }
++#endif
+
++#if !(defined(FREEBSD) && defined(SPARC))
+ static void GC_reset_fault_handler()
+ {
+ # if defined(SUNOS5SIGS) || defined(IRIX5) || defined(OSF1)
+@@ -1802,8 +1840,10 @@ void *scm_get_stack_base()
+ # endif
+ # endif
+ }
++#endif
+
+ /* Single argument version, robust against whole program analysis. */
++#if !(defined(FREEBSD) && defined(SPARC))
+ static void
+ GC_noop1(x)
+ word x;
+@@ -1811,9 +1851,11 @@ void *scm_get_stack_base()
+ static VOLATILE word sink;
+ sink = x;
+ }
++#endif
+
+ /* Return the first nonaddressible location > p (up) or */
+ /* the smallest location q s.t. [q,p] is addressible (!up). */
++#if !(defined(FREEBSD) && defined(SPARC))
+ static ptr_t GC_find_limit(p, up)
+ ptr_t p;
+ GC_bool up;
+@@ -1844,6 +1886,7 @@ void *scm_get_stack_base()
+ }
+ return(result);
+ }
++#endif
+
+ # endif
+
diff --git a/lang/guile1/files/patch-libguile_gen-scmconfig.c b/lang/guile1/files/patch-libguile_gen-scmconfig.c
new file mode 100644
index 000000000000..0560ac8f7075
--- /dev/null
+++ b/lang/guile1/files/patch-libguile_gen-scmconfig.c
@@ -0,0 +1,10 @@
+--- libguile/gen-scmconfig.c.orig 2010-12-13 17:25:01 UTC
++++ libguile/gen-scmconfig.c
+@@ -123,6 +123,7 @@
+
+ #include <libguile/gen-scmconfig.h>
+
++#define _ANSI_SOURCE
+ #include <stdio.h>
+ #include <string.h>
+
diff --git a/lang/guile1/files/patch-libguile_guile-snarf.in b/lang/guile1/files/patch-libguile_guile-snarf.in
new file mode 100644
index 000000000000..1875c456b63c
--- /dev/null
+++ b/lang/guile1/files/patch-libguile_guile-snarf.in
@@ -0,0 +1,12 @@
+--- libguile/guile-snarf.in.orig 2010-12-13 17:24:40 UTC
++++ libguile/guile-snarf.in
+@@ -51,7 +51,8 @@ modern_snarf ()
+ ## empty file.
+ echo "/* cpp arguments: $@ */" ;
+ ${cpp} -DSCM_MAGIC_SNARF_INITS -DSCM_MAGIC_SNARFER "$@" > ${temp} && cpp_ok_p=true
+- grep "^ *\^ *\^" ${temp} | sed -e "s/^ *\^ *\^//" -e "s/\^\ *:\ *\^.*/;/"
++ sed -e 's/\^ *\^/\
++^^/g' ${temp} | grep "^.*\^ *\^" | sed -e "s/^.*\^ *\^//" -e "s/\^\ *:\ *\^.*/;/"
+ }
+
+ ## main
diff --git a/lang/guile1/files/patch-libguile_numbers.c b/lang/guile1/files/patch-libguile_numbers.c
new file mode 100644
index 000000000000..5c3fe5be09e9
--- /dev/null
+++ b/lang/guile1/files/patch-libguile_numbers.c
@@ -0,0 +1,11 @@
+--- libguile/numbers.c.orig 2010-12-13 17:25:01 UTC
++++ libguile/numbers.c
+@@ -160,7 +160,7 @@ xisnan (double x)
+ }
+
+ #if defined (GUILE_I)
+-#if HAVE_COMPLEX_DOUBLE
++#if HAVE_COMPLEX_DOUBLE && (HAVE_CLOG || HAVE_CLOG10 || HAVE_CEXP || HAVE_USABLE_CSQRT) && defined (SCM_COMPLEX_VALUE)
+
+ /* For an SCM object Z which is a complex number (ie. satisfies
+ SCM_COMPLEXP), return its value as a C level "complex double". */
diff --git a/lang/guile1/files/patch-libguile_pthread-threads.h b/lang/guile1/files/patch-libguile_pthread-threads.h
new file mode 100644
index 000000000000..72689d943159
--- /dev/null
+++ b/lang/guile1/files/patch-libguile_pthread-threads.h
@@ -0,0 +1,12 @@
+--- libguile/pthread-threads.h.orig 2010-12-13 17:24:40 UTC
++++ libguile/pthread-threads.h
+@@ -26,6 +26,9 @@
+ */
+
+ #include <pthread.h>
++#if HAVE_PTHREAD_NP_H
++# include <pthread_np.h>
++#endif
+ #include <sched.h>
+
+ /* Threads
diff --git a/lang/guile1/files/patch-libguile_read.c b/lang/guile1/files/patch-libguile_read.c
new file mode 100644
index 000000000000..c6f21423ad58
--- /dev/null
+++ b/lang/guile1/files/patch-libguile_read.c
@@ -0,0 +1,11 @@
+--- libguile/read.c.orig 2010-12-13 17:24:40 UTC
++++ libguile/read.c
+@@ -27,7 +27,7 @@
+ #include <ctype.h>
+ #include <string.h>
+ #ifdef HAVE_STRINGS_H
+-# include <strings.h>
++# include "/usr/include/strings.h"
+ #endif
+
+ #include "libguile/_scm.h"
diff --git a/lang/guile1/files/patch-libguile_threads.c b/lang/guile1/files/patch-libguile_threads.c
new file mode 100644
index 000000000000..973a82f3cd42
--- /dev/null
+++ b/lang/guile1/files/patch-libguile_threads.c
@@ -0,0 +1,27 @@
+--- libguile/threads.c.orig 2010-12-13 17:24:40 UTC
++++ libguile/threads.c
+@@ -631,7 +631,7 @@ scm_i_init_thread_for_guile (SCM_STACKIT
+
+ #if SCM_USE_PTHREAD_THREADS
+
+-#if HAVE_PTHREAD_ATTR_GETSTACK && HAVE_PTHREAD_GETATTR_NP
++#if HAVE_PTHREAD_ATTR_GETSTACK && (HAVE_PTHREAD_GETATTR_NP || HAVE_PTHREAD_ATTR_GET_NP)
+ /* This method for GNU/Linux and perhaps some other systems.
+ It's not for MacOS X or Solaris 10, since pthread_getattr_np is not
+ available on them. */
+@@ -644,8 +644,15 @@ get_thread_stack_base ()
+ void *start, *end;
+ size_t size;
+
++#if HAVE_PTHREAD_ATTR_GET_NP
++ pthread_attr_init (&attr);
++ pthread_attr_get_np (pthread_self (), &attr);
++ pthread_attr_getstack (&attr, &start, &size);
++ pthread_attr_destroy (&attr);
++#elif HAVE_PTHREAD_GETATTR_NP
+ pthread_getattr_np (pthread_self (), &attr);
+ pthread_attr_getstack (&attr, &start, &size);
++#endif
+ end = (char *)start + size;
+
+ /* XXX - pthread_getattr_np from LinuxThreads does not seem to work
diff --git a/lang/guile1/pkg-descr b/lang/guile1/pkg-descr
new file mode 100644
index 000000000000..3398ef2c0687
--- /dev/null
+++ b/lang/guile1/pkg-descr
@@ -0,0 +1,8 @@
+GUILE, GNU's Ubiquitous Intelligent Language for Extension,
+is a library that implements the Scheme language plus various
+convenient facilities. It's designed so that you can link it
+into an application or utility to make it extensible. Our
+plan is to link this library into all GNU programs that call for
+extensibility.
+
+WWW: http://www.gnu.org/software/guile/
diff --git a/lang/guile1/pkg-plist b/lang/guile1/pkg-plist
new file mode 100644
index 000000000000..21a21b732956
--- /dev/null
+++ b/lang/guile1/pkg-plist
@@ -0,0 +1,293 @@
+bin/guile
+bin/guile-config
+bin/guile-snarf
+bin/guile-tools
+include/guile/gh.h
+include/guile/readline.h
+include/guile/srfi/srfi-1.h
+include/guile/srfi/srfi-13.h
+include/guile/srfi/srfi-14.h
+include/guile/srfi/srfi-4.h
+include/guile/srfi/srfi-60.h
+include/libguile.h
+include/libguile/__scm.h
+include/libguile/alist.h
+include/libguile/arbiters.h
+include/libguile/async.h
+include/libguile/backtrace.h
+include/libguile/boolean.h
+include/libguile/chars.h
+include/libguile/continuations.h
+include/libguile/convert.h
+include/libguile/debug-malloc.h
+include/libguile/debug.h
+include/libguile/deprecated.h
+include/libguile/deprecation.h
+include/libguile/discouraged.h
+include/libguile/dynl.h
+include/libguile/dynwind.h
+include/libguile/environments.h
+include/libguile/eq.h
+include/libguile/error.h
+include/libguile/eval.h
+include/libguile/evalext.h
+include/libguile/extensions.h
+include/libguile/feature.h
+include/libguile/filesys.h
+include/libguile/fluids.h
+include/libguile/fports.h
+include/libguile/futures.h
+include/libguile/gc.h
+include/libguile/gdb_interface.h
+include/libguile/gdbint.h
+include/libguile/goops.h
+include/libguile/gsubr.h
+include/libguile/guardians.h
+include/libguile/hash.h
+include/libguile/hashtab.h
+include/libguile/hooks.h
+include/libguile/i18n.h
+include/libguile/init.h
+include/libguile/inline.h
+include/libguile/ioext.h
+include/libguile/iselect.h
+include/libguile/keywords.h
+include/libguile/lang.h
+include/libguile/list.h
+include/libguile/load.h
+include/libguile/macros.h
+include/libguile/mallocs.h
+include/libguile/modules.h
+include/libguile/net_db.h
+include/libguile/null-threads.h
+include/libguile/numbers.h
+include/libguile/objects.h
+include/libguile/objprop.h
+include/libguile/options.h
+include/libguile/pairs.h
+include/libguile/ports.h
+include/libguile/posix.h
+include/libguile/print.h
+include/libguile/procprop.h
+include/libguile/procs.h
+include/libguile/properties.h
+include/libguile/pthread-threads.h
+include/libguile/ramap.h
+include/libguile/random.h
+include/libguile/rdelim.h
+include/libguile/read.h
+include/libguile/regex-posix.h
+include/libguile/root.h
+include/libguile/rw.h
+include/libguile/scmconfig.h
+include/libguile/scmsigs.h
+include/libguile/script.h
+include/libguile/simpos.h
+include/libguile/smob.h
+include/libguile/snarf.h
+include/libguile/socket.h
+include/libguile/sort.h
+include/libguile/srcprop.h
+include/libguile/srfi-13.h
+include/libguile/srfi-14.h
+include/libguile/srfi-4.h
+include/libguile/stackchk.h
+include/libguile/stacks.h
+include/libguile/stime.h
+include/libguile/strings.h
+include/libguile/strorder.h
+include/libguile/strports.h
+include/libguile/struct.h
+include/libguile/symbols.h
+include/libguile/tags.h
+include/libguile/threads.h
+include/libguile/throw.h
+include/libguile/unif.h
+include/libguile/validate.h
+include/libguile/values.h
+include/libguile/variable.h
+include/libguile/vectors.h
+include/libguile/version.h
+include/libguile/vports.h
+include/libguile/weaks.h
+lib/libguile-srfi-srfi-1-v-3.a
+lib/libguile-srfi-srfi-1-v-3.so
+lib/libguile-srfi-srfi-1-v-3.so.3
+lib/libguile-srfi-srfi-1-v-3.so.3.0.2
+lib/libguile-srfi-srfi-13-14-v-3.a
+lib/libguile-srfi-srfi-13-14-v-3.so
+lib/libguile-srfi-srfi-13-14-v-3.so.3
+lib/libguile-srfi-srfi-13-14-v-3.so.3.0.1
+lib/libguile-srfi-srfi-4-v-3.a
+lib/libguile-srfi-srfi-4-v-3.so
+lib/libguile-srfi-srfi-4-v-3.so.3
+lib/libguile-srfi-srfi-4-v-3.so.3.0.1
+lib/libguile-srfi-srfi-60-v-2.a
+lib/libguile-srfi-srfi-60-v-2.so
+lib/libguile-srfi-srfi-60-v-2.so.2
+lib/libguile-srfi-srfi-60-v-2.so.2.0.2
+lib/libguile.a
+lib/libguile.so
+lib/libguile.so.17
+lib/libguile.so.17.4.0
+lib/libguilereadline-v-17.a
+lib/libguilereadline-v-17.so
+lib/libguilereadline-v-17.so.17
+lib/libguilereadline-v-17.so.17.0.3
+libdata/pkgconfig/guile-1.8.pc
+man/man1/guile.1.gz
+share/aclocal/guile.m4
+%%DATADIR%%/%%GUILE_VER%%/guile-procedures.txt
+%%DATADIR%%/%%GUILE_VER%%/ice-9/and-let-star.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/boot-9.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/buffered-input.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/calling.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/channel.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/common-list.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/debug.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/debugger.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/debugger/command-loop.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/debugger/commands.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/debugger/state.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/debugger/trc.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/debugger/utils.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/debugging/example-fns.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/debugging/ice-9-debugger-extensions.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/debugging/steps.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/debugging/trace.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/debugging/traps.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/debugging/trc.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/deprecated.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/documentation.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/emacs.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/expect.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/format.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/ftw.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/gap-buffer.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/gds-client.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/gds-server.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/getopt-long.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/hcons.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/history.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/lineio.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/list.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/ls.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/mapping.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/match.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/networking.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/null.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/occam-channel.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/optargs.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/poe.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/popen.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/posix.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/pretty-print.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/psyntax.pp
+%%DATADIR%%/%%GUILE_VER%%/ice-9/psyntax.ss
+%%DATADIR%%/%%GUILE_VER%%/ice-9/q.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/r4rs.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/r5rs.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/rdelim.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/readline.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/receive.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/regex.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/runq.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/rw.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/safe-r5rs.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/safe.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/serialize.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/session.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/slib.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/stack-catch.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/streams.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/string-fun.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/syncase.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/threads.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/time.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/weak-vector.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/base.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/example.el
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/interface.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/internals/evaluation.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/internals/format.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/internals/fset.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/internals/lambda.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/internals/load.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/internals/null.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/internals/set.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/internals/signal.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/internals/time.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/internals/trace.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/buffers.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/char-table.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/features.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/fns.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/format.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/guile.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/keymaps.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/lists.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/load.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/match.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/numbers.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/pure.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/read.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/signal.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/strings.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/symprop.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/syntax.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/system.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/primitives/time.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/transform.scm
+%%DATADIR%%/%%GUILE_VER%%/lang/elisp/variables.scm
+%%DATADIR%%/%%GUILE_VER%%/oop/goops.scm
+%%DATADIR%%/%%GUILE_VER%%/oop/goops/accessors.scm
+%%DATADIR%%/%%GUILE_VER%%/oop/goops/active-slot.scm
+%%DATADIR%%/%%GUILE_VER%%/oop/goops/compile.scm
+%%DATADIR%%/%%GUILE_VER%%/oop/goops/composite-slot.scm
+%%DATADIR%%/%%GUILE_VER%%/oop/goops/describe.scm
+%%DATADIR%%/%%GUILE_VER%%/oop/goops/dispatch.scm
+%%DATADIR%%/%%GUILE_VER%%/oop/goops/internal.scm
+%%DATADIR%%/%%GUILE_VER%%/oop/goops/old-define-method.scm
+%%DATADIR%%/%%GUILE_VER%%/oop/goops/save.scm
+%%DATADIR%%/%%GUILE_VER%%/oop/goops/simple.scm
+%%DATADIR%%/%%GUILE_VER%%/oop/goops/stklos.scm
+%%DATADIR%%/%%GUILE_VER%%/oop/goops/util.scm
+%%DATADIR%%/%%GUILE_VER%%/scripts/PROGRAM
+%%DATADIR%%/%%GUILE_VER%%/scripts/api-diff
+%%DATADIR%%/%%GUILE_VER%%/scripts/autofrisk
+%%DATADIR%%/%%GUILE_VER%%/scripts/display-commentary
+%%DATADIR%%/%%GUILE_VER%%/scripts/doc-snarf
+%%DATADIR%%/%%GUILE_VER%%/scripts/frisk
+%%DATADIR%%/%%GUILE_VER%%/scripts/generate-autoload
+%%DATADIR%%/%%GUILE_VER%%/scripts/lint
+%%DATADIR%%/%%GUILE_VER%%/scripts/punify
+%%DATADIR%%/%%GUILE_VER%%/scripts/read-rfc822
+%%DATADIR%%/%%GUILE_VER%%/scripts/read-scheme-source
+%%DATADIR%%/%%GUILE_VER%%/scripts/read-text-outline
+%%DATADIR%%/%%GUILE_VER%%/scripts/scan-api
+%%DATADIR%%/%%GUILE_VER%%/scripts/snarf-check-and-output-texi
+%%DATADIR%%/%%GUILE_VER%%/scripts/snarf-guile-m4-docs
+%%DATADIR%%/%%GUILE_VER%%/scripts/summarize-guile-TODO
+%%DATADIR%%/%%GUILE_VER%%/scripts/use2dot
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-1.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-10.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-11.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-13.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-14.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-16.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-17.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-19.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-2.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-26.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-31.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-34.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-35.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-37.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-39.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-4.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-6.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-60.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-69.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-8.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-88.scm
+%%DATADIR%%/%%GUILE_VER%%/srfi/srfi-9.scm