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)
downloadports-e2f2a0f2c1cab1097d8601393405202ea05bb7e9.tar.gz
ports-e2f2a0f2c1cab1097d8601393405202ea05bb7e9.zip
[NEW] lang/guile1: GNU Ubiquitous Intelligent Language for Extension
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/ - Repo-Copied from lang/guile in preperation of 3.X.X
Notes
Notes: svn path=/head/; revision=526077
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