# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= guile VERSION= 3.0.10 REVISION= 2 KEYWORDS= lang VARIANTS= std SDESC[std]= GNU Ubiquitous Intelligent Language for Extensions HOMEPAGE= https://www.gnu.org/software/guile/ CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= GNU/guile DISTFILE[1]= guile-3.0.10.tar.gz:main DF_INDEX= 1 SPKGS[std]= set primary dev man info OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BUILD_DEPENDS= gmp:dev:std boehm_garbage_collector:dev:threaded libunistring:dev:std libffi:dev:std BUILDRUN_DEPENDS= gmp:primary:std libffi:primary:std libunistring:primary:std boehm_garbage_collector:primary:threaded USES= gmake libtool ncurses pkgconfig readline iconv charsetfix cpe LICENSE= LGPL21+:primary LICENSE_TERMS= primary:{{WRKDIR}}/TERMS LICENSE_FILE= LGPL21+:{{WRKSRC}}/COPYING.LESSER LICENSE_AWK= TERMS:"^$$" LICENSE_SOURCE= TERMS:{{WRKSRC}}/libguile/guile.c LICENSE_SCHEME= solo INFO= info:guile info:r5rs CPE_VENDOR= gnu FPC_EQUIVALENT= lang/guile3 INFO_SUBDIR= . MUST_CONFIGURE= gnu CONFIGURE_ARGS= --enable-nls=no --enable-lto=no --with-threads MAKE_ENV= PAXCTL="{{PAXCTL}}" INSTALL_TARGET= install-strip INSTALL_REQ_TOOLCHAIN= yes SOVERSION= 1.7.0 PLIST_SUB= GUILE_VER=3.0 RLSOVERSION=0.0.0 RLSOMAJOR=0 SUB_FILES= scripts-primary.ucl SUB_LIST= GUILE_VER=3.0 SET_DEBUGGING_ON= yes OPTIMIZER_LEVEL= 0 VAR_OPSYS[freebsd]= CONFIGURE_ENV=ac_cv_func_posix_spawn_file_actions_addclosefrom_np=no VAR_OPSYS[netbsd]= CONFIGURE_ARGS=--enable-jit=no [FILE:322:descriptions/desc.primary] 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. [FILE:98:distinfo] 2dbdbc97598b2faf31013564efb48e4fed44131d28e996c26abe8a5b23b56c2a 9738824 guile-3.0.10.tar.gz [FILE:13093:manifests/plist.primary] bin/ guild guile guile-snarf guile-tools lib/ libguile-%%GUILE_VER%%.so.%%SOMAJOR%% libguile-%%GUILE_VER%%.so.%%SOVERSION%% libguile-%%GUILE_VER%%.so.%%SOVERSION%%-gdb.scm lib/guile/%%GUILE_VER%%/ccache/ rnrs.go statprof.go texinfo.go lib/guile/%%GUILE_VER%%/ccache/ice-9/ and-let-star.go arrays.go atomic.go binary-ports.go boot-9.go buffered-input.go calling.go command-line.go common-list.go control.go copy-tree.go curried-definitions.go custom-ports.go deprecated.go documentation.go eval-string.go eval.go exceptions.go expect.go fdes-finalizers.go format.go ftw.go futures.go gap-buffer.go getopt-long.go hash-table.go hcons.go history.go i18n.go iconv.go lineio.go list.go local-eval.go ls.go match.go networking.go null.go occam-channel.go optargs.go peg.go poe.go poll.go popen.go ports.go posix.go pretty-print.go psyntax-pp.go q.go r5rs.go rdelim.go readline.go receive.go regex.go runq.go rw.go safe-r5rs.go safe.go sandbox.go save-stack.go scm-style-repl.go serialize.go session.go slib.go soft-ports.go stack-catch.go streams.go string-fun.go suspendable-ports.go textual-ports.go threads.go time.go top-repl.go unicode.go vlist.go weak-vector.go lib/guile/%%GUILE_VER%%/ccache/ice-9/peg/ cache.go codegen.go simplify-tree.go string-peg.go using-parsers.go lib/guile/%%GUILE_VER%%/ccache/language/ bytecode.go cps.go tree-il.go wisp.go lib/guile/%%GUILE_VER%%/ccache/language/brainfuck/ compile-scheme.go compile-tree-il.go parse.go spec.go lib/guile/%%GUILE_VER%%/ccache/language/bytecode/spec.go lib/guile/%%GUILE_VER%%/ccache/language/cps/ closure-conversion.go compile-bytecode.go contification.go cse.go dce.go devirtualize-integers.go dump.go effects-analysis.go elide-arity-checks.go graphs.go guile-vm.go intmap.go intset.go licm.go optimize.go peel-loops.go prune-top-level-scopes.go renumber.go return-types.go rotate-loops.go self-references.go simplify.go slot-allocation.go spec.go specialize-numbers.go specialize-primcalls.go split-rec.go switch.go type-checks.go type-fold.go types.go utils.go verify.go with-cps.go lib/guile/%%GUILE_VER%%/ccache/language/cps/guile-vm/ loop-instrumentation.go lower-primcalls.go reify-primitives.go lib/guile/%%GUILE_VER%%/ccache/language/ecmascript/ array.go base.go compile-tree-il.go function.go impl.go parse.go spec.go tokenize.go lib/guile/%%GUILE_VER%%/ccache/language/elisp/ bindings.go boot.go compile-tree-il.go falias.go lexer.go parser.go runtime.go spec.go lib/guile/%%GUILE_VER%%/ccache/language/elisp/runtime/ function-slot.go value-slot.go lib/guile/%%GUILE_VER%%/ccache/language/scheme/ compile-tree-il.go decompile-tree-il.go spec.go lib/guile/%%GUILE_VER%%/ccache/language/tree-il/ analyze.go compile-bytecode.go compile-cps.go cps-primitives.go debug.go demux-lambda.go effects.go eta-expand.go fix-letrec.go inlinable-exports.go letrectify.go optimize.go peval.go primitives.go resolve-free-vars.go spec.go lib/guile/%%GUILE_VER%%/ccache/language/value/spec.go lib/guile/%%GUILE_VER%%/ccache/language/wisp/spec.go lib/guile/%%GUILE_VER%%/ccache/oop/goops.go lib/guile/%%GUILE_VER%%/ccache/oop/goops/ accessors.go active-slot.go composite-slot.go describe.go internal.go save.go simple.go stklos.go lib/guile/%%GUILE_VER%%/ccache/rnrs/ base.go bytevectors.go conditions.go control.go enums.go eval.go exceptions.go files.go hashtables.go lists.go mutable-pairs.go mutable-strings.go programs.go r5rs.go sorting.go syntax-case.go unicode.go lib/guile/%%GUILE_VER%%/ccache/rnrs/arithmetic/ bitwise.go fixnums.go flonums.go lib/guile/%%GUILE_VER%%/ccache/rnrs/bytevectors/gnu.go lib/guile/%%GUILE_VER%%/ccache/rnrs/io/ ports.go simple.go lib/guile/%%GUILE_VER%%/ccache/rnrs/records/ inspection.go procedural.go syntactic.go lib/guile/%%GUILE_VER%%/ccache/scheme/ base.go case-lambda.go char.go complex.go cxr.go eval.go file.go inexact.go lazy.go load.go process-context.go r5rs.go read.go repl.go time.go write.go lib/guile/%%GUILE_VER%%/ccache/scripts/ api-diff.go autofrisk.go compile.go disassemble.go display-commentary.go doc-snarf.go frisk.go generate-autoload.go help.go lint.go list.go punify.go read-rfc822.go read-scheme-source.go read-text-outline.go scan-api.go snarf-check-and-output-texi.go snarf-guile-m4-docs.go summarize-guile-TODO.go use2dot.go lib/guile/%%GUILE_VER%%/ccache/srfi/ srfi-1.go srfi-10.go srfi-11.go srfi-111.go srfi-13.go srfi-14.go srfi-16.go srfi-17.go srfi-171.go srfi-18.go srfi-19.go srfi-2.go srfi-26.go srfi-27.go srfi-28.go srfi-31.go srfi-34.go srfi-35.go srfi-37.go srfi-38.go srfi-39.go srfi-4.go srfi-41.go srfi-42.go srfi-43.go srfi-45.go srfi-6.go srfi-60.go srfi-64.go srfi-67.go srfi-69.go srfi-71.go srfi-8.go srfi-88.go srfi-9.go srfi-98.go lib/guile/%%GUILE_VER%%/ccache/srfi/srfi-171/ gnu.go meta.go lib/guile/%%GUILE_VER%%/ccache/srfi/srfi-4/gnu.go lib/guile/%%GUILE_VER%%/ccache/srfi/srfi-9/gnu.go lib/guile/%%GUILE_VER%%/ccache/sxml/ apply-templates.go fold.go match.go simple.go ssax.go transform.go xpath.go lib/guile/%%GUILE_VER%%/ccache/sxml/ssax/input-parse.go lib/guile/%%GUILE_VER%%/ccache/system/ foreign-library.go foreign-object.go foreign.go syntax.go xref.go lib/guile/%%GUILE_VER%%/ccache/system/base/ ck.go compile.go lalr.go language.go message.go optimize.go pmatch.go syntax.go target.go types.go lib/guile/%%GUILE_VER%%/ccache/system/base/types/internal.go lib/guile/%%GUILE_VER%%/ccache/system/repl/ command.go common.go coop-server.go debug.go error-handling.go repl.go server.go lib/guile/%%GUILE_VER%%/ccache/system/vm/ assembler.go coverage.go debug.go disassembler.go dwarf.go elf.go frame.go inspect.go linker.go loader.go program.go trace.go trap-state.go traps.go vm.go lib/guile/%%GUILE_VER%%/ccache/texinfo/ docbook.go html.go indexing.go plain-text.go reflection.go serialize.go string-utils.go lib/guile/%%GUILE_VER%%/ccache/web/ client.go http.go request.go response.go server.go uri.go lib/guile/%%GUILE_VER%%/ccache/web/server/http.go lib/guile/%%GUILE_VER%%/extensions/ guile-readline.a guile-readline.so guile-readline.so.%%RLSOMAJOR%% guile-readline.so.%%RLSOVERSION%% lib/pkgconfig/guile-%%GUILE_VER%%.pc share/aclocal/guile.m4 share/guile/%%GUILE_VER%%/ guile-procedures.txt rnrs.scm statprof.scm texinfo.scm share/guile/%%GUILE_VER%%/ice-9/ and-let-star.scm arrays.scm atomic.scm binary-ports.scm boot-9.scm buffered-input.scm calling.scm command-line.scm common-list.scm control.scm copy-tree.scm curried-definitions.scm custom-ports.scm deprecated.scm documentation.scm eval-string.scm eval.scm exceptions.scm expect.scm fdes-finalizers.scm format.scm ftw.scm futures.scm gap-buffer.scm getopt-long.scm hash-table.scm hcons.scm history.scm i18n.scm iconv.scm lineio.scm list.scm local-eval.scm ls.scm match.scm match.upstream.scm networking.scm null.scm occam-channel.scm optargs.scm peg.scm poe.scm poll.scm popen.scm ports.scm posix.scm pretty-print.scm psyntax-pp.scm psyntax.scm q.scm quasisyntax.scm r5rs.scm r6rs-libraries.scm r7rs-libraries.scm rdelim.scm read.scm readline.scm receive.scm regex.scm runq.scm rw.scm safe-r5rs.scm safe.scm sandbox.scm save-stack.scm scm-style-repl.scm serialize.scm session.scm slib.scm soft-ports.scm stack-catch.scm streams.scm string-fun.scm suspendable-ports.scm textual-ports.scm threads.scm time.scm top-repl.scm unicode.scm vlist.scm weak-vector.scm share/guile/%%GUILE_VER%%/ice-9/peg/ cache.scm codegen.scm simplify-tree.scm string-peg.scm using-parsers.scm share/guile/%%GUILE_VER%%/language/ bytecode.scm cps.scm tree-il.scm wisp.scm share/guile/%%GUILE_VER%%/language/brainfuck/ compile-scheme.scm compile-tree-il.scm parse.scm spec.scm share/guile/%%GUILE_VER%%/language/bytecode/spec.scm share/guile/%%GUILE_VER%%/language/cps/ closure-conversion.scm compile-bytecode.scm contification.scm cse.scm dce.scm devirtualize-integers.scm dump.scm effects-analysis.scm elide-arity-checks.scm graphs.scm guile-vm.scm intmap.scm intset.scm licm.scm optimize.scm peel-loops.scm prune-top-level-scopes.scm renumber.scm return-types.scm rotate-loops.scm self-references.scm simplify.scm slot-allocation.scm spec.scm specialize-numbers.scm specialize-primcalls.scm split-rec.scm switch.scm type-checks.scm type-fold.scm types.scm utils.scm verify.scm with-cps.scm share/guile/%%GUILE_VER%%/language/cps/guile-vm/ loop-instrumentation.scm lower-primcalls.scm reify-primitives.scm share/guile/%%GUILE_VER%%/language/ecmascript/ array.scm base.scm compile-tree-il.scm function.scm impl.scm parse.scm spec.scm tokenize.scm share/guile/%%GUILE_VER%%/language/elisp/ bindings.scm boot.el compile-tree-il.scm falias.scm lexer.scm parser.scm runtime.scm spec.scm share/guile/%%GUILE_VER%%/language/elisp/runtime/ function-slot.scm value-slot.scm share/guile/%%GUILE_VER%%/language/scheme/ compile-tree-il.scm decompile-tree-il.scm spec.scm share/guile/%%GUILE_VER%%/language/tree-il/ analyze.scm compile-bytecode.scm compile-cps.scm cps-primitives.scm debug.scm demux-lambda.scm effects.scm eta-expand.scm fix-letrec.scm inlinable-exports.scm letrectify.scm optimize.scm peval.scm primitives.scm resolve-free-vars.scm spec.scm share/guile/%%GUILE_VER%%/language/value/spec.scm share/guile/%%GUILE_VER%%/language/wisp/spec.scm share/guile/%%GUILE_VER%%/oop/goops.scm share/guile/%%GUILE_VER%%/oop/goops/ accessors.scm active-slot.scm composite-slot.scm describe.scm internal.scm save.scm simple.scm stklos.scm share/guile/%%GUILE_VER%%/rnrs/ base.scm bytevectors.scm conditions.scm control.scm enums.scm eval.scm exceptions.scm files.scm hashtables.scm lists.scm mutable-pairs.scm mutable-strings.scm programs.scm r5rs.scm sorting.scm syntax-case.scm unicode.scm share/guile/%%GUILE_VER%%/rnrs/arithmetic/ bitwise.scm fixnums.scm flonums.scm share/guile/%%GUILE_VER%%/rnrs/bytevectors/gnu.scm share/guile/%%GUILE_VER%%/rnrs/io/ ports.scm simple.scm share/guile/%%GUILE_VER%%/rnrs/records/ inspection.scm procedural.scm syntactic.scm share/guile/%%GUILE_VER%%/scheme/ base.scm case-lambda.scm char.scm complex.scm cxr.scm eval.scm file.scm inexact.scm lazy.scm load.scm process-context.scm r5rs.scm read.scm repl.scm time.scm write.scm share/guile/%%GUILE_VER%%/scripts/ api-diff.scm autofrisk.scm compile.scm disassemble.scm display-commentary.scm doc-snarf.scm frisk.scm generate-autoload.scm help.scm lint.scm list.scm punify.scm read-rfc822.scm read-scheme-source.scm read-text-outline.scm scan-api.scm snarf-check-and-output-texi.scm snarf-guile-m4-docs.scm summarize-guile-TODO.scm use2dot.scm share/guile/%%GUILE_VER%%/srfi/ srfi-1.scm srfi-10.scm srfi-11.scm srfi-111.scm srfi-13.scm srfi-14.scm srfi-16.scm srfi-17.scm srfi-171.scm srfi-18.scm srfi-19.scm srfi-2.scm srfi-26.scm srfi-27.scm srfi-28.scm srfi-31.scm srfi-34.scm srfi-35.scm srfi-37.scm srfi-38.scm srfi-39.scm srfi-4.scm srfi-41.scm srfi-42.scm srfi-43.scm srfi-45.scm srfi-6.scm srfi-60.scm srfi-64.scm srfi-67.scm srfi-69.scm srfi-71.scm srfi-8.scm srfi-88.scm srfi-9.scm srfi-98.scm share/guile/%%GUILE_VER%%/srfi/srfi-171/ gnu.scm meta.scm share/guile/%%GUILE_VER%%/srfi/srfi-4/gnu.scm share/guile/%%GUILE_VER%%/srfi/srfi-42/ec.scm share/guile/%%GUILE_VER%%/srfi/srfi-64/testing.scm share/guile/%%GUILE_VER%%/srfi/srfi-67/compare.scm share/guile/%%GUILE_VER%%/srfi/srfi-9/gnu.scm share/guile/%%GUILE_VER%%/sxml/ apply-templates.scm fold.scm match.scm simple.scm ssax.scm sxml-match.ss transform.scm xpath.scm share/guile/%%GUILE_VER%%/sxml/ssax/input-parse.scm share/guile/%%GUILE_VER%%/sxml/upstream/ SSAX.scm SXML-tree-trans.scm SXPath-old.scm assert.scm input-parse.scm share/guile/%%GUILE_VER%%/system/ foreign-library.scm foreign-object.scm foreign.scm syntax.scm xref.scm share/guile/%%GUILE_VER%%/system/base/ ck.scm compile.scm lalr.scm lalr.upstream.scm language.scm message.scm optimize.scm pmatch.scm syntax.scm target.scm types.scm share/guile/%%GUILE_VER%%/system/base/types/internal.scm share/guile/%%GUILE_VER%%/system/repl/ command.scm common.scm coop-server.scm debug.scm describe.scm error-handling.scm repl.scm server.scm share/guile/%%GUILE_VER%%/system/vm/ assembler.scm coverage.scm debug.scm disassembler.scm dwarf.scm elf.scm frame.scm inspect.scm linker.scm loader.scm program.scm trace.scm trap-state.scm traps.scm vm.scm share/guile/%%GUILE_VER%%/texinfo/ docbook.scm html.scm indexing.scm plain-text.scm reflection.scm serialize.scm string-utils.scm share/guile/%%GUILE_VER%%/web/ client.scm http.scm request.scm response.scm server.scm uri.scm share/guile/%%GUILE_VER%%/web/server/http.scm [FILE:1543:manifests/plist.dev] bin/guile-config include/guile/%%GUILE_VER%%/ libguile.h readline.h include/guile/%%GUILE_VER%%/libguile/ __scm.h alist.h array-handle.h array-map.h arrays.h async.h atomic.h backtrace.h bdw-gc.h bitvectors.h boolean.h bytevectors.h chars.h chooks.h continuations.h control.h debug-malloc.h debug.h deprecated.h deprecation.h dynl.h dynstack.h dynwind.h eq.h error.h eval.h evalext.h exceptions.h expand.h extensions.h fdes-finalizers.h feature.h filesys.h finalizers.h fluids.h foreign-object.h foreign.h fports.h frames.h gc-inline.h gc.h generalized-vectors.h gettext.h goops.h gsubr.h guardians.h hash.h hashtab.h hooks.h i18n.h init.h inline.h instructions.h ioext.h iselect.h jit.h keywords.h list.h load.h loader.h macros.h mallocs.h memoize.h modules.h net_db.h null-threads.h numbers.h objprop.h options.h pairs.h poll.h ports.h posix.h print.h procprop.h procs.h programs.h promises.h pthread-threads.h r6rs-ports.h random.h rdelim.h read.h regex-posix.h rw.h scm.h scmconfig.h scmsigs.h script.h simpos.h smob.h snarf.h socket.h sort.h srcprop.h srfi-1.h srfi-13.h srfi-14.h srfi-4.h srfi-60.h stackchk.h stacks.h stime.h strings.h strorder.h strports.h struct.h symbols.h tags.h threads.h throw.h unicode.h uniform.h validate.h values.h variable.h vectors.h version.h vm-builtins.h vm-expand.h vm.h vports.h weak-set.h weak-table.h weak-vector.h lib/ libguile-%%GUILE_VER%%.a libguile-%%GUILE_VER%%.so [FILE:23:manifests/plist.man] share/man/man1/guile.1 [FILE:591:patches/patch-configure] --- configure.orig 2024-06-23 21:38:45 UTC +++ configure @@ -60113,6 +60113,15 @@ then : fi +ac_fn_c_check_func "$LINENO" "posix_spawn_file_actions_addclosefrom_np" "ac_cv_func_posix_spawn_file_actions_addclosefrom_np" +if test "x$ac_cv_func_posix_spawn_file_actions_addclosefrom_np" = xyes +then : + printf "%s\n" "#define HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSEFROM_NP 1" >>confdefs.h + +fi + + + # The newlib C library uses _NL_ prefixed locale langinfo constants. ac_fn_check_decl "$LINENO" "_NL_NUMERIC_GROUPING" "ac_cv_have_decl__NL_NUMERIC_GROUPING" "#include [FILE:607:patches/patch-libguile_Makefile.in] $NetBSD: patch-libguile_Makefile.in,v 1.1 2022/03/08 00:09:30 wiz Exp $ Disable PaX MPROTECT for guile binary (needed due to its JIT). --- libguile/Makefile.in.orig 2024-06-23 21:38:47 UTC +++ libguile/Makefile.in @@ -2868,6 +2868,7 @@ libguile-@GUILE_EFFECTIVE_VERSION@.la: $ guile$(EXEEXT): $(guile_OBJECTS) $(guile_DEPENDENCIES) $(EXTRA_guile_DEPENDENCIES) @rm -f guile$(EXEEXT) $(AM_V_CCLD)$(guile_LINK) $(guile_OBJECTS) $(guile_LDADD) $(LIBS) + $(PAXCTL) +m .libs/guile$(EXEEXT) install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ [FILE:559:patches/patch-libguile_gen-scmconfig.c] --- libguile/gen-scmconfig.c.orig 2023-02-10 13:16:15 UTC +++ libguile/gen-scmconfig.c @@ -329,6 +329,10 @@ main (int argc, char *argv[]) pf ("typedef int scm_t_off;\n"); pf ("#define SCM_T_OFF_MAX INT_MAX\n"); pf ("#define SCM_T_OFF_MIN INT_MIN\n"); +#elif SIZEOF_OFF_T == SIZEOF_LONG_LONG && SIZEOF_OFF_T != SIZEOF_LONG + pf ("typedef long long int scm_t_off;\n"); + pf ("#define SCM_T_OFF_MAX LLONG_MAX\n"); + pf ("#define SCM_T_OFF_MIN LLONG_MIN\n"); #else pf ("typedef long int scm_t_off;\n"); pf ("#define SCM_T_OFF_MAX LONG_MAX\n"); [FILE:236:patches/patch-libguile_i18n.c] --- libguile/i18n.c.orig 2023-02-10 13:16:15 UTC +++ libguile/i18n.c @@ -43,6 +43,7 @@ #include "smob.h" #include "strings.h" #include "symbols.h" +#include "async.h" #include "syscalls.h" #include "threads.h" #include "values.h" [FILE:505:patches/patch-libguile_loader.c] $NetBSD: patch-libguile_loader.c,v 1.1 2022/03/08 00:09:30 wiz Exp $ Use correct mmap permissions for later PROT_WRITE mprotect. --- libguile/loader.c.orig 2021-02-03 22:00:27 UTC +++ libguile/loader.c @@ -501,7 +501,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; [FILE:229:patches/patch-libguile_pthread-threads.h] --- libguile/pthread-threads.h.orig 2019-08-02 12:41:06 UTC +++ libguile/pthread-threads.h @@ -26,6 +26,9 @@ */ #include +#if HAVE_PTHREAD_NP_H +# include +#endif #include /* Threads [FILE:239:files/scripts-primary.ucl.in] post-install: [{ args: "" code: <