summaryrefslogtreecommitdiff
path: root/lang/guile18
diff options
context:
space:
mode:
Diffstat (limited to 'lang/guile18')
-rw-r--r--lang/guile18/DESCR8
-rw-r--r--lang/guile18/Makefile80
-rw-r--r--lang/guile18/PLIST281
-rw-r--r--lang/guile18/buildlink3.mk25
-rw-r--r--lang/guile18/distinfo22
-rw-r--r--lang/guile18/patches/patch-aa17
-rw-r--r--lang/guile18/patches/patch-ae95
-rw-r--r--lang/guile18/patches/patch-ag19
-rw-r--r--lang/guile18/patches/patch-ah14
-rw-r--r--lang/guile18/patches/patch-ak15
-rw-r--r--lang/guile18/patches/patch-al13
-rw-r--r--lang/guile18/patches/patch-am26
-rw-r--r--lang/guile18/patches/patch-an14
-rw-r--r--lang/guile18/patches/patch-ao31
-rw-r--r--lang/guile18/patches/patch-doc_ref_api-compound.texi16
-rw-r--r--lang/guile18/patches/patch-doc_ref_fdl.texi15
-rw-r--r--lang/guile18/patches/patch-doc_ref_gh.texi15
-rw-r--r--lang/guile18/patches/patch-doc_tutorial_guile-tut.texi15
-rw-r--r--lang/guile18/patches/patch-libguile_Makefile.in14
-rw-r--r--lang/guile18/patches/patch-libguile_dynl.c22
-rw-r--r--lang/guile18/patches/patch-libguile_guile-snarf-docs.in11
-rw-r--r--lang/guile18/patches/patch-libguile_guile-snarf.in14
22 files changed, 782 insertions, 0 deletions
diff --git a/lang/guile18/DESCR b/lang/guile18/DESCR
new file mode 100644
index 00000000000..63a1fdaa807
--- /dev/null
+++ b/lang/guile18/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.
+
+This is an extremely old version of guile. It is installed into
+guile/1.8 within PREFIX.
diff --git a/lang/guile18/Makefile b/lang/guile18/Makefile
new file mode 100644
index 00000000000..01a71290b5a
--- /dev/null
+++ b/lang/guile18/Makefile
@@ -0,0 +1,80 @@
+# $NetBSD: Makefile,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+DISTNAME= guile-1.8.8
+PKGNAME= ${DISTNAME:S/guile/guile18/}
+PKGREVISION= 11
+CATEGORIES= lang
+MASTER_SITES= ${MASTER_SITE_GNU:=guile/}
+
+MAINTAINER= gdt@NetBSD.org
+HOMEPAGE= https://www.gnu.org/software/guile/
+COMMENT= GNU's Ubiquitous Intelligent Language for Extension (1.8 branch)
+LICENSE= gnu-lgpl-v2.1
+
+CONFLICTS= guile14<1.4.1nb1 guile-oops-[0-9]* guile>=1.8<2.0
+
+GNU_CONFIGURE= YES
+GNU_CONFIGURE_STRICT= no # has several configure programs
+USE_TOOLS+= gmake makeinfo
+USE_LIBTOOL= YES
+PTHREAD_AUTO_VARS= YES
+INFO_FILES= YES
+PKGCONFIG_OVERRIDE= guile-1.8.pc.in
+
+GUILE_PREFIX= ${PREFIX}/guile/1.8
+GNU_CONFIGURE_PREFIX= ${GUILE_PREFIX}
+BUILDLINK_PASSTHRU_DIRS+= ${GUILE_PREFIX}
+LDFLAGS+= ${COMPILER_RPATH_FLAG}${GUILE_PREFIX}/lib
+
+# XXX Make this conditional on the problematic systems.
+# couldn't figure out how to work around an error on solaris-2.9/sparc with gcc when
+# compiling ${WRKSRC}/libguile/filesys.c. The warning is that readdir64_r was missing
+# a prototype.
+CONFIGURE_ARGS+= --disable-error-on-warning
+
+#CONFIGURE_ARGS+= --without-threads
+
+TEST_DIRS= .
+TEST_TARGET= check
+
+OWN_DIRS= ${PREFIX}/share/guile/site
+
+.include "../../mk/bsd.prefs.mk"
+
+# scmconfig.h will be rebuilt first thing. This hack is here because
+# gen-scmconfig.c includes string.h (from /usr/include) which in turn
+# tries to include /usr/include/strings.h but instead the compiler picks
+# up ./strings.h which tries to include scmconfig.h which doesn't exist
+# yet. While not a clean fix, this seems to work around the problem.
+#
+#
+# for info on the slib part, see
+# http://lists.gnu.org/archive/html/guile-user/2006-11/msg00035.html
+post-patch:
+ ${TOUCH} ${WRKSRC}/libguile/scmconfig.h
+ ${ECHO} "(define-module (ice-9 slib))" > ${WRKSRC}/ice-9/slib.scm
+ ${ECHO} "(load-from-path \"slib/guile.init\")" >> ${WRKSRC}/ice-9/slib.scm
+
+CONFIGURE_ARGS.DragonFly+= ac_cv_type_complex_double=no
+
+.if ${OPSYS} == "Darwin"
+#This define has been reported to break builds on 10.8.
+#CPPFLAGS+= -Dmacosx
+
+# Darwin does not use -rpath, so back out the patch that adds it. It
+# is not clear that guile works properly if directories with modules
+# are not in LTDL_LIBRARY_PATH or LD_LIBRARY_PATH. See the following
+# PRs:
+# http://www.NetBSD.org/cgi-bin/query-pr-single.pl?number=33665
+# http://www.NetBSD.org/cgi-bin/query-pr-single.pl?number=36975
+post-patch: post-patch-darwin
+post-patch-darwin: .PHONY
+ ${MV} ${WRKSRC}/guile-config/guile-config.in.orig \
+ ${WRKSRC}/guile-config/guile-config.in
+.endif
+
+.include "../../devel/gmp/buildlink3.mk"
+.include "../../devel/libltdl/buildlink3.mk"
+.include "../../devel/readline/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/lang/guile18/PLIST b/lang/guile18/PLIST
new file mode 100644
index 00000000000..a15099f7d0b
--- /dev/null
+++ b/lang/guile18/PLIST
@@ -0,0 +1,281 @@
+@comment $NetBSD: PLIST,v 1.1 2022/03/07 20:34:16 wiz Exp $
+guile/1.8/bin/guile
+guile/1.8/bin/guile-config
+guile/1.8/bin/guile-snarf
+guile/1.8/bin/guile-tools
+guile/1.8/include/guile/gh.h
+guile/1.8/include/guile/readline.h
+guile/1.8/include/guile/srfi/srfi-1.h
+guile/1.8/include/guile/srfi/srfi-13.h
+guile/1.8/include/guile/srfi/srfi-14.h
+guile/1.8/include/guile/srfi/srfi-4.h
+guile/1.8/include/guile/srfi/srfi-60.h
+guile/1.8/include/libguile.h
+guile/1.8/include/libguile/__scm.h
+guile/1.8/include/libguile/alist.h
+guile/1.8/include/libguile/arbiters.h
+guile/1.8/include/libguile/async.h
+guile/1.8/include/libguile/backtrace.h
+guile/1.8/include/libguile/boolean.h
+guile/1.8/include/libguile/chars.h
+guile/1.8/include/libguile/continuations.h
+guile/1.8/include/libguile/convert.h
+guile/1.8/include/libguile/debug-malloc.h
+guile/1.8/include/libguile/debug.h
+guile/1.8/include/libguile/deprecated.h
+guile/1.8/include/libguile/deprecation.h
+guile/1.8/include/libguile/discouraged.h
+guile/1.8/include/libguile/dynl.h
+guile/1.8/include/libguile/dynwind.h
+guile/1.8/include/libguile/environments.h
+guile/1.8/include/libguile/eq.h
+guile/1.8/include/libguile/error.h
+guile/1.8/include/libguile/eval.h
+guile/1.8/include/libguile/evalext.h
+guile/1.8/include/libguile/extensions.h
+guile/1.8/include/libguile/feature.h
+guile/1.8/include/libguile/filesys.h
+guile/1.8/include/libguile/fluids.h
+guile/1.8/include/libguile/fports.h
+guile/1.8/include/libguile/futures.h
+guile/1.8/include/libguile/gc.h
+guile/1.8/include/libguile/gdb_interface.h
+guile/1.8/include/libguile/gdbint.h
+guile/1.8/include/libguile/goops.h
+guile/1.8/include/libguile/gsubr.h
+guile/1.8/include/libguile/guardians.h
+guile/1.8/include/libguile/hash.h
+guile/1.8/include/libguile/hashtab.h
+guile/1.8/include/libguile/hooks.h
+guile/1.8/include/libguile/i18n.h
+guile/1.8/include/libguile/init.h
+guile/1.8/include/libguile/inline.h
+guile/1.8/include/libguile/ioext.h
+guile/1.8/include/libguile/iselect.h
+guile/1.8/include/libguile/keywords.h
+guile/1.8/include/libguile/lang.h
+guile/1.8/include/libguile/list.h
+guile/1.8/include/libguile/load.h
+guile/1.8/include/libguile/macros.h
+guile/1.8/include/libguile/mallocs.h
+guile/1.8/include/libguile/modules.h
+guile/1.8/include/libguile/net_db.h
+guile/1.8/include/libguile/null-threads.h
+guile/1.8/include/libguile/numbers.h
+guile/1.8/include/libguile/objects.h
+guile/1.8/include/libguile/objprop.h
+guile/1.8/include/libguile/options.h
+guile/1.8/include/libguile/pairs.h
+guile/1.8/include/libguile/ports.h
+guile/1.8/include/libguile/posix.h
+guile/1.8/include/libguile/print.h
+guile/1.8/include/libguile/procprop.h
+guile/1.8/include/libguile/procs.h
+guile/1.8/include/libguile/properties.h
+guile/1.8/include/libguile/pthread-threads.h
+guile/1.8/include/libguile/ramap.h
+guile/1.8/include/libguile/random.h
+guile/1.8/include/libguile/rdelim.h
+guile/1.8/include/libguile/read.h
+guile/1.8/include/libguile/regex-posix.h
+guile/1.8/include/libguile/root.h
+guile/1.8/include/libguile/rw.h
+guile/1.8/include/libguile/scmconfig.h
+guile/1.8/include/libguile/scmsigs.h
+guile/1.8/include/libguile/script.h
+guile/1.8/include/libguile/simpos.h
+guile/1.8/include/libguile/smob.h
+guile/1.8/include/libguile/snarf.h
+guile/1.8/include/libguile/socket.h
+guile/1.8/include/libguile/sort.h
+guile/1.8/include/libguile/srcprop.h
+guile/1.8/include/libguile/srfi-13.h
+guile/1.8/include/libguile/srfi-14.h
+guile/1.8/include/libguile/srfi-4.h
+guile/1.8/include/libguile/stackchk.h
+guile/1.8/include/libguile/stacks.h
+guile/1.8/include/libguile/stime.h
+guile/1.8/include/libguile/strings.h
+guile/1.8/include/libguile/strorder.h
+guile/1.8/include/libguile/strports.h
+guile/1.8/include/libguile/struct.h
+guile/1.8/include/libguile/symbols.h
+guile/1.8/include/libguile/tags.h
+guile/1.8/include/libguile/threads.h
+guile/1.8/include/libguile/throw.h
+guile/1.8/include/libguile/unif.h
+guile/1.8/include/libguile/validate.h
+guile/1.8/include/libguile/values.h
+guile/1.8/include/libguile/variable.h
+guile/1.8/include/libguile/vectors.h
+guile/1.8/include/libguile/version.h
+guile/1.8/include/libguile/vports.h
+guile/1.8/include/libguile/weaks.h
+guile/1.8/info/goops.info
+guile/1.8/info/guile-tut.info
+guile/1.8/info/guile.info
+guile/1.8/info/r5rs.info
+guile/1.8/lib/libguile-srfi-srfi-1-v-3.la
+guile/1.8/lib/libguile-srfi-srfi-13-14-v-3.la
+guile/1.8/lib/libguile-srfi-srfi-4-v-3.la
+guile/1.8/lib/libguile-srfi-srfi-60-v-2.la
+guile/1.8/lib/libguile.la
+guile/1.8/lib/libguilereadline-v-17.la
+guile/1.8/lib/pkgconfig/guile-1.8.pc
+guile/1.8/man/man1/guile.1
+guile/1.8/share/aclocal/guile.m4
+guile/1.8/share/guile/1.8/guile-procedures.txt
+guile/1.8/share/guile/1.8/ice-9/and-let-star.scm
+guile/1.8/share/guile/1.8/ice-9/boot-9.scm
+guile/1.8/share/guile/1.8/ice-9/buffered-input.scm
+guile/1.8/share/guile/1.8/ice-9/calling.scm
+guile/1.8/share/guile/1.8/ice-9/channel.scm
+guile/1.8/share/guile/1.8/ice-9/common-list.scm
+guile/1.8/share/guile/1.8/ice-9/debug.scm
+guile/1.8/share/guile/1.8/ice-9/debugger.scm
+guile/1.8/share/guile/1.8/ice-9/debugger/command-loop.scm
+guile/1.8/share/guile/1.8/ice-9/debugger/commands.scm
+guile/1.8/share/guile/1.8/ice-9/debugger/state.scm
+guile/1.8/share/guile/1.8/ice-9/debugger/trc.scm
+guile/1.8/share/guile/1.8/ice-9/debugger/utils.scm
+guile/1.8/share/guile/1.8/ice-9/debugging/example-fns.scm
+guile/1.8/share/guile/1.8/ice-9/debugging/ice-9-debugger-extensions.scm
+guile/1.8/share/guile/1.8/ice-9/debugging/steps.scm
+guile/1.8/share/guile/1.8/ice-9/debugging/trace.scm
+guile/1.8/share/guile/1.8/ice-9/debugging/traps.scm
+guile/1.8/share/guile/1.8/ice-9/debugging/trc.scm
+guile/1.8/share/guile/1.8/ice-9/deprecated.scm
+guile/1.8/share/guile/1.8/ice-9/documentation.scm
+guile/1.8/share/guile/1.8/ice-9/emacs.scm
+guile/1.8/share/guile/1.8/ice-9/expect.scm
+guile/1.8/share/guile/1.8/ice-9/format.scm
+guile/1.8/share/guile/1.8/ice-9/ftw.scm
+guile/1.8/share/guile/1.8/ice-9/gap-buffer.scm
+guile/1.8/share/guile/1.8/ice-9/gds-client.scm
+guile/1.8/share/guile/1.8/ice-9/gds-server.scm
+guile/1.8/share/guile/1.8/ice-9/getopt-long.scm
+guile/1.8/share/guile/1.8/ice-9/hcons.scm
+guile/1.8/share/guile/1.8/ice-9/history.scm
+guile/1.8/share/guile/1.8/ice-9/lineio.scm
+guile/1.8/share/guile/1.8/ice-9/list.scm
+guile/1.8/share/guile/1.8/ice-9/ls.scm
+guile/1.8/share/guile/1.8/ice-9/mapping.scm
+guile/1.8/share/guile/1.8/ice-9/match.scm
+guile/1.8/share/guile/1.8/ice-9/networking.scm
+guile/1.8/share/guile/1.8/ice-9/null.scm
+guile/1.8/share/guile/1.8/ice-9/occam-channel.scm
+guile/1.8/share/guile/1.8/ice-9/optargs.scm
+guile/1.8/share/guile/1.8/ice-9/poe.scm
+guile/1.8/share/guile/1.8/ice-9/popen.scm
+guile/1.8/share/guile/1.8/ice-9/posix.scm
+guile/1.8/share/guile/1.8/ice-9/pretty-print.scm
+guile/1.8/share/guile/1.8/ice-9/psyntax.pp
+guile/1.8/share/guile/1.8/ice-9/psyntax.ss
+guile/1.8/share/guile/1.8/ice-9/q.scm
+guile/1.8/share/guile/1.8/ice-9/r4rs.scm
+guile/1.8/share/guile/1.8/ice-9/r5rs.scm
+guile/1.8/share/guile/1.8/ice-9/rdelim.scm
+guile/1.8/share/guile/1.8/ice-9/readline.scm
+guile/1.8/share/guile/1.8/ice-9/receive.scm
+guile/1.8/share/guile/1.8/ice-9/regex.scm
+guile/1.8/share/guile/1.8/ice-9/runq.scm
+guile/1.8/share/guile/1.8/ice-9/rw.scm
+guile/1.8/share/guile/1.8/ice-9/safe-r5rs.scm
+guile/1.8/share/guile/1.8/ice-9/safe.scm
+guile/1.8/share/guile/1.8/ice-9/serialize.scm
+guile/1.8/share/guile/1.8/ice-9/session.scm
+guile/1.8/share/guile/1.8/ice-9/slib.scm
+guile/1.8/share/guile/1.8/ice-9/stack-catch.scm
+guile/1.8/share/guile/1.8/ice-9/streams.scm
+guile/1.8/share/guile/1.8/ice-9/string-fun.scm
+guile/1.8/share/guile/1.8/ice-9/syncase.scm
+guile/1.8/share/guile/1.8/ice-9/threads.scm
+guile/1.8/share/guile/1.8/ice-9/time.scm
+guile/1.8/share/guile/1.8/ice-9/weak-vector.scm
+guile/1.8/share/guile/1.8/lang/elisp/base.scm
+guile/1.8/share/guile/1.8/lang/elisp/example.el
+guile/1.8/share/guile/1.8/lang/elisp/interface.scm
+guile/1.8/share/guile/1.8/lang/elisp/internals/evaluation.scm
+guile/1.8/share/guile/1.8/lang/elisp/internals/format.scm
+guile/1.8/share/guile/1.8/lang/elisp/internals/fset.scm
+guile/1.8/share/guile/1.8/lang/elisp/internals/lambda.scm
+guile/1.8/share/guile/1.8/lang/elisp/internals/load.scm
+guile/1.8/share/guile/1.8/lang/elisp/internals/null.scm
+guile/1.8/share/guile/1.8/lang/elisp/internals/set.scm
+guile/1.8/share/guile/1.8/lang/elisp/internals/signal.scm
+guile/1.8/share/guile/1.8/lang/elisp/internals/time.scm
+guile/1.8/share/guile/1.8/lang/elisp/internals/trace.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/buffers.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/char-table.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/features.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/fns.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/format.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/guile.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/keymaps.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/lists.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/load.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/match.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/numbers.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/pure.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/read.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/signal.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/strings.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/symprop.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/syntax.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/system.scm
+guile/1.8/share/guile/1.8/lang/elisp/primitives/time.scm
+guile/1.8/share/guile/1.8/lang/elisp/transform.scm
+guile/1.8/share/guile/1.8/lang/elisp/variables.scm
+guile/1.8/share/guile/1.8/oop/goops.scm
+guile/1.8/share/guile/1.8/oop/goops/accessors.scm
+guile/1.8/share/guile/1.8/oop/goops/active-slot.scm
+guile/1.8/share/guile/1.8/oop/goops/compile.scm
+guile/1.8/share/guile/1.8/oop/goops/composite-slot.scm
+guile/1.8/share/guile/1.8/oop/goops/describe.scm
+guile/1.8/share/guile/1.8/oop/goops/dispatch.scm
+guile/1.8/share/guile/1.8/oop/goops/internal.scm
+guile/1.8/share/guile/1.8/oop/goops/old-define-method.scm
+guile/1.8/share/guile/1.8/oop/goops/save.scm
+guile/1.8/share/guile/1.8/oop/goops/simple.scm
+guile/1.8/share/guile/1.8/oop/goops/stklos.scm
+guile/1.8/share/guile/1.8/oop/goops/util.scm
+guile/1.8/share/guile/1.8/scripts/PROGRAM
+guile/1.8/share/guile/1.8/scripts/api-diff
+guile/1.8/share/guile/1.8/scripts/autofrisk
+guile/1.8/share/guile/1.8/scripts/display-commentary
+guile/1.8/share/guile/1.8/scripts/doc-snarf
+guile/1.8/share/guile/1.8/scripts/frisk
+guile/1.8/share/guile/1.8/scripts/generate-autoload
+guile/1.8/share/guile/1.8/scripts/lint
+guile/1.8/share/guile/1.8/scripts/punify
+guile/1.8/share/guile/1.8/scripts/read-rfc822
+guile/1.8/share/guile/1.8/scripts/read-scheme-source
+guile/1.8/share/guile/1.8/scripts/read-text-outline
+guile/1.8/share/guile/1.8/scripts/scan-api
+guile/1.8/share/guile/1.8/scripts/snarf-check-and-output-texi
+guile/1.8/share/guile/1.8/scripts/snarf-guile-m4-docs
+guile/1.8/share/guile/1.8/scripts/summarize-guile-TODO
+guile/1.8/share/guile/1.8/scripts/use2dot
+guile/1.8/share/guile/1.8/srfi/srfi-1.scm
+guile/1.8/share/guile/1.8/srfi/srfi-10.scm
+guile/1.8/share/guile/1.8/srfi/srfi-11.scm
+guile/1.8/share/guile/1.8/srfi/srfi-13.scm
+guile/1.8/share/guile/1.8/srfi/srfi-14.scm
+guile/1.8/share/guile/1.8/srfi/srfi-16.scm
+guile/1.8/share/guile/1.8/srfi/srfi-17.scm
+guile/1.8/share/guile/1.8/srfi/srfi-19.scm
+guile/1.8/share/guile/1.8/srfi/srfi-2.scm
+guile/1.8/share/guile/1.8/srfi/srfi-26.scm
+guile/1.8/share/guile/1.8/srfi/srfi-31.scm
+guile/1.8/share/guile/1.8/srfi/srfi-34.scm
+guile/1.8/share/guile/1.8/srfi/srfi-35.scm
+guile/1.8/share/guile/1.8/srfi/srfi-37.scm
+guile/1.8/share/guile/1.8/srfi/srfi-39.scm
+guile/1.8/share/guile/1.8/srfi/srfi-4.scm
+guile/1.8/share/guile/1.8/srfi/srfi-6.scm
+guile/1.8/share/guile/1.8/srfi/srfi-60.scm
+guile/1.8/share/guile/1.8/srfi/srfi-69.scm
+guile/1.8/share/guile/1.8/srfi/srfi-8.scm
+guile/1.8/share/guile/1.8/srfi/srfi-88.scm
+guile/1.8/share/guile/1.8/srfi/srfi-9.scm
+@pkgdir share/guile/site
diff --git a/lang/guile18/buildlink3.mk b/lang/guile18/buildlink3.mk
new file mode 100644
index 00000000000..b418bae931d
--- /dev/null
+++ b/lang/guile18/buildlink3.mk
@@ -0,0 +1,25 @@
+# $NetBSD: buildlink3.mk,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+BUILDLINK_TREE+= guile
+
+.if !defined(GUILE_BUILDLINK3_MK)
+GUILE_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.guile+= guile18>=1.8.1
+BUILDLINK_ABI_DEPENDS.guile+= guile18>=1.8.8nb8
+BUILDLINK_PKGSRCDIR.guile?= ../../lang/guile18
+
+BUILDLINK_PASSTHRU_DIRS+= ${PREFIX}/guile/1.8
+BUILDLINK_FILES.guile+= guile/1.8/bin/*
+BUILDLINK_FNAME_TRANSFORM.guile+= -e s,guile/1.8/bin,bin,
+BUILDLINK_FNAME_TRANSFORM.guile+= -e s,guile/1.8/lib/pkgconfig,lib/pkgconfig,
+
+GUILE_SUBDIR= guile/1.8
+
+.include "../../devel/gmp/buildlink3.mk"
+.include "../../devel/libltdl/buildlink3.mk"
+.include "../../devel/readline/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.endif # GUILE_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -guile
diff --git a/lang/guile18/distinfo b/lang/guile18/distinfo
new file mode 100644
index 00000000000..c2c9fb9017a
--- /dev/null
+++ b/lang/guile18/distinfo
@@ -0,0 +1,22 @@
+$NetBSD: distinfo,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+BLAKE2s (guile-1.8.8.tar.gz) = d88b78ca7bc9bad1505333e4b696b23a795cbcd433e87295a64995d46811a851
+SHA512 (guile-1.8.8.tar.gz) = ede6feb90cd419d8763feb8c5169275490a653919573c4dfced025b74cf591072b3a10ffb9a3f6ee3fe7b0a0956ffcf434e0859b421455c8349cea56bf427db0
+Size (guile-1.8.8.tar.gz) = 3956654 bytes
+SHA1 (patch-aa) = 9f697e63f253665c1a1afa3c2827195b9b7638f3
+SHA1 (patch-ae) = d7dfd787ce9e89e33ce954de064b81068a1e08f9
+SHA1 (patch-ag) = 8aeb781ba43597f37b1ce4aaa2fb0baba2e4ce9c
+SHA1 (patch-ah) = 351136075aaaab96117fecc7cedc8ee989d8a1e0
+SHA1 (patch-ak) = 6639ea95471a76893b0b074dcbfbd139a1571309
+SHA1 (patch-al) = 6a5fb3136028bb5a5185ce7174a20d5f9d227e18
+SHA1 (patch-am) = 7a549811ef98f40a6a87f31840109ee2a091489b
+SHA1 (patch-an) = 89ee76c4e74a7af3a5e2a8e65d889292de1768f1
+SHA1 (patch-ao) = b648826c5e951cd98ca6e2cdf48435cbdba096ff
+SHA1 (patch-doc_ref_api-compound.texi) = ba389b94b94abc8944851b35d2d63f920ef7b0ab
+SHA1 (patch-doc_ref_fdl.texi) = c7e70f9b30f792dd38c18550739673d255f9fc5c
+SHA1 (patch-doc_ref_gh.texi) = b6b841102111d5c5813ba729c9c0ebfb3d6ca1e0
+SHA1 (patch-doc_tutorial_guile-tut.texi) = 5ad2c5942dc7715344115847793bd4f2eaacd7ca
+SHA1 (patch-libguile_Makefile.in) = ea219cc894d92ec92b409846876e2eff21382107
+SHA1 (patch-libguile_dynl.c) = 01ec790842d003eaba3500ab79ba9d4e77d925d6
+SHA1 (patch-libguile_guile-snarf-docs.in) = 392b0774a8d21bc06f2cf741683773b918bc8ffb
+SHA1 (patch-libguile_guile-snarf.in) = d534adce77040d441b0771efc536bc7e8560365d
diff --git a/lang/guile18/patches/patch-aa b/lang/guile18/patches/patch-aa
new file mode 100644
index 00000000000..675180ada99
--- /dev/null
+++ b/lang/guile18/patches/patch-aa
@@ -0,0 +1,17 @@
+$NetBSD: patch-aa,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+### Fix brokenness where the guile standalone program immediately crashes on startup.
+### See http://lists.gnu.org/archive/html/guile-user/2009-12/msg00019.html
+### for details. This was observed on NetBSD-5.1/alpha
+
+--- libguile/eval.c.orig 2010-12-13 17:24:39.000000000 +0000
++++ libguile/eval.c
+@@ -3099,7 +3099,7 @@ scm_t_option scm_debug_opts[] = {
+ { SCM_OPTION_INTEGER, "depth", 20, "Maximal length of printed backtrace." },
+ { SCM_OPTION_BOOLEAN, "backtrace", 0, "Show backtrace on error." },
+ { SCM_OPTION_BOOLEAN, "debug", 0, "Use the debugging evaluator." },
+- { SCM_OPTION_INTEGER, "stack", 20000, "Stack size limit (measured in words; 0 = no check)." },
++ { SCM_OPTION_INTEGER, "stack", 60000, "Stack size limit (measured in words; 0 = no check)." },
+ { SCM_OPTION_SCM, "show-file-name", (unsigned long)SCM_BOOL_T, "Show file names and line numbers in backtraces when not `#f'. A value of `base' displays only base names, while `#t' displays full names."},
+ { SCM_OPTION_BOOLEAN, "warn-deprecated", 0, "Warn when deprecated features are used." }
+ };
diff --git a/lang/guile18/patches/patch-ae b/lang/guile18/patches/patch-ae
new file mode 100644
index 00000000000..0483bcaafe1
--- /dev/null
+++ b/lang/guile18/patches/patch-ae
@@ -0,0 +1,95 @@
+$NetBSD: patch-ae,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+--- libguile/gc_os_dep.c.orig 2010-12-13 17:25:01.000000000 +0000
++++ libguile/gc_os_dep.c
+@@ -132,7 +132,7 @@ typedef int GC_bool;
+ # define NETBSD
+ # define mach_type_known
+ # endif
+-# if defined(__NetBSD__) && defined(__sparc__)
++# if defined(__NetBSD__) && (defined(__sparc__) || defined(__sparc_v9__))
+ # define SPARC
+ # define NETBSD
+ # define mach_type_known
+@@ -304,6 +304,11 @@ typedef int GC_bool;
+ # define NETBSD
+ # define mach_type_known
+ # endif
++# if defined(__NetBSD__) && defined(__x86_64__)
++# define X86_64
++# define NETBSD
++# define mach_type_known
++# endif
+ # if defined(bsdi) && defined(i386)
+ # define I386
+ # define BSDI
+@@ -444,12 +449,12 @@ scm_get_stack_base ()
+ /*
+ * For each architecture and OS, the following need to be defined:
+ *
+- * CPP_WORD_SZ is a simple integer constant representing the word size.
++ * CPP_WORDSZ is a simple integer constant representing the word size.
+ * in bits. We assume byte addressibility, where a byte has 8 bits.
+- * We also assume CPP_WORD_SZ is either 32 or 64.
++ * We also assume CPP_WORDSZ is either 32 or 64.
+ * (We care about the length of pointers, not hardware
+ * bus widths. Thus a 64 bit processor with a C compiler that uses
+- * 32 bit pointers should use CPP_WORD_SZ of 32, not 64. Default is 32.)
++ * 32 bit pointers should use CPP_WORDSZ of 32, not 64. Default is 32.)
+ *
+ * MACH_TYPE is a string representation of the machine type.
+ * OS_TYPE is analogous for the OS.
+@@ -716,8 +721,6 @@ scm_get_stack_base ()
+ /* base is a property of the executable, so this should not break */
+ /* old executables. */
+ /* HEURISTIC2 probably works, but this appears to be preferable. */
+-# include <sys/vm.h>
+-# define STACKBOTTOM ((ptr_t) USRSTACK)
+ # ifndef USE_MMAP
+ # define USE_MMAP
+ # endif
+@@ -727,10 +730,18 @@ scm_get_stack_base ()
+ # define HEAP_START DATAEND
+ # endif
+ # define PROC_VDB
+-/* HEURISTIC1 reportedly no longer works under 2.7. Thus we */
+-/* switched to HEURISTIC2, eventhough it creates some debugging */
+-/* issues. */
+-# define HEURISTIC2
++/* HEURISTIC1 reportedly no longer works under 2.7. */
++/* HEURISTIC2 probably works, but this appears to be preferable. */
++/* Apparently USRSTACK is defined to be USERLIMIT, but in some */
++/* installations that's undefined. We work around this with a */
++/* gross hack: */
++# include <sys/vmparam.h>
++# ifdef USERLIMIT
++ /* This should work everywhere, but doesn't. */
++# define STACKBOTTOM USRSTACK
++# else
++# define HEURISTIC2
++# endif
+ # include <unistd.h>
+ # define GETPAGESIZE() sysconf(_SC_PAGESIZE)
+ /* getpagesize() appeared to be missing from at least one */
+@@ -1008,6 +1019,21 @@ scm_get_stack_base ()
+ # endif
+ # endif
+
++# ifdef X86_64
++# define MACH_TYPE "X86_64"
++# define ALIGNMENT 8
++# define ALIGN_DOUBLE
++# define CPP_WORDSZ 64
++# ifdef NETBSD
++# define OS_TYPE "NETBSD"
++# endif
++# if defined(NETBSD)
++# define HEURISTIC2
++ extern char etext;
++# define DATASTART ((ptr_t)(&etext))
++# endif
++# endif
++
+ # ifdef NS32K
+ # define MACH_TYPE "NS32K"
+ # define ALIGNMENT 4
diff --git a/lang/guile18/patches/patch-ag b/lang/guile18/patches/patch-ag
new file mode 100644
index 00000000000..2796e816fd9
--- /dev/null
+++ b/lang/guile18/patches/patch-ag
@@ -0,0 +1,19 @@
+$NetBSD: patch-ag,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+solaris-2.9 does not have stdint.h but does have inttypes.h
+
+--- libguile/c-tokenize.c.orig 2007-06-13 18:00:56.000000000 -0400
++++ libguile/c-tokenize.c
+@@ -39,7 +39,12 @@
+ #define __STDC_LIMIT_MACROS 1
+ #endif
+
++#ifdef HAVE_STDINT_H
++#include <stdint.h> /* May break IA64 test-noansi-r */
++#else
+ #include <inttypes.h>
++#endif
++
+ typedef int8_t flex_int8_t;
+ typedef uint8_t flex_uint8_t;
+ typedef int16_t flex_int16_t;
diff --git a/lang/guile18/patches/patch-ah b/lang/guile18/patches/patch-ah
new file mode 100644
index 00000000000..1122983ffe1
--- /dev/null
+++ b/lang/guile18/patches/patch-ah
@@ -0,0 +1,14 @@
+$NetBSD: patch-ah,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+--- guile-config/guile-config.in.orig 2008-12-04 13:30:41.000000000 -0500
++++ guile-config/guile-config.in
+@@ -154,7 +154,8 @@
+ (if (or (string=? libdir "/usr/lib")
+ (string=? libdir "/usr/lib/"))
+ ""
+- (string-append "-L" (get-build-info 'libdir)))
++ (string-append "-L" (get-build-info 'libdir)
++ " -Wl,-R" (get-build-info 'libdir)))
+ "-lguile -lltdl"
+ (string-join other-flags)
+
diff --git a/lang/guile18/patches/patch-ak b/lang/guile18/patches/patch-ak
new file mode 100644
index 00000000000..988631332a1
--- /dev/null
+++ b/lang/guile18/patches/patch-ak
@@ -0,0 +1,15 @@
+$NetBSD: patch-ak,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+--- libguile/null-threads.c.orig 2008-01-04 14:43:50.000000000 +0100
++++ libguile/null-threads.c
+@@ -47,8 +47,10 @@ int
+ scm_i_pthread_key_create (scm_i_pthread_key_t *key,
+ void (*destr_func) (void *))
+ {
++#if 0 /* keys are needed by other atexit() functions */
+ if (all_keys == NULL)
+ atexit (destroy_keys);
++#endif
+
+ key->next = all_keys;
+ all_keys = key;
diff --git a/lang/guile18/patches/patch-al b/lang/guile18/patches/patch-al
new file mode 100644
index 00000000000..77e0c795631
--- /dev/null
+++ b/lang/guile18/patches/patch-al
@@ -0,0 +1,13 @@
+$NetBSD: patch-al,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+--- Makefile.in.orig 2008-06-02 17:57:21.000000000 +0200
++++ Makefile.in
+@@ -309,7 +309,7 @@ top_srcdir_absolute = @top_srcdir_absolu
+ # config.rpath is needed
+ #
+ AUTOMAKE_OPTIONS = 1.10
+-SUBDIRS = oop libguile ice-9 guile-config guile-readline emacs \
++SUBDIRS = oop libguile ice-9 guile-config guile-readline \
+ scripts srfi doc examples test-suite benchmark-suite lang am
+
+ bin_SCRIPTS = guile-tools
diff --git a/lang/guile18/patches/patch-am b/lang/guile18/patches/patch-am
new file mode 100644
index 00000000000..5ee34433454
--- /dev/null
+++ b/lang/guile18/patches/patch-am
@@ -0,0 +1,26 @@
+$NetBSD: patch-am,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+--- configure.orig 2010-12-13 22:29:32.000000000 +0300
++++ configure 2010-12-25 08:12:25.000000000 +0300
+@@ -19627,7 +19627,7 @@
+ # all; specific to MacOS X
+ # pthread_sigmask - not available on mingw
+ #
+- for ac_func in pthread_attr_getstack pthread_getattr_np pthread_get_stackaddr_np pthread_sigmask
++ for ac_func in pthread_attr_getstack pthread_getattr_np pthread_get_stackaddr_np pthread_sigmask pthread_attr_get_np
+ do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+@@ -19820,7 +19820,12 @@
+ void *start, *end;
+ size_t size;
+
++#if HAVE_PTHREAD_ATTR_GET_NP
++ pthread_attr_init(&attr);
++ pthread_attr_get_np(pthread_self (), &attr);
++#else
+ pthread_getattr_np (pthread_self (), &attr);
++#endif
+ pthread_attr_getstack (&attr, &start, &size);
+ end = (char *)start + size;
+
diff --git a/lang/guile18/patches/patch-an b/lang/guile18/patches/patch-an
new file mode 100644
index 00000000000..53f5d2564c5
--- /dev/null
+++ b/lang/guile18/patches/patch-an
@@ -0,0 +1,14 @@
+$NetBSD: patch-an,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+--- config.h.in.orig 2008-12-08 18:49:18.000000000 +0100
++++ config.h.in
+@@ -436,6 +436,9 @@ Boston, MA 02110-1301, USA.
+ /* Define to 1 if you have the `pthread_getattr_np' function. */
+ #undef HAVE_PTHREAD_GETATTR_NP
+
++/* XXX manually patched */
++#undef HAVE_PTHREAD_ATTR_GET_NP
++
+ /* Define to 1 if you have the `pthread_get_stackaddr_np' function. */
+ #undef HAVE_PTHREAD_GET_STACKADDR_NP
+
diff --git a/lang/guile18/patches/patch-ao b/lang/guile18/patches/patch-ao
new file mode 100644
index 00000000000..3acc6a40944
--- /dev/null
+++ b/lang/guile18/patches/patch-ao
@@ -0,0 +1,31 @@
+$NetBSD: patch-ao,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+--- libguile/threads.c.orig 2008-12-08 18:42:56.000000000 +0100
++++ libguile/threads.c
+@@ -624,7 +624,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. */
+@@ -637,9 +637,17 @@ get_thread_stack_base ()
+ void *start, *end;
+ size_t size;
+
++#ifdef HAVE_PTHREAD_ATTR_GET_NP
++ pthread_attr_init(&attr);
++ pthread_attr_get_np(pthread_self (), &attr);
++#else
+ pthread_getattr_np (pthread_self (), &attr);
++#endif
+ pthread_attr_getstack (&attr, &start, &size);
+ end = (char *)start + size;
++#ifdef HAVE_PTHREAD_ATTR_GET_NP
++ pthread_attr_destroy(&attr);
++#endif
+
+ /* XXX - pthread_getattr_np from LinuxThreads does not seem to work
+ for the main thread, but we can use scm_get_stack_base in that
diff --git a/lang/guile18/patches/patch-doc_ref_api-compound.texi b/lang/guile18/patches/patch-doc_ref_api-compound.texi
new file mode 100644
index 00000000000..30e92fd95d4
--- /dev/null
+++ b/lang/guile18/patches/patch-doc_ref_api-compound.texi
@@ -0,0 +1,16 @@
+$NetBSD: patch-doc_ref_api-compound.texi,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+Remove an unnecessary non-breaking space character (code point 160)
+that caused GNU texinfo 6.7 to fail during parsing.
+
+--- doc/ref/api-compound.texi.orig 2010-12-13 17:24:39.000000000 +0000
++++ doc/ref/api-compound.texi
+@@ -905,7 +905,7 @@ Sets the element at position @var{idx} i
+ @end deftypefn
+
+ @deftypefn {C Function} {const SCM *} scm_vector_elements (SCM vec, scm_t_array_handle *handle, size_t *lenp, ssize_t *incp)
+-Acquire a handle for the vector @var{vec} and return a pointer to the
++Acquire a handle for the vector @var{vec} and return a pointer to the
+ elements of it. This pointer can only be used to read the elements of
+ @var{vec}. When @var{vec} is not a vector, an error is signaled. The
+ handle mustr eventually be released with
diff --git a/lang/guile18/patches/patch-doc_ref_fdl.texi b/lang/guile18/patches/patch-doc_ref_fdl.texi
new file mode 100644
index 00000000000..15f0ed1a553
--- /dev/null
+++ b/lang/guile18/patches/patch-doc_ref_fdl.texi
@@ -0,0 +1,15 @@
+$NetBSD: patch-doc_ref_fdl.texi,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+Compatibility with gtexinfo 5.2
+
+--- doc/ref/fdl.texi 2010-12-14 06:24:39.000000000 +1300
++++ doc/ref/fdl.texi 2013-11-30 19:41:13.088567436 +1300
+@@ -408,7 +408,7 @@
+ @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/guile18/patches/patch-doc_ref_gh.texi b/lang/guile18/patches/patch-doc_ref_gh.texi
new file mode 100644
index 00000000000..bb18f86cf8e
--- /dev/null
+++ b/lang/guile18/patches/patch-doc_ref_gh.texi
@@ -0,0 +1,15 @@
+$NetBSD: patch-doc_ref_gh.texi,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+Compatibility with gtexinfo 5.2
+
+--- doc/ref/gh.texi 2010-12-14 06:24:39.000000000 +1300
++++ doc/ref/gh.texi 2013-11-30 19:41:16.252567567 +1300
+@@ -995,8 +995,6 @@
+
+ @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/guile18/patches/patch-doc_tutorial_guile-tut.texi b/lang/guile18/patches/patch-doc_tutorial_guile-tut.texi
new file mode 100644
index 00000000000..59799351285
--- /dev/null
+++ b/lang/guile18/patches/patch-doc_tutorial_guile-tut.texi
@@ -0,0 +1,15 @@
+$NetBSD: patch-doc_tutorial_guile-tut.texi,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+Compatibility with gtexinfo 5.2
+
+--- doc/tutorial/guile-tut.texi 2010-12-14 06:24:39.000000000 +1300
++++ doc/tutorial/guile-tut.texi 2013-11-30 19:44:28.304575529 +1300
+@@ -446,7 +446,7 @@
+ 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
diff --git a/lang/guile18/patches/patch-libguile_Makefile.in b/lang/guile18/patches/patch-libguile_Makefile.in
new file mode 100644
index 00000000000..c2ceda96834
--- /dev/null
+++ b/lang/guile18/patches/patch-libguile_Makefile.in
@@ -0,0 +1,14 @@
+$NetBSD: patch-libguile_Makefile.in,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+Define libdir for use in dynl.
+
+--- libguile/Makefile.in.orig 2010-12-13 19:29:39.000000000 +0000
++++ libguile/Makefile.in
+@@ -2124,6 +2124,7 @@ libpath.h: $(srcdir)/Makefile.in $(top_
+ @echo '/* generated by Makefile */' > libpath.tmp
+ @echo '#define SCM_PKGDATA_DIR "$(pkgdatadir)"' >> libpath.tmp
+ @echo '#define SCM_LIBRARY_DIR "$(pkgdatadir)/$(GUILE_EFFECTIVE_VERSION)"'>>libpath.tmp
++ @echo '#define SCM_LIB_DIR "$(libdir)"'>>libpath.tmp
+ @echo '#define SCM_SITE_DIR "$(pkgdatadir)/site"' >> libpath.tmp
+ @echo '#define SCM_BUILD_INFO { \' >> libpath.tmp
+ @echo ' { "srcdir", "'"`cd @srcdir@; pwd`"'" }, \' >> libpath.tmp
diff --git a/lang/guile18/patches/patch-libguile_dynl.c b/lang/guile18/patches/patch-libguile_dynl.c
new file mode 100644
index 00000000000..5767923655f
--- /dev/null
+++ b/lang/guile18/patches/patch-libguile_dynl.c
@@ -0,0 +1,22 @@
+$NetBSD: patch-libguile_dynl.c,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+Add search path for bundled modules.
+
+--- libguile/dynl.c.orig 2010-12-13 17:24:39.000000000 +0000
++++ libguile/dynl.c
+@@ -56,6 +56,7 @@ maybe_drag_in_eprintf ()
+ #include "libguile/lang.h"
+ #include "libguile/validate.h"
+ #include "libguile/dynwind.h"
++#include "libguile/libpath.h"
+
+ #include <ltdl.h>
+
+@@ -73,6 +74,7 @@ maybe_drag_in_eprintf ()
+ static void *
+ sysdep_dynl_link (const char *fname, const char *subr)
+ {
++ lt_dladdsearchdir(SCM_LIB_DIR);
+ lt_dlhandle handle;
+ handle = lt_dlopenext (fname);
+ if (NULL == handle)
diff --git a/lang/guile18/patches/patch-libguile_guile-snarf-docs.in b/lang/guile18/patches/patch-libguile_guile-snarf-docs.in
new file mode 100644
index 00000000000..e5af19813cd
--- /dev/null
+++ b/lang/guile18/patches/patch-libguile_guile-snarf-docs.in
@@ -0,0 +1,11 @@
+$NetBSD: patch-libguile_guile-snarf-docs.in,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+--- libguile/guile-snarf-docs.in.orig 2013-09-29 06:57:32.000000000 +0000
++++ libguile/guile-snarf-docs.in
+@@ -23,4 +23,5 @@ bindir=`dirname $0`
+ ## Let the user override the preprocessor autoconf found.
+ test -n "${CPP+set}" || CPP="@CPP@"
+
+-${CPP} -DSCM_MAGIC_SNARF_DOCS "$@"
++${CPP} -DSCM_MAGIC_SNARF_DOCS "$@" | grep -v '^#' | sed 's,\^ *\^ {,\
++&,g'
diff --git a/lang/guile18/patches/patch-libguile_guile-snarf.in b/lang/guile18/patches/patch-libguile_guile-snarf.in
new file mode 100644
index 00000000000..2673b3a6327
--- /dev/null
+++ b/lang/guile18/patches/patch-libguile_guile-snarf.in
@@ -0,0 +1,14 @@
+$NetBSD: patch-libguile_guile-snarf.in,v 1.1 2022/03/07 20:34:16 wiz Exp $
+
+--- libguile/guile-snarf.in.orig 2010-12-13 17:24:40.000000000 +0000
++++ 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/\^\ *:\ *\^.*/;/"
++ grep -v '^#' ${temp} | tr '\n' ' ' | sed 's,\^ *\^,\
++&,g' | grep "^ *\^ *\^" | sed -e "s/^ *\^ *\^//" -e "s/\^\ *:\ *\^.*/;/"
+ }
+
+ ## main