pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Import guile30 as wip/guile30 version 3.0.0



Module Name:	pkgsrc-wip
Committed By:	ng0 <ng0%NetBSD.org@localhost>
Pushed By:	ng0
Date:		Wed Jan 15 23:17:41 2020 +0000
Changeset:	89a6aff591a04d598aa850810e00e2bbfb222e5b

Modified Files:
	Makefile
Added Files:
	guile30/DESCR
	guile30/Makefile
	guile30/PLIST
	guile30/buildlink3.mk
	guile30/distinfo
	guile30/module.mk
	guile30/patches/patch-lib_Makefile.in
	guile30/patches/patch-libguile_loader.c

Log Message:
Import guile30 as wip/guile30 version 3.0.0

Changelog:

Changes in 3.0.0 (since the stable 2.2 series):

* Notable changes

** Just-in-time code generation

Guile programs now run up to 4 times faster, relative to Guile 2.2,
thanks to just-in-time (JIT) native code generation.  Notably, this
brings the performance of "eval" as written in Scheme back to the level
of "eval" written in C, as in the days of Guile 1.8.

See "Just-In-Time Native Code" in the manual, for more information.  JIT
compilation will be enabled automatically and transparently.  To disable
JIT compilation, configure Guile with `--enable-jit=no' or
`--disable-jit'.  The default is `--enable-jit=auto', which enables the
JIT if it is available.  See `./configure --help' for more.

JIT compilation is enabled by default on x86-64, i686, ARMv7, and
AArch64 targets.

** Lower-level bytecode

Relative to the virtual machine in Guile 2.2, Guile's VM instruction set
is now more low-level.  This allows it to express more advanced
optimizations, for example type check elision or integer
devirtualization, and makes the task of JIT code generation easier.

Note that this change can mean that for a given function, the
corresponding number of instructions in Guile 3.0 may be higher than
Guile 2.2, which can lead to slowdowns when the function is interpreted.
We hope that JIT compilation more than makes up for this slight
slowdown.

** Interleaved internal definitions and expressions allowed

It used to be that internal definitions had to precede all expressions
in their bodies.  This restriction has been relaxed.  If an expression
precedes an internal definition, it is treated as if it were a
definition of an unreferenced variable.  For example, the expression
`(foo)' transforms to the equivalent of `(define _ (begin (foo) #f))',
if it precedes other definitions.

This change improves the readability of Guile programs, as it used to be
that program indentation tended to increase needlessly to allow nested
`let' and `letrec' to re-establish definition contexts after initial
expressions, for example for type-checks on procedure arguments.

** Record unification

Guile used to have a number of implementations of structured data types
in the form of "records": a core facility, SRFI-9 (records), SRFI-35
(condition types -- a form of records) and R6RS records.  These
facilities were not compatible, as they all were built in different
ways.  This had the unfortunate corollary that SRFI-35 conditions were
not compatible with R6RS conditions.  To fix this problem, we have now
added the union of functionality from all of these record types into
core records: single-inheritance subtyping, mutable and immutable
fields, and so on.  See "Records" in the manual, for full details.

R6RS records, SRFI-9 records, and the SRFI-35 and R6RS exception types
have been accordingly "rebased" on top of core records.

** Reimplementation of exceptions

Since Guile's origins 25 years ago, `throw' and `catch' have been the
primary exception-handling primitives.  However these primitives have
two problems.  One is that it's hard to handle exceptions in a
structured way using `catch'.  Few people remember what the
corresponding `key' and `args' are that an exception handler would see
in response to a call to `error', for example.  In practice, this
results in more generic catch-all exception handling than one might
like.

The other problem is that `throw', `catch', and especially
`with-throw-handler' are quite unlike what the rest of the Scheme world
uses.  R6RS and R7RS, for example, have mostly converged on
SRFI-34-style `with-exception-handler' and `raise' primitives, and
encourage the use of SRFI-35-style structured exception objects to
describe the error.  Guile's R6RS layer incorporates an adapter between
`throw'/`catch' and structured exception handling, but it didn't apply
to SRFI-34/SRFI-35, and we would have to duplicate it for R7RS.

In light of these considerations, Guile has now changed to make
`with-exception-handler' and `raise-exception' its primitives for
exception handling and defined a hierarchy of R6RS-style exception types
in its core.  SRFI-34/35, R6RS, and the exception-handling components of
SRFI-18 (threads) have been re-implemented in terms of this core
functionality.  There is also a a compatibility layer that makes it so
that exceptions originating in `throw' can be handled by
`with-exception-hander', and vice-versa for `raise-exception' and
`catch'.

Generally speaking, users will see no difference.  The one significant
difference is that users of SRFI-34 will see more exceptions flowing
through their `with-exception-handler'/`guard' forms, because whereas
before they would only see exceptions thrown by SRFI-34, now they will
see exceptions thrown by R6RS, R7RS, or indeed `throw'.

Guile's situation is transitional.  Most exceptions are still signalled
via `throw'.  These will probably migrate over time to
`raise-exception', while preserving compatibility of course.

See "Exceptions" in the manual, for full details on the new API.

** `guard' no longer unwinds the stack for clause tests

SRFI-34, and then R6RS and R7RS, defines a `guard' form that is a
shorthand for `with-exception-handler'.  The cond-like clauses for the
exception handling are specified to run with the continuation of the
`guard', while any re-propagation of the exception happens with the
continuation of the original `raise'.

In practice, this means that one needs full `call-with-continuation' to
implement the specified semantics, to be able to unwind the stack to the
cond clauses, then rewind if none match.  This is not only quite
expensive, it is also error-prone as one usually doesn't want to rewind
dynamic-wind guards in an exceptional situation.  Additionally, as
continuations bind tightly to the current thread, it makes it impossible
to migrate a subcomputation with a different thread if a `guard' is live
on the stack, as is done in Fibers.

Guile now works around these issues by running the test portion of the
guard expressions within the original `raise' continuation, and only
unwinding once a test matches.  This is an incompatible semantic change
but we think the situation is globally much better, and we expect that
very few people will be affected by the change.

** Optimization of top-level bindings within a compilation unit

At optimization level 2 and above, Guile's compiler is now allowed to
inline top-level definitions within a compilation unit.  See
"Declarative Modules" in the manual, for full details.  This change can
improve the performance of programs with many small top-level
definitions by quite a bit!

At optimization level 3 and above, Guile will assume that any top-level
binding in a declarative compilation unit that isn't exported from a
module can be completely inlined into its uses.  (Prior to this change,
-O3 was the same as -O2.)  Note that with this new
`seal-private-bindings' pass, private declarative bindings are no longer
available for access from the first-class module reflection API.  The
optimizations afforded by this pass can be useful when you need a speed
boost, but having them enabled at optimization level 3 means they are
not on by default, as they change Guile's behavior in ways that users
might not expect.

** By default, GOOPS classes are not redefinable

It used to be that all GOOPS classes were redefinable, at least in
theory.  This facility was supported by an indirection in all "struct"
instances, even though only a subset of structs would need redefinition.
We wanted to remove this indirection, in order to speed up Guile
records, allow immutable Guile records to eventually be described by
classes, and allow for some optimizations in core GOOPS classes that
shouldn't be redefined anyway.

Thus in GOOPS now there are classes that are redefinable and classes
that aren't.  By default, classes created with GOOPS are not
redefinable.  To make a class redefinable, it should be an instance of
`<redefinable-class>'.  See "Redefining a Class" in the manual for more
information.

** Define top-level bindings for aux syntax: `else', `=>', `...', `_'

These auxiliary syntax definitions are specified to be defined in the
R6RS and the R7RS.  They were previously unbound, even in the R6RS
modules.  This change is not anticipated to cause any incompatibility
with existing Guile code, and improves things for R6RS and R7RS users.

** Conventional gettext alias is now `G_'

Related to the last point, since the "Fix literal matching for
module-bound literals" change in the 2.2 series, it was no longer
possible to use the conventional `_' binding as an alias for `gettext',
because a local `_' definition would prevent `_' from being recognized
as auxiliary syntax for `match', `syntax-rules', and similar.  The new
recommended conventional alias for `gettext' is `G_'.

** Add --r6rs command-line option

The new `install-r6rs!' procedure adapts Guile's defaults to be more
R6RS-compatible.  This procedure is called if the user passes `--r6rs'
as a command-line argument.  See "R6RS Incompatibilities" in the manual,
for full details.

** Add support for R7RS

Thanks to Göran Weinholt and OKUMURA Yuki, Guile now implements the R7RS
modules.  As the R7RS library syntax is a subset of R6RS, to use R7RS
you just `(import (scheme base))' and off you go.  As with R6RS also,
there are some small lexical incompatibilities regarding hex escapes;
see "R6RS Support" in the manual, for full details.

Also as with R6RS, there is an `install-r7rs!' procedure and a `--r7rs'
command-line option.

** Add #:re-export-and-replace argument to `define-module'

This new keyword specifies a set of bindings to re-export, but also
marks them as intended to replace core bindings.  See "Creating Guile
Modules" in the manual, for full details.

Note to make this change, we had to change the way replacement flags are
stored, to being associated with modules instead of individual variable
objects.  This means that users who #:re-export an imported binding that
was already marked as #:replace by another module will now see warnings,
as they need to use #:re-export-and-replace instead.

** `define-module' #:autoload no longer pulls in the whole module

One of the ways that a module can use another is "autoloads".  For
example:

  (define-module (a) #:autoload (b) (make-b))

In this example, module `(b)' will only be imported when the `make-b'
identifier is referenced.  However besides the imprecision about when a
given binding is actually referenced, this mechanism used to cause the
whole imported module to become available, not just the specified
bindings.  This has now been changed to only import the specified bindings.

This is a backward-incompatible change.  The fix is to mention all
bindings of interest in the autoload clause.  Feedback is welcome.

** Improve SRFI-43 vector-fill!

SRFI-43 vector-fill! now has the same performance whether an optional
range is provided or not, and is also provided in core.  As a side
effect, vector-fill! and vector_fill_x no longer work on non-vector
rank-1 arrays.  Such cases were handled incorrectly before; for example,
prior to this change:

  (define a (make-vector 10 'x))
  (define b (make-shared-array a (lambda (i) (list (* 2 i))) 5))
  (vector-fill! b 'y)

  => #1(y y y x x)

This is now an error.  Instead, use array-fill!.

** `iota' in core and SRFI-1 `iota' are the same

Previously, `iota' in core would not accept start and step arguments and
would return an empty list for negative count. Now there is only one
`iota' function with the extended semantics of SRFI-1.  Note that as an
incompatible change, core `iota' no longer accepts a negative count.

** Improved Transport Layer Security (TLS) support in (web client)

`http-request', `http-get', and related procedures from (web client) are
able to access content over TLS ("HTTPS") since Guile 2.2.  However,
that support lacked important facilities, which are now available.

First, these procedures now have a #:verify-certificates?  parameter to
enable or disable the verification of X.509 server certificates.  The
new `x509-certificate-directory' SRFI-39 parameter specifies X.509
certificates are searched for.  Second, HTTPS proxies are now supported
(in addition to HTTP proxies) and the new `current-https-proxy'
parameter controls that.  See "Web Client" in the manual for details.

* New deprecations

** scm_t_uint8, etc deprecated in favor of C99 stdint.h

It used to be that Guile defined its own `scm_t_uint8' because C99
`uint8_t' wasn't widely enough available.  Now Guile finally made the
change to use C99 types, both internally and in Guile's public headers.

Note that this also applies to SCM_T_UINT8_MAX, SCM_T_INT8_MIN, for intN
and uintN for N in 8, 16, 32, and 64.  Guile also now uses ptrdiff_t
instead of scm_t_ptrdiff, and similarly for intmax_t, uintmax_t,
intptr_t, and uintptr_t.

** The two-argument form of `record-constructor'

Calling `record-constructor' with two arguments (the record type and a
list of field names) is deprecated.  Instead, call with just one
argument, and provide a wrapper around that constructor if needed.

* Incompatible changes

** All deprecated code removed

All code deprecated in Guile 2.2 has been removed.  See older NEWS, and
check that your programs can compile without linker warnings and run
without runtime warnings.  See "Deprecation" in the manual.

In particular, the function `scm_generalized_vector_get_handle' which
was deprecated in 2.0.9 but remained in 2.2, has now finally been
removed. As a replacement, use `scm_array_get_handle' to get a handle
and `scm_array_handle_rank' to check the rank.

** Remove "self" field from vtables and "redefined" field from classes

These fields were used as part of the machinery for class redefinition
and is no longer needed.

** VM hook manipulation simplified

The low-level mechanism to instrument a running virtual machine for
debugging and tracing has been simplified.  See "VM Hooks" in the
manual, for more.

* Changes to the distribution

** New effective version

The "effective version" of Guile is now 3.0, which allows parallel
installation with other effective versions (for example, the older Guile
2.2).  See "Parallel Installations" in the manual for full details.
Notably, the `pkg-config' file is now `guile-3.0', and there are new
`guile-3' and `guile-3.0' features for `cond-expand'.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=89a6aff591a04d598aa850810e00e2bbfb222e5b

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                |   1 +
 guile30/DESCR                           |   7 +
 guile30/Makefile                        |  90 ++++
 guile30/PLIST                           | 764 ++++++++++++++++++++++++++++++++
 guile30/buildlink3.mk                   |  28 ++
 guile30/distinfo                        |   8 +
 guile30/module.mk                       |  24 +
 guile30/patches/patch-lib_Makefile.in   |  35 ++
 guile30/patches/patch-libguile_loader.c |  15 +
 9 files changed, 972 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 028d8157e1..cdedee744d 100644
--- a/Makefile
+++ b/Makefile
@@ -1288,6 +1288,7 @@ SUBDIR+=	gtypist
 SUBDIR+=	gucharmap
 SUBDIR+=	guest-oslogin
 SUBDIR+=	guichan
+SUBDIR+=	guile30
 SUBDIR+=	guile-persist
 SUBDIR+=	guile-reader
 SUBDIR+=	guile-stis-parser
diff --git a/guile30/DESCR b/guile30/DESCR
new file mode 100644
index 0000000000..4d54409709
--- /dev/null
+++ b/guile30/DESCR
@@ -0,0 +1,7 @@
+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.
+
+This is guile 2.2, the current stable version.
diff --git a/guile30/Makefile b/guile30/Makefile
new file mode 100644
index 0000000000..e1d9a95cf2
--- /dev/null
+++ b/guile30/Makefile
@@ -0,0 +1,90 @@
+# $NetBSD$
+
+DISTNAME=	guile-3.0.0
+PKGNAME=	${DISTNAME:S/guile/guile30/}
+CATEGORIES=	lang
+MASTER_SITES=	ftp://ftp.gnu.org/gnu/guile/
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://www.gnu.org/software/guile/
+COMMENT=	Official extension language for the GNU operating system
+LICENSE=	gnu-lgpl-v3
+
+# Currently, 2.0 is primary.
+GUILE_SUBDIR=	guile/3.0
+#GUILE_SUBDIR=	# empty
+
+# guile does not like the --build and --host triplets on NetBSD
+HAS_CONFIGURE=		yes
+CONFIGURE_ARGS+=	--disable-shared
+# not until boehm-gc is threaded
+CONFIGURE_ARGS+=	--without-threads
+CONFIGURE_ARGS+=	SHELL=${CONFIG_SHELL}
+# Needed to work around broken configure check for accept4()
+LDFLAGS.SunOS+=		-lsocket -lnsl
+
+.if !empty(GUILE_SUBDIR)
+# Installation prefix is non-default.
+GUILE_PREFIX=			${PREFIX}/${GUILE_SUBDIR}
+CONFIGURE_ARGS+=		--prefix=${GUILE_PREFIX:Q}
+CONFIGURE_ARGS+=		--infodir=${GUILE_PREFIX:Q}/info
+CONFIGURE_ARGS+=		--mandir=${GUILE_PREFIX:Q}/man
+BUILDLINK_PASSTHRU_DIRS+=	${GUILE_PREFIX}
+LDFLAGS+=			${COMPILER_RPATH_FLAG}${GUILE_PREFIX}/lib
+.else
+CONFIGURE_ARGS+=		--prefix=${PREFIX}
+CONFIGURE_ARGS+=		--infodir=${PREFIX}/${PKGINFODIR}
+CONFIGURE_ARGS+=		--mandir=${PREFIX}/${PKGMANDIR}
+.endif
+
+INFO_FILES=		yes
+USE_LIBTOOL=		yes
+USE_TOOLS+=		gmake pkg-config
+USE_TOOLS.Darwin+=	gsed
+USE_TOOLS.SunOS+=	gsed
+
+PKGCONFIG_OVERRIDE+=	meta/guile-3.0.pc.in
+# known broken: test-loose-ends on NetBSD/current
+# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24003
+TEST_TARGET=		check
+
+SUBST_CLASSES+=		tools
+SUBST_SED.tools+=	-e "s,\\((define %pkg-config-program .\\).*\\(.)\\),\\1${PREFIX}/bin/pkg-config\\2,"
+SUBST_STAGE.tools=	post-build
+SUBST_FILES.tools+=	meta/guile-config
+SUBST_MESSAGE.tools=	Fixing path to pkg-config in installed file.
+
+# XXX: less tests would fail if we made libunistring use GNU iconv too
+#USE_GNU_ICONV=		yes
+
+OPSYSVARS+=		GUILE_LIBNAME
+GUILE_LIBNAME.Darwin=	a
+GUILE_LIBNAME.*=	so.1.4.1
+
+PLIST_SUBST+=		GUILE_LIBNAME=${GUILE_LIBNAME}
+PRINT_PLIST_AWK+=	{gsub(/${GUILE_LIBNAME}/, "$${GUILE_LIBNAME}");}
+
+.include "../../mk/bsd.prefs.mk"
+
+# If not Darwin, an extra charset.alias file is installed
+PLIST_VARS+=	charset
+.if ${OPSYS} != "Darwin"
+PLIST.charset=	yes
+.endif
+
+# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24002
+post-configure:
+	${ECHO} '#define FLEXIBLE_ARRAY_MEMBER /**/' >> ${WRKSRC}/config.h
+
+.include "../../devel/gmp/buildlink3.mk"
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../devel/gettext-lib/buildlink3.mk"
+.include "../../devel/libltdl/buildlink3.mk"
+.include "../../textproc/libunistring/buildlink3.mk"
+# needs a particular bug fix on NetBSD
+BUILDLINK_API_DEPENDS.boehm-gc+=	boehm-gc>=7.4.2nb1
+.include "../../devel/boehm-gc/buildlink3.mk"
+.include "../../devel/libffi/buildlink3.mk"
+.include "../../devel/readline/buildlink3.mk"
+#.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/guile30/PLIST b/guile30/PLIST
new file mode 100644
index 0000000000..709c7f211f
--- /dev/null
+++ b/guile30/PLIST
@@ -0,0 +1,764 @@
+@comment $NetBSD: PLIST,v 1.8 2019/11/10 17:49:21 maya Exp $
+guile/2.2/bin/guild
+guile/2.2/bin/guile
+guile/2.2/bin/guile-config
+guile/2.2/bin/guile-snarf
+guile/2.2/bin/guile-tools
+guile/2.2/include/guile/2.2/libguile.h
+guile/2.2/include/guile/2.2/libguile/__scm.h
+guile/2.2/include/guile/2.2/libguile/alist.h
+guile/2.2/include/guile/2.2/libguile/array-handle.h
+guile/2.2/include/guile/2.2/libguile/array-map.h
+guile/2.2/include/guile/2.2/libguile/arrays.h
+guile/2.2/include/guile/2.2/libguile/async.h
+guile/2.2/include/guile/2.2/libguile/atomic.h
+guile/2.2/include/guile/2.2/libguile/backtrace.h
+guile/2.2/include/guile/2.2/libguile/bdw-gc.h
+guile/2.2/include/guile/2.2/libguile/bitvectors.h
+guile/2.2/include/guile/2.2/libguile/boolean.h
+guile/2.2/include/guile/2.2/libguile/bytevectors.h
+guile/2.2/include/guile/2.2/libguile/chars.h
+guile/2.2/include/guile/2.2/libguile/continuations.h
+guile/2.2/include/guile/2.2/libguile/control.h
+guile/2.2/include/guile/2.2/libguile/debug-malloc.h
+guile/2.2/include/guile/2.2/libguile/debug.h
+guile/2.2/include/guile/2.2/libguile/deprecated.h
+guile/2.2/include/guile/2.2/libguile/deprecation.h
+guile/2.2/include/guile/2.2/libguile/dynl.h
+guile/2.2/include/guile/2.2/libguile/dynstack.h
+guile/2.2/include/guile/2.2/libguile/dynwind.h
+guile/2.2/include/guile/2.2/libguile/eq.h
+guile/2.2/include/guile/2.2/libguile/error.h
+guile/2.2/include/guile/2.2/libguile/eval.h
+guile/2.2/include/guile/2.2/libguile/evalext.h
+guile/2.2/include/guile/2.2/libguile/expand.h
+guile/2.2/include/guile/2.2/libguile/extensions.h
+guile/2.2/include/guile/2.2/libguile/fdes-finalizers.h
+guile/2.2/include/guile/2.2/libguile/feature.h
+guile/2.2/include/guile/2.2/libguile/filesys.h
+guile/2.2/include/guile/2.2/libguile/finalizers.h
+guile/2.2/include/guile/2.2/libguile/fluids.h
+guile/2.2/include/guile/2.2/libguile/foreign-object.h
+guile/2.2/include/guile/2.2/libguile/foreign.h
+guile/2.2/include/guile/2.2/libguile/fports.h
+guile/2.2/include/guile/2.2/libguile/frames.h
+guile/2.2/include/guile/2.2/libguile/gc-inline.h
+guile/2.2/include/guile/2.2/libguile/gc.h
+guile/2.2/include/guile/2.2/libguile/generalized-arrays.h
+guile/2.2/include/guile/2.2/libguile/generalized-vectors.h
+guile/2.2/include/guile/2.2/libguile/gettext.h
+guile/2.2/include/guile/2.2/libguile/goops.h
+guile/2.2/include/guile/2.2/libguile/gsubr.h
+guile/2.2/include/guile/2.2/libguile/guardians.h
+guile/2.2/include/guile/2.2/libguile/hash.h
+guile/2.2/include/guile/2.2/libguile/hashtab.h
+guile/2.2/include/guile/2.2/libguile/hooks.h
+guile/2.2/include/guile/2.2/libguile/i18n.h
+guile/2.2/include/guile/2.2/libguile/init.h
+guile/2.2/include/guile/2.2/libguile/inline.h
+guile/2.2/include/guile/2.2/libguile/instructions.h
+guile/2.2/include/guile/2.2/libguile/ioext.h
+guile/2.2/include/guile/2.2/libguile/iselect.h
+guile/2.2/include/guile/2.2/libguile/keywords.h
+guile/2.2/include/guile/2.2/libguile/list.h
+guile/2.2/include/guile/2.2/libguile/load.h
+guile/2.2/include/guile/2.2/libguile/loader.h
+guile/2.2/include/guile/2.2/libguile/macros.h
+guile/2.2/include/guile/2.2/libguile/mallocs.h
+guile/2.2/include/guile/2.2/libguile/memoize.h
+guile/2.2/include/guile/2.2/libguile/modules.h
+guile/2.2/include/guile/2.2/libguile/net_db.h
+guile/2.2/include/guile/2.2/libguile/null-threads.h
+guile/2.2/include/guile/2.2/libguile/numbers.h
+guile/2.2/include/guile/2.2/libguile/objprop.h
+guile/2.2/include/guile/2.2/libguile/options.h
+guile/2.2/include/guile/2.2/libguile/pairs.h
+guile/2.2/include/guile/2.2/libguile/poll.h
+guile/2.2/include/guile/2.2/libguile/ports.h
+guile/2.2/include/guile/2.2/libguile/posix.h
+guile/2.2/include/guile/2.2/libguile/print.h
+guile/2.2/include/guile/2.2/libguile/procprop.h
+guile/2.2/include/guile/2.2/libguile/procs.h
+guile/2.2/include/guile/2.2/libguile/programs.h
+guile/2.2/include/guile/2.2/libguile/promises.h
+guile/2.2/include/guile/2.2/libguile/pthread-threads.h
+guile/2.2/include/guile/2.2/libguile/r6rs-ports.h
+guile/2.2/include/guile/2.2/libguile/random.h
+guile/2.2/include/guile/2.2/libguile/rdelim.h
+guile/2.2/include/guile/2.2/libguile/read.h
+guile/2.2/include/guile/2.2/libguile/regex-posix.h
+guile/2.2/include/guile/2.2/libguile/rw.h
+guile/2.2/include/guile/2.2/libguile/scmconfig.h
+guile/2.2/include/guile/2.2/libguile/scmsigs.h
+guile/2.2/include/guile/2.2/libguile/script.h
+guile/2.2/include/guile/2.2/libguile/simpos.h
+guile/2.2/include/guile/2.2/libguile/smob.h
+guile/2.2/include/guile/2.2/libguile/snarf.h
+guile/2.2/include/guile/2.2/libguile/socket.h
+guile/2.2/include/guile/2.2/libguile/sort.h
+guile/2.2/include/guile/2.2/libguile/srcprop.h
+guile/2.2/include/guile/2.2/libguile/srfi-1.h
+guile/2.2/include/guile/2.2/libguile/srfi-13.h
+guile/2.2/include/guile/2.2/libguile/srfi-14.h
+guile/2.2/include/guile/2.2/libguile/srfi-4.h
+guile/2.2/include/guile/2.2/libguile/srfi-60.h
+guile/2.2/include/guile/2.2/libguile/stackchk.h
+guile/2.2/include/guile/2.2/libguile/stacks.h
+guile/2.2/include/guile/2.2/libguile/stime.h
+guile/2.2/include/guile/2.2/libguile/strings.h
+guile/2.2/include/guile/2.2/libguile/strorder.h
+guile/2.2/include/guile/2.2/libguile/strports.h
+guile/2.2/include/guile/2.2/libguile/struct.h
+guile/2.2/include/guile/2.2/libguile/symbols.h
+guile/2.2/include/guile/2.2/libguile/tags.h
+guile/2.2/include/guile/2.2/libguile/threads.h
+guile/2.2/include/guile/2.2/libguile/throw.h
+guile/2.2/include/guile/2.2/libguile/trees.h
+guile/2.2/include/guile/2.2/libguile/unicode.h
+guile/2.2/include/guile/2.2/libguile/uniform.h
+guile/2.2/include/guile/2.2/libguile/validate.h
+guile/2.2/include/guile/2.2/libguile/values.h
+guile/2.2/include/guile/2.2/libguile/variable.h
+guile/2.2/include/guile/2.2/libguile/vectors.h
+guile/2.2/include/guile/2.2/libguile/version.h
+guile/2.2/include/guile/2.2/libguile/vm-builtins.h
+guile/2.2/include/guile/2.2/libguile/vm-expand.h
+guile/2.2/include/guile/2.2/libguile/vm.h
+guile/2.2/include/guile/2.2/libguile/vports.h
+guile/2.2/include/guile/2.2/libguile/weak-set.h
+guile/2.2/include/guile/2.2/libguile/weak-table.h
+guile/2.2/include/guile/2.2/libguile/weak-vector.h
+guile/2.2/include/guile/2.2/readline.h
+guile/2.2/info/guile.info
+guile/2.2/info/r5rs.info
+${PLIST.charset}guile/2.2/lib/charset.alias
+guile/2.2/lib/guile/2.2/ccache/ice-9/and-let-star.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/arrays.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/atomic.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/binary-ports.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/boot-9.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/buffered-input.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/calling.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/channel.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/command-line.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/common-list.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/control.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/curried-definitions.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/debug.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/deprecated.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/documentation.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/eval-string.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/eval.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/expect.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/fdes-finalizers.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/format.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/ftw.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/futures.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/gap-buffer.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/getopt-long.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/hash-table.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/hcons.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/history.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/i18n.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/iconv.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/lineio.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/list.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/local-eval.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/ls.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/mapping.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/match.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/networking.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/null.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/occam-channel.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/optargs.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/peg.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/peg/cache.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/peg/codegen.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/peg/simplify-tree.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/peg/string-peg.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/peg/using-parsers.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/poe.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/poll.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/popen.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/ports.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/posix.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/pretty-print.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/psyntax-pp.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/q.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/r5rs.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/rdelim.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/readline.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/receive.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/regex.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/runq.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/rw.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/safe-r5rs.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/safe.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/sandbox.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/save-stack.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/scm-style-repl.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/serialize.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/session.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/slib.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/stack-catch.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/streams.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/string-fun.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/suspendable-ports.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/syncase.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/textual-ports.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/threads.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/time.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/top-repl.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/unicode.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/vlist.go
+guile/2.2/lib/guile/2.2/ccache/ice-9/weak-vector.go
+guile/2.2/lib/guile/2.2/ccache/language/brainfuck/compile-scheme.go
+guile/2.2/lib/guile/2.2/ccache/language/brainfuck/compile-tree-il.go
+guile/2.2/lib/guile/2.2/ccache/language/brainfuck/parse.go
+guile/2.2/lib/guile/2.2/ccache/language/brainfuck/spec.go
+guile/2.2/lib/guile/2.2/ccache/language/bytecode.go
+guile/2.2/lib/guile/2.2/ccache/language/bytecode/spec.go
+guile/2.2/lib/guile/2.2/ccache/language/cps.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/closure-conversion.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/compile-bytecode.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/constructors.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/contification.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/cse.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/dce.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/effects-analysis.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/elide-values.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/handle-interrupts.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/intmap.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/intset.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/licm.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/optimize.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/peel-loops.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/primitives.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/prune-bailouts.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/prune-top-level-scopes.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/reify-primitives.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/renumber.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/rotate-loops.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/self-references.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/simplify.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/slot-allocation.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/spec.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/specialize-numbers.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/specialize-primcalls.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/split-rec.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/type-checks.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/type-fold.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/types.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/utils.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/verify.go
+guile/2.2/lib/guile/2.2/ccache/language/cps/with-cps.go
+guile/2.2/lib/guile/2.2/ccache/language/ecmascript/array.go
+guile/2.2/lib/guile/2.2/ccache/language/ecmascript/base.go
+guile/2.2/lib/guile/2.2/ccache/language/ecmascript/compile-tree-il.go
+guile/2.2/lib/guile/2.2/ccache/language/ecmascript/function.go
+guile/2.2/lib/guile/2.2/ccache/language/ecmascript/impl.go
+guile/2.2/lib/guile/2.2/ccache/language/ecmascript/parse.go
+guile/2.2/lib/guile/2.2/ccache/language/ecmascript/spec.go
+guile/2.2/lib/guile/2.2/ccache/language/ecmascript/tokenize.go
+guile/2.2/lib/guile/2.2/ccache/language/elisp/bindings.go
+guile/2.2/lib/guile/2.2/ccache/language/elisp/boot.go
+guile/2.2/lib/guile/2.2/ccache/language/elisp/compile-tree-il.go
+guile/2.2/lib/guile/2.2/ccache/language/elisp/falias.go
+guile/2.2/lib/guile/2.2/ccache/language/elisp/lexer.go
+guile/2.2/lib/guile/2.2/ccache/language/elisp/parser.go
+guile/2.2/lib/guile/2.2/ccache/language/elisp/runtime.go
+guile/2.2/lib/guile/2.2/ccache/language/elisp/runtime/function-slot.go
+guile/2.2/lib/guile/2.2/ccache/language/elisp/runtime/value-slot.go
+guile/2.2/lib/guile/2.2/ccache/language/elisp/spec.go
+guile/2.2/lib/guile/2.2/ccache/language/scheme/compile-tree-il.go
+guile/2.2/lib/guile/2.2/ccache/language/scheme/decompile-tree-il.go
+guile/2.2/lib/guile/2.2/ccache/language/scheme/spec.go
+guile/2.2/lib/guile/2.2/ccache/language/tree-il.go
+guile/2.2/lib/guile/2.2/ccache/language/tree-il/analyze.go
+guile/2.2/lib/guile/2.2/ccache/language/tree-il/canonicalize.go
+guile/2.2/lib/guile/2.2/ccache/language/tree-il/compile-cps.go
+guile/2.2/lib/guile/2.2/ccache/language/tree-il/debug.go
+guile/2.2/lib/guile/2.2/ccache/language/tree-il/effects.go
+guile/2.2/lib/guile/2.2/ccache/language/tree-il/fix-letrec.go
+guile/2.2/lib/guile/2.2/ccache/language/tree-il/optimize.go
+guile/2.2/lib/guile/2.2/ccache/language/tree-il/peval.go
+guile/2.2/lib/guile/2.2/ccache/language/tree-il/primitives.go
+guile/2.2/lib/guile/2.2/ccache/language/tree-il/spec.go
+guile/2.2/lib/guile/2.2/ccache/language/value/spec.go
+guile/2.2/lib/guile/2.2/ccache/oop/goops.go
+guile/2.2/lib/guile/2.2/ccache/oop/goops/accessors.go
+guile/2.2/lib/guile/2.2/ccache/oop/goops/active-slot.go
+guile/2.2/lib/guile/2.2/ccache/oop/goops/composite-slot.go
+guile/2.2/lib/guile/2.2/ccache/oop/goops/describe.go
+guile/2.2/lib/guile/2.2/ccache/oop/goops/internal.go
+guile/2.2/lib/guile/2.2/ccache/oop/goops/save.go
+guile/2.2/lib/guile/2.2/ccache/oop/goops/simple.go
+guile/2.2/lib/guile/2.2/ccache/oop/goops/stklos.go
+guile/2.2/lib/guile/2.2/ccache/rnrs.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/arithmetic/bitwise.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/arithmetic/fixnums.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/arithmetic/flonums.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/base.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/bytevectors.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/conditions.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/control.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/enums.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/eval.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/exceptions.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/files.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/hashtables.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/io/ports.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/io/simple.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/lists.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/mutable-pairs.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/mutable-strings.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/programs.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/r5rs.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/records/inspection.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/records/procedural.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/records/syntactic.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/sorting.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/syntax-case.go
+guile/2.2/lib/guile/2.2/ccache/rnrs/unicode.go
+guile/2.2/lib/guile/2.2/ccache/scripts/api-diff.go
+guile/2.2/lib/guile/2.2/ccache/scripts/autofrisk.go
+guile/2.2/lib/guile/2.2/ccache/scripts/compile.go
+guile/2.2/lib/guile/2.2/ccache/scripts/disassemble.go
+guile/2.2/lib/guile/2.2/ccache/scripts/display-commentary.go
+guile/2.2/lib/guile/2.2/ccache/scripts/doc-snarf.go
+guile/2.2/lib/guile/2.2/ccache/scripts/frisk.go
+guile/2.2/lib/guile/2.2/ccache/scripts/generate-autoload.go
+guile/2.2/lib/guile/2.2/ccache/scripts/help.go
+guile/2.2/lib/guile/2.2/ccache/scripts/lint.go
+guile/2.2/lib/guile/2.2/ccache/scripts/list.go
+guile/2.2/lib/guile/2.2/ccache/scripts/punify.go
+guile/2.2/lib/guile/2.2/ccache/scripts/read-rfc822.go
+guile/2.2/lib/guile/2.2/ccache/scripts/read-scheme-source.go
+guile/2.2/lib/guile/2.2/ccache/scripts/read-text-outline.go
+guile/2.2/lib/guile/2.2/ccache/scripts/scan-api.go
+guile/2.2/lib/guile/2.2/ccache/scripts/snarf-check-and-output-texi.go
+guile/2.2/lib/guile/2.2/ccache/scripts/snarf-guile-m4-docs.go
+guile/2.2/lib/guile/2.2/ccache/scripts/summarize-guile-TODO.go
+guile/2.2/lib/guile/2.2/ccache/scripts/use2dot.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-1.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-10.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-11.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-111.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-13.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-14.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-16.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-17.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-18.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-19.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-2.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-26.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-27.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-28.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-31.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-34.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-35.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-37.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-38.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-39.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-4.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-4/gnu.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-41.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-42.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-43.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-45.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-6.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-60.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-64.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-67.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-69.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-71.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-8.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-88.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-9.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-9/gnu.go
+guile/2.2/lib/guile/2.2/ccache/srfi/srfi-98.go
+guile/2.2/lib/guile/2.2/ccache/statprof.go
+guile/2.2/lib/guile/2.2/ccache/sxml/apply-templates.go
+guile/2.2/lib/guile/2.2/ccache/sxml/fold.go
+guile/2.2/lib/guile/2.2/ccache/sxml/match.go
+guile/2.2/lib/guile/2.2/ccache/sxml/simple.go
+guile/2.2/lib/guile/2.2/ccache/sxml/ssax.go
+guile/2.2/lib/guile/2.2/ccache/sxml/ssax/input-parse.go
+guile/2.2/lib/guile/2.2/ccache/sxml/transform.go
+guile/2.2/lib/guile/2.2/ccache/sxml/xpath.go
+guile/2.2/lib/guile/2.2/ccache/system/base/ck.go
+guile/2.2/lib/guile/2.2/ccache/system/base/compile.go
+guile/2.2/lib/guile/2.2/ccache/system/base/lalr.go
+guile/2.2/lib/guile/2.2/ccache/system/base/language.go
+guile/2.2/lib/guile/2.2/ccache/system/base/message.go
+guile/2.2/lib/guile/2.2/ccache/system/base/pmatch.go
+guile/2.2/lib/guile/2.2/ccache/system/base/syntax.go
+guile/2.2/lib/guile/2.2/ccache/system/base/target.go
+guile/2.2/lib/guile/2.2/ccache/system/base/types.go
+guile/2.2/lib/guile/2.2/ccache/system/foreign-object.go
+guile/2.2/lib/guile/2.2/ccache/system/foreign.go
+guile/2.2/lib/guile/2.2/ccache/system/repl/command.go
+guile/2.2/lib/guile/2.2/ccache/system/repl/common.go
+guile/2.2/lib/guile/2.2/ccache/system/repl/coop-server.go
+guile/2.2/lib/guile/2.2/ccache/system/repl/debug.go
+guile/2.2/lib/guile/2.2/ccache/system/repl/error-handling.go
+guile/2.2/lib/guile/2.2/ccache/system/repl/repl.go
+guile/2.2/lib/guile/2.2/ccache/system/repl/server.go
+guile/2.2/lib/guile/2.2/ccache/system/syntax.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/assembler.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/coverage.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/debug.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/disassembler.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/dwarf.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/elf.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/frame.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/inspect.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/linker.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/loader.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/program.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/trace.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/trap-state.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/traps.go
+guile/2.2/lib/guile/2.2/ccache/system/vm/vm.go
+guile/2.2/lib/guile/2.2/ccache/system/xref.go
+guile/2.2/lib/guile/2.2/ccache/texinfo.go
+guile/2.2/lib/guile/2.2/ccache/texinfo/docbook.go
+guile/2.2/lib/guile/2.2/ccache/texinfo/html.go
+guile/2.2/lib/guile/2.2/ccache/texinfo/indexing.go
+guile/2.2/lib/guile/2.2/ccache/texinfo/plain-text.go
+guile/2.2/lib/guile/2.2/ccache/texinfo/reflection.go
+guile/2.2/lib/guile/2.2/ccache/texinfo/serialize.go
+guile/2.2/lib/guile/2.2/ccache/texinfo/string-utils.go
+guile/2.2/lib/guile/2.2/ccache/web/client.go
+guile/2.2/lib/guile/2.2/ccache/web/http.go
+guile/2.2/lib/guile/2.2/ccache/web/request.go
+guile/2.2/lib/guile/2.2/ccache/web/response.go
+guile/2.2/lib/guile/2.2/ccache/web/server.go
+guile/2.2/lib/guile/2.2/ccache/web/server/http.go
+guile/2.2/lib/guile/2.2/ccache/web/uri.go
+guile/2.2/lib/guile/2.2/extensions/guile-readline.la
+guile/2.2/lib/libguile-2.2.la
+guile/2.2/lib/libguile-2.2.${GUILE_LIBNAME}-gdb.scm
+guile/2.2/lib/pkgconfig/guile-2.2.pc
+guile/2.2/man/man1/guile.1
+guile/2.2/share/aclocal/guile.m4
+guile/2.2/share/guile/2.2/guile-procedures.txt
+guile/2.2/share/guile/2.2/ice-9/and-let-star.scm
+guile/2.2/share/guile/2.2/ice-9/arrays.scm
+guile/2.2/share/guile/2.2/ice-9/atomic.scm
+guile/2.2/share/guile/2.2/ice-9/binary-ports.scm
+guile/2.2/share/guile/2.2/ice-9/boot-9.scm
+guile/2.2/share/guile/2.2/ice-9/buffered-input.scm
+guile/2.2/share/guile/2.2/ice-9/calling.scm
+guile/2.2/share/guile/2.2/ice-9/channel.scm
+guile/2.2/share/guile/2.2/ice-9/command-line.scm
+guile/2.2/share/guile/2.2/ice-9/common-list.scm
+guile/2.2/share/guile/2.2/ice-9/control.scm
+guile/2.2/share/guile/2.2/ice-9/curried-definitions.scm
+guile/2.2/share/guile/2.2/ice-9/debug.scm
+guile/2.2/share/guile/2.2/ice-9/deprecated.scm
+guile/2.2/share/guile/2.2/ice-9/documentation.scm
+guile/2.2/share/guile/2.2/ice-9/eval-string.scm
+guile/2.2/share/guile/2.2/ice-9/eval.scm
+guile/2.2/share/guile/2.2/ice-9/expect.scm
+guile/2.2/share/guile/2.2/ice-9/fdes-finalizers.scm
+guile/2.2/share/guile/2.2/ice-9/format.scm
+guile/2.2/share/guile/2.2/ice-9/ftw.scm
+guile/2.2/share/guile/2.2/ice-9/futures.scm
+guile/2.2/share/guile/2.2/ice-9/gap-buffer.scm
+guile/2.2/share/guile/2.2/ice-9/getopt-long.scm
+guile/2.2/share/guile/2.2/ice-9/hash-table.scm
+guile/2.2/share/guile/2.2/ice-9/hcons.scm
+guile/2.2/share/guile/2.2/ice-9/history.scm
+guile/2.2/share/guile/2.2/ice-9/i18n.scm
+guile/2.2/share/guile/2.2/ice-9/iconv.scm
+guile/2.2/share/guile/2.2/ice-9/lineio.scm
+guile/2.2/share/guile/2.2/ice-9/list.scm
+guile/2.2/share/guile/2.2/ice-9/local-eval.scm
+guile/2.2/share/guile/2.2/ice-9/ls.scm
+guile/2.2/share/guile/2.2/ice-9/mapping.scm
+guile/2.2/share/guile/2.2/ice-9/match.scm
+guile/2.2/share/guile/2.2/ice-9/match.upstream.scm
+guile/2.2/share/guile/2.2/ice-9/networking.scm
+guile/2.2/share/guile/2.2/ice-9/null.scm
+guile/2.2/share/guile/2.2/ice-9/occam-channel.scm
+guile/2.2/share/guile/2.2/ice-9/optargs.scm
+guile/2.2/share/guile/2.2/ice-9/peg.scm
+guile/2.2/share/guile/2.2/ice-9/peg/cache.scm
+guile/2.2/share/guile/2.2/ice-9/peg/codegen.scm
+guile/2.2/share/guile/2.2/ice-9/peg/simplify-tree.scm
+guile/2.2/share/guile/2.2/ice-9/peg/string-peg.scm
+guile/2.2/share/guile/2.2/ice-9/peg/using-parsers.scm
+guile/2.2/share/guile/2.2/ice-9/poe.scm
+guile/2.2/share/guile/2.2/ice-9/poll.scm
+guile/2.2/share/guile/2.2/ice-9/popen.scm
+guile/2.2/share/guile/2.2/ice-9/ports.scm
+guile/2.2/share/guile/2.2/ice-9/posix.scm
+guile/2.2/share/guile/2.2/ice-9/pretty-print.scm
+guile/2.2/share/guile/2.2/ice-9/psyntax-pp.scm
+guile/2.2/share/guile/2.2/ice-9/psyntax.scm
+guile/2.2/share/guile/2.2/ice-9/q.scm
+guile/2.2/share/guile/2.2/ice-9/quasisyntax.scm
+guile/2.2/share/guile/2.2/ice-9/r5rs.scm
+guile/2.2/share/guile/2.2/ice-9/r6rs-libraries.scm
+guile/2.2/share/guile/2.2/ice-9/rdelim.scm
+guile/2.2/share/guile/2.2/ice-9/readline.scm
+guile/2.2/share/guile/2.2/ice-9/receive.scm
+guile/2.2/share/guile/2.2/ice-9/regex.scm
+guile/2.2/share/guile/2.2/ice-9/runq.scm
+guile/2.2/share/guile/2.2/ice-9/rw.scm
+guile/2.2/share/guile/2.2/ice-9/safe-r5rs.scm
+guile/2.2/share/guile/2.2/ice-9/safe.scm
+guile/2.2/share/guile/2.2/ice-9/sandbox.scm
+guile/2.2/share/guile/2.2/ice-9/save-stack.scm
+guile/2.2/share/guile/2.2/ice-9/scm-style-repl.scm
+guile/2.2/share/guile/2.2/ice-9/serialize.scm
+guile/2.2/share/guile/2.2/ice-9/session.scm
+guile/2.2/share/guile/2.2/ice-9/slib.scm
+guile/2.2/share/guile/2.2/ice-9/stack-catch.scm
+guile/2.2/share/guile/2.2/ice-9/streams.scm
+guile/2.2/share/guile/2.2/ice-9/string-fun.scm
+guile/2.2/share/guile/2.2/ice-9/suspendable-ports.scm
+guile/2.2/share/guile/2.2/ice-9/syncase.scm
+guile/2.2/share/guile/2.2/ice-9/textual-ports.scm
+guile/2.2/share/guile/2.2/ice-9/threads.scm
+guile/2.2/share/guile/2.2/ice-9/time.scm
+guile/2.2/share/guile/2.2/ice-9/top-repl.scm
+guile/2.2/share/guile/2.2/ice-9/unicode.scm
+guile/2.2/share/guile/2.2/ice-9/vlist.scm
+guile/2.2/share/guile/2.2/ice-9/weak-vector.scm
+guile/2.2/share/guile/2.2/language/brainfuck/compile-scheme.scm
+guile/2.2/share/guile/2.2/language/brainfuck/compile-tree-il.scm
+guile/2.2/share/guile/2.2/language/brainfuck/parse.scm
+guile/2.2/share/guile/2.2/language/brainfuck/spec.scm
+guile/2.2/share/guile/2.2/language/bytecode.scm
+guile/2.2/share/guile/2.2/language/bytecode/spec.scm
+guile/2.2/share/guile/2.2/language/cps.scm
+guile/2.2/share/guile/2.2/language/cps/closure-conversion.scm
+guile/2.2/share/guile/2.2/language/cps/compile-bytecode.scm
+guile/2.2/share/guile/2.2/language/cps/constructors.scm
+guile/2.2/share/guile/2.2/language/cps/contification.scm
+guile/2.2/share/guile/2.2/language/cps/cse.scm
+guile/2.2/share/guile/2.2/language/cps/dce.scm
+guile/2.2/share/guile/2.2/language/cps/effects-analysis.scm
+guile/2.2/share/guile/2.2/language/cps/elide-values.scm
+guile/2.2/share/guile/2.2/language/cps/handle-interrupts.scm
+guile/2.2/share/guile/2.2/language/cps/intmap.scm
+guile/2.2/share/guile/2.2/language/cps/intset.scm
+guile/2.2/share/guile/2.2/language/cps/licm.scm
+guile/2.2/share/guile/2.2/language/cps/optimize.scm
+guile/2.2/share/guile/2.2/language/cps/peel-loops.scm
+guile/2.2/share/guile/2.2/language/cps/primitives.scm
+guile/2.2/share/guile/2.2/language/cps/prune-bailouts.scm
+guile/2.2/share/guile/2.2/language/cps/prune-top-level-scopes.scm
+guile/2.2/share/guile/2.2/language/cps/reify-primitives.scm
+guile/2.2/share/guile/2.2/language/cps/renumber.scm
+guile/2.2/share/guile/2.2/language/cps/rotate-loops.scm
+guile/2.2/share/guile/2.2/language/cps/self-references.scm
+guile/2.2/share/guile/2.2/language/cps/simplify.scm
+guile/2.2/share/guile/2.2/language/cps/slot-allocation.scm
+guile/2.2/share/guile/2.2/language/cps/spec.scm
+guile/2.2/share/guile/2.2/language/cps/specialize-numbers.scm
+guile/2.2/share/guile/2.2/language/cps/specialize-primcalls.scm
+guile/2.2/share/guile/2.2/language/cps/split-rec.scm
+guile/2.2/share/guile/2.2/language/cps/type-checks.scm
+guile/2.2/share/guile/2.2/language/cps/type-fold.scm
+guile/2.2/share/guile/2.2/language/cps/types.scm
+guile/2.2/share/guile/2.2/language/cps/utils.scm
+guile/2.2/share/guile/2.2/language/cps/verify.scm
+guile/2.2/share/guile/2.2/language/cps/with-cps.scm
+guile/2.2/share/guile/2.2/language/ecmascript/array.scm
+guile/2.2/share/guile/2.2/language/ecmascript/base.scm
+guile/2.2/share/guile/2.2/language/ecmascript/compile-tree-il.scm
+guile/2.2/share/guile/2.2/language/ecmascript/function.scm
+guile/2.2/share/guile/2.2/language/ecmascript/impl.scm
+guile/2.2/share/guile/2.2/language/ecmascript/parse.scm
+guile/2.2/share/guile/2.2/language/ecmascript/spec.scm
+guile/2.2/share/guile/2.2/language/ecmascript/tokenize.scm
+guile/2.2/share/guile/2.2/language/elisp/bindings.scm
+guile/2.2/share/guile/2.2/language/elisp/boot.el
+guile/2.2/share/guile/2.2/language/elisp/compile-tree-il.scm
+guile/2.2/share/guile/2.2/language/elisp/falias.scm
+guile/2.2/share/guile/2.2/language/elisp/lexer.scm
+guile/2.2/share/guile/2.2/language/elisp/parser.scm
+guile/2.2/share/guile/2.2/language/elisp/runtime.scm
+guile/2.2/share/guile/2.2/language/elisp/runtime/function-slot.scm
+guile/2.2/share/guile/2.2/language/elisp/runtime/value-slot.scm
+guile/2.2/share/guile/2.2/language/elisp/spec.scm
+guile/2.2/share/guile/2.2/language/scheme/compile-tree-il.scm
+guile/2.2/share/guile/2.2/language/scheme/decompile-tree-il.scm
+guile/2.2/share/guile/2.2/language/scheme/spec.scm
+guile/2.2/share/guile/2.2/language/tree-il.scm
+guile/2.2/share/guile/2.2/language/tree-il/analyze.scm
+guile/2.2/share/guile/2.2/language/tree-il/canonicalize.scm
+guile/2.2/share/guile/2.2/language/tree-il/compile-cps.scm
+guile/2.2/share/guile/2.2/language/tree-il/debug.scm
+guile/2.2/share/guile/2.2/language/tree-il/effects.scm
+guile/2.2/share/guile/2.2/language/tree-il/fix-letrec.scm
+guile/2.2/share/guile/2.2/language/tree-il/optimize.scm
+guile/2.2/share/guile/2.2/language/tree-il/peval.scm
+guile/2.2/share/guile/2.2/language/tree-il/primitives.scm
+guile/2.2/share/guile/2.2/language/tree-il/spec.scm
+guile/2.2/share/guile/2.2/language/value/spec.scm
+guile/2.2/share/guile/2.2/oop/goops.scm
+guile/2.2/share/guile/2.2/oop/goops/accessors.scm
+guile/2.2/share/guile/2.2/oop/goops/active-slot.scm
+guile/2.2/share/guile/2.2/oop/goops/composite-slot.scm
+guile/2.2/share/guile/2.2/oop/goops/describe.scm
+guile/2.2/share/guile/2.2/oop/goops/internal.scm
+guile/2.2/share/guile/2.2/oop/goops/save.scm
+guile/2.2/share/guile/2.2/oop/goops/simple.scm
+guile/2.2/share/guile/2.2/oop/goops/stklos.scm
+guile/2.2/share/guile/2.2/rnrs.scm
+guile/2.2/share/guile/2.2/rnrs/arithmetic/bitwise.scm
+guile/2.2/share/guile/2.2/rnrs/arithmetic/fixnums.scm
+guile/2.2/share/guile/2.2/rnrs/arithmetic/flonums.scm
+guile/2.2/share/guile/2.2/rnrs/base.scm
+guile/2.2/share/guile/2.2/rnrs/bytevectors.scm
+guile/2.2/share/guile/2.2/rnrs/conditions.scm
+guile/2.2/share/guile/2.2/rnrs/control.scm
+guile/2.2/share/guile/2.2/rnrs/enums.scm
+guile/2.2/share/guile/2.2/rnrs/eval.scm
+guile/2.2/share/guile/2.2/rnrs/exceptions.scm
+guile/2.2/share/guile/2.2/rnrs/files.scm
+guile/2.2/share/guile/2.2/rnrs/hashtables.scm
+guile/2.2/share/guile/2.2/rnrs/io/ports.scm
+guile/2.2/share/guile/2.2/rnrs/io/simple.scm
+guile/2.2/share/guile/2.2/rnrs/lists.scm
+guile/2.2/share/guile/2.2/rnrs/mutable-pairs.scm
+guile/2.2/share/guile/2.2/rnrs/mutable-strings.scm
+guile/2.2/share/guile/2.2/rnrs/programs.scm
+guile/2.2/share/guile/2.2/rnrs/r5rs.scm
+guile/2.2/share/guile/2.2/rnrs/records/inspection.scm
+guile/2.2/share/guile/2.2/rnrs/records/procedural.scm
+guile/2.2/share/guile/2.2/rnrs/records/syntactic.scm
+guile/2.2/share/guile/2.2/rnrs/sorting.scm
+guile/2.2/share/guile/2.2/rnrs/syntax-case.scm
+guile/2.2/share/guile/2.2/rnrs/unicode.scm
+guile/2.2/share/guile/2.2/scripts/api-diff.scm
+guile/2.2/share/guile/2.2/scripts/autofrisk.scm
+guile/2.2/share/guile/2.2/scripts/compile.scm
+guile/2.2/share/guile/2.2/scripts/disassemble.scm
+guile/2.2/share/guile/2.2/scripts/display-commentary.scm
+guile/2.2/share/guile/2.2/scripts/doc-snarf.scm
+guile/2.2/share/guile/2.2/scripts/frisk.scm
+guile/2.2/share/guile/2.2/scripts/generate-autoload.scm
+guile/2.2/share/guile/2.2/scripts/help.scm
+guile/2.2/share/guile/2.2/scripts/lint.scm
+guile/2.2/share/guile/2.2/scripts/list.scm
+guile/2.2/share/guile/2.2/scripts/punify.scm
+guile/2.2/share/guile/2.2/scripts/read-rfc822.scm
+guile/2.2/share/guile/2.2/scripts/read-scheme-source.scm
+guile/2.2/share/guile/2.2/scripts/read-text-outline.scm
+guile/2.2/share/guile/2.2/scripts/scan-api.scm
+guile/2.2/share/guile/2.2/scripts/snarf-check-and-output-texi.scm
+guile/2.2/share/guile/2.2/scripts/snarf-guile-m4-docs.scm
+guile/2.2/share/guile/2.2/scripts/summarize-guile-TODO.scm
+guile/2.2/share/guile/2.2/scripts/use2dot.scm
+guile/2.2/share/guile/2.2/srfi/srfi-1.scm
+guile/2.2/share/guile/2.2/srfi/srfi-10.scm
+guile/2.2/share/guile/2.2/srfi/srfi-11.scm
+guile/2.2/share/guile/2.2/srfi/srfi-111.scm
+guile/2.2/share/guile/2.2/srfi/srfi-13.scm
+guile/2.2/share/guile/2.2/srfi/srfi-14.scm
+guile/2.2/share/guile/2.2/srfi/srfi-16.scm
+guile/2.2/share/guile/2.2/srfi/srfi-17.scm
+guile/2.2/share/guile/2.2/srfi/srfi-18.scm
+guile/2.2/share/guile/2.2/srfi/srfi-19.scm
+guile/2.2/share/guile/2.2/srfi/srfi-2.scm
+guile/2.2/share/guile/2.2/srfi/srfi-26.scm
+guile/2.2/share/guile/2.2/srfi/srfi-27.scm
+guile/2.2/share/guile/2.2/srfi/srfi-28.scm
+guile/2.2/share/guile/2.2/srfi/srfi-31.scm
+guile/2.2/share/guile/2.2/srfi/srfi-34.scm
+guile/2.2/share/guile/2.2/srfi/srfi-35.scm
+guile/2.2/share/guile/2.2/srfi/srfi-37.scm
+guile/2.2/share/guile/2.2/srfi/srfi-38.scm
+guile/2.2/share/guile/2.2/srfi/srfi-39.scm
+guile/2.2/share/guile/2.2/srfi/srfi-4.scm
+guile/2.2/share/guile/2.2/srfi/srfi-4/gnu.scm
+guile/2.2/share/guile/2.2/srfi/srfi-41.scm
+guile/2.2/share/guile/2.2/srfi/srfi-42.scm
+guile/2.2/share/guile/2.2/srfi/srfi-42/ec.scm
+guile/2.2/share/guile/2.2/srfi/srfi-43.scm
+guile/2.2/share/guile/2.2/srfi/srfi-45.scm
+guile/2.2/share/guile/2.2/srfi/srfi-6.scm
+guile/2.2/share/guile/2.2/srfi/srfi-60.scm
+guile/2.2/share/guile/2.2/srfi/srfi-64.scm
+guile/2.2/share/guile/2.2/srfi/srfi-64/testing.scm
+guile/2.2/share/guile/2.2/srfi/srfi-67.scm
+guile/2.2/share/guile/2.2/srfi/srfi-67/compare.scm
+guile/2.2/share/guile/2.2/srfi/srfi-69.scm
+guile/2.2/share/guile/2.2/srfi/srfi-71.scm
+guile/2.2/share/guile/2.2/srfi/srfi-8.scm
+guile/2.2/share/guile/2.2/srfi/srfi-88.scm
+guile/2.2/share/guile/2.2/srfi/srfi-9.scm
+guile/2.2/share/guile/2.2/srfi/srfi-9/gnu.scm
+guile/2.2/share/guile/2.2/srfi/srfi-98.scm
+guile/2.2/share/guile/2.2/statprof.scm
+guile/2.2/share/guile/2.2/sxml/apply-templates.scm
+guile/2.2/share/guile/2.2/sxml/fold.scm
+guile/2.2/share/guile/2.2/sxml/match.scm
+guile/2.2/share/guile/2.2/sxml/simple.scm
+guile/2.2/share/guile/2.2/sxml/ssax.scm
+guile/2.2/share/guile/2.2/sxml/ssax/input-parse.scm
+guile/2.2/share/guile/2.2/sxml/sxml-match.ss
+guile/2.2/share/guile/2.2/sxml/transform.scm
+guile/2.2/share/guile/2.2/sxml/upstream/SSAX.scm
+guile/2.2/share/guile/2.2/sxml/upstream/SXML-tree-trans.scm
+guile/2.2/share/guile/2.2/sxml/upstream/SXPath-old.scm
+guile/2.2/share/guile/2.2/sxml/upstream/assert.scm
+guile/2.2/share/guile/2.2/sxml/upstream/input-parse.scm
+guile/2.2/share/guile/2.2/sxml/xpath.scm
+guile/2.2/share/guile/2.2/system/base/ck.scm
+guile/2.2/share/guile/2.2/system/base/compile.scm
+guile/2.2/share/guile/2.2/system/base/lalr.scm
+guile/2.2/share/guile/2.2/system/base/lalr.upstream.scm
+guile/2.2/share/guile/2.2/system/base/language.scm
+guile/2.2/share/guile/2.2/system/base/message.scm
+guile/2.2/share/guile/2.2/system/base/pmatch.scm
+guile/2.2/share/guile/2.2/system/base/syntax.scm
+guile/2.2/share/guile/2.2/system/base/target.scm
+guile/2.2/share/guile/2.2/system/base/types.scm
+guile/2.2/share/guile/2.2/system/foreign-object.scm
+guile/2.2/share/guile/2.2/system/foreign.scm
+guile/2.2/share/guile/2.2/system/repl/command.scm
+guile/2.2/share/guile/2.2/system/repl/common.scm
+guile/2.2/share/guile/2.2/system/repl/coop-server.scm
+guile/2.2/share/guile/2.2/system/repl/debug.scm
+guile/2.2/share/guile/2.2/system/repl/describe.scm
+guile/2.2/share/guile/2.2/system/repl/error-handling.scm
+guile/2.2/share/guile/2.2/system/repl/repl.scm
+guile/2.2/share/guile/2.2/system/repl/server.scm
+guile/2.2/share/guile/2.2/system/syntax.scm
+guile/2.2/share/guile/2.2/system/vm/assembler.scm
+guile/2.2/share/guile/2.2/system/vm/coverage.scm
+guile/2.2/share/guile/2.2/system/vm/debug.scm
+guile/2.2/share/guile/2.2/system/vm/disassembler.scm
+guile/2.2/share/guile/2.2/system/vm/dwarf.scm
+guile/2.2/share/guile/2.2/system/vm/elf.scm
+guile/2.2/share/guile/2.2/system/vm/frame.scm
+guile/2.2/share/guile/2.2/system/vm/inspect.scm
+guile/2.2/share/guile/2.2/system/vm/linker.scm
+guile/2.2/share/guile/2.2/system/vm/loader.scm
+guile/2.2/share/guile/2.2/system/vm/program.scm
+guile/2.2/share/guile/2.2/system/vm/trace.scm
+guile/2.2/share/guile/2.2/system/vm/trap-state.scm
+guile/2.2/share/guile/2.2/system/vm/traps.scm
+guile/2.2/share/guile/2.2/system/vm/vm.scm
+guile/2.2/share/guile/2.2/system/xref.scm
+guile/2.2/share/guile/2.2/texinfo.scm
+guile/2.2/share/guile/2.2/texinfo/docbook.scm
+guile/2.2/share/guile/2.2/texinfo/html.scm
+guile/2.2/share/guile/2.2/texinfo/indexing.scm
+guile/2.2/share/guile/2.2/texinfo/plain-text.scm
+guile/2.2/share/guile/2.2/texinfo/reflection.scm
+guile/2.2/share/guile/2.2/texinfo/serialize.scm
+guile/2.2/share/guile/2.2/texinfo/string-utils.scm
+guile/2.2/share/guile/2.2/web/client.scm
+guile/2.2/share/guile/2.2/web/http.scm
+guile/2.2/share/guile/2.2/web/request.scm
+guile/2.2/share/guile/2.2/web/response.scm
+guile/2.2/share/guile/2.2/web/server.scm
+guile/2.2/share/guile/2.2/web/server/http.scm
+guile/2.2/share/guile/2.2/web/uri.scm
diff --git a/guile30/buildlink3.mk b/guile30/buildlink3.mk
new file mode 100644
index 0000000000..737bb49026
--- /dev/null
+++ b/guile30/buildlink3.mk
@@ -0,0 +1,28 @@
+# $NetBSD: buildlink3.mk,v 1.2 2019/07/14 21:46:22 rillig Exp $
+
+BUILDLINK_TREE+=	guile22
+
+.if !defined(GUILE22_BUILDLINK3_MK)
+GUILE22_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.guile22+=	guile22>=2.2
+BUILDLINK_PKGSRCDIR.guile22?=	../../lang/guile22
+
+BUILDLINK_PASSTHRU_DIRS=		${PREFIX}/guile/2.2
+BUILDLINK_FILES.guile22+=		guile/2.2/bin/*
+BUILDLINK_FNAME_TRANSFORM.guile22+=	-e s,guile/2.2/bin,bin,
+BUILDLINK_FNAME_TRANSFORM.guile22+=	-e s,guile/2.2/lib/pkgconfig,lib/pkgconfig,
+
+GUILE22_SUBDIR=				guile/2.2
+
+.include "../../devel/gmp/buildlink3.mk"
+.include "../../devel/libffi/buildlink3.mk"
+.include "../../devel/libltdl/buildlink3.mk"
+.include "../../devel/readline/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../textproc/libunistring/buildlink3.mk"
+.include "../../devel/boehm-gc/buildlink3.mk"
+.endif # GUILE22_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-guile22
diff --git a/guile30/distinfo b/guile30/distinfo
new file mode 100644
index 0000000000..617117da54
--- /dev/null
+++ b/guile30/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.8 2019/09/10 03:47:27 gutteridge Exp $
+
+SHA1 (guile-3.0.0.tar.gz) = 2c02190e43943f2eb70ea116019073f571495dce
+RMD160 (guile-3.0.0.tar.gz) = 7d693dc2da61c3096fde68f1d1852865b4a8ac61
+SHA512 (guile-3.0.0.tar.gz) = 5c1e02abc00d122c1bebc0df567c986fcda8b4721d29cff4fe2c11f12d68cc96308b34bc6082c262bacca216014d2a43befadc2b99aa613012e3f4a8e93b59f6
+Size (guile-3.0.0.tar.gz) = 21912896 bytes
+SHA1 (patch-lib_Makefile.in) = ae3428997a653d89cef9bd51f52b57b64431b753
+SHA1 (patch-libguile_loader.c) = 32b012d095c343995f93d0c8160411c4b0cfbee1
diff --git a/guile30/module.mk b/guile30/module.mk
new file mode 100644
index 0000000000..d8706b107e
--- /dev/null
+++ b/guile30/module.mk
@@ -0,0 +1,24 @@
+# $NetBSD: module.mk,v 1.1 2019/11/12 12:41:19 ng0 Exp $
+#
+# Common build logic for Guile 2.2 modules using gnu configure.
+#
+# === Package-settable-variables ===
+#
+# GUILE_NEED_BOOTSTRAP
+#	Whether the package requires a bootstrap run of autotools
+# 	or not.
+#
+#	Possible values: yes no
+
+.if defined(GNU_CONFIGURE)
+GNU_CONFIGURE_PREFIX=	${PREFIX}/guile/2.2
+CONFIGURE_ARGS+=	--libdir=${PREFIX}/guile/2.2/lib
+
+.if defined(GUILE_NEED_BOOTSTRAP)
+USE_TOOLS+=		automake autoconf autoreconf
+pre-configure:
+	(cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} autoreconf -I${PREFIX}/guile/2.2/share/aclocal -vif)
+.endif
+
+.include "../../lang/guile22/buildlink3.mk"
+.endif
diff --git a/guile30/patches/patch-lib_Makefile.in b/guile30/patches/patch-lib_Makefile.in
new file mode 100644
index 0000000000..b61d025d0f
--- /dev/null
+++ b/guile30/patches/patch-lib_Makefile.in
@@ -0,0 +1,35 @@
+$NetBSD: patch-lib_Makefile.in,v 1.1 2019/09/10 03:47:28 gutteridge Exp $
+
+Install a (stub) charset.alias file unconditionally on Linux, to work
+around mismatches between pkgsrc's means of identifying glibc vs. this
+package's tools. This is the simplest fix for PLIST issues, for now...
+
+--- lib/Makefile.in.orig	2019-06-30 20:06:43.000000000 +0000
++++ lib/Makefile.in
+@@ -2969,18 +2969,14 @@ langinfo.h: langinfo.in.h $(top_builddir
+ all-local: charset.alias ref-add.sed ref-del.sed
+ install-exec-local: install-exec-localcharset
+ install-exec-localcharset: all-local
+-	if test $(GLIBC21) = no; then \
+-	  case '$(host_os)' in \
+-	    darwin[56]*) \
+-	      need_charset_alias=true ;; \
+-	    darwin* | cygwin* | mingw* | pw32* | cegcc*) \
+-	      need_charset_alias=false ;; \
+-	    *) \
+-	      need_charset_alias=true ;; \
+-	  esac ; \
+-	else \
+-	  need_charset_alias=false ; \
+-	fi ; \
++	case '$(host_os)' in \
++	  darwin[56]*) \
++	    need_charset_alias=true ;; \
++	  darwin* | cygwin* | mingw* | pw32* | cegcc*) \
++	    need_charset_alias=false ;; \
++	  *) \
++	    need_charset_alias=true ;; \
++	esac ; \
+ 	if $$need_charset_alias; then \
+ 	  $(mkinstalldirs) $(DESTDIR)$(libdir) ; \
+ 	fi ; \
diff --git a/guile30/patches/patch-libguile_loader.c b/guile30/patches/patch-libguile_loader.c
new file mode 100644
index 0000000000..19fec445fe
--- /dev/null
+++ b/guile30/patches/patch-libguile_loader.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-libguile_loader.c,v 1.2 2019/06/23 09:14:58 wiz Exp $
+
+Use correct mmap permissions for later PROT_WRITE mprotect.
+
+--- libguile/loader.c.orig	2018-01-08 16:21:04.790894906 +0000
++++ libguile/loader.c
+@@ -484,7 +484,7 @@ map_file_contents (int fd, size_t len, i
+   char *data;
+ 
+ #ifdef HAVE_SYS_MMAN_H
+-  data = mmap (NULL, len, PROT_READ, MAP_PRIVATE, fd, 0);
++  data = mmap (NULL, len, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
+   if (data == MAP_FAILED)
+     SCM_SYSERROR;
+   *is_read_only = 1;


Home | Main Index | Thread Index | Old Index