# sources.config - suite_tcl90 source-pull declarations for the FOSSIL DEV FLOW # (live checkouts driven by suite.tcl). This is the tweak surface for retargeting # that flow at different repositories/branches/tags. # # G-102: the no-tclsh bootstrap flow ('zig build stage|bootstrap') has its own # equivalent surface, build.zig.zon - content-hashed PER-CHECKIN pins rather than # live refs. The dependency names there match the source names here, and both # flows materialize into the same recipe-coupled stage dirs. When retargeting, # tweak whichever flow you drive (or both, to keep them aligned): refs here may # float (branches); zon pins are exact by design. # # Read by suite.tcl as plain line records - the file is parsed, never executed. # Format (whitespace separated, one record per line, # comments and blanks ignored): # # source # # name identifier the driver refers to (do not change existing names) # kind fossil | git # ref branch, tag, or checkin/commit to open (fossil open/update ; # git checkout after clone). The 'tcl' ref can be overridden per-run # with 'suite.tcl build -tclbranch '. # dir checkout directory under the suite's _build stage. RECIPE-COUPLED: the # zig recipe references these by relative path (e.g build905.zig # tcl_source_folder "../tcl905", build_tk wired to "../tk9") - keep dir # names unless you also adjust the recipe. # # Copy-and-tweak workflow: copy the whole suite_tcl90 tree to # src/buildsuites//, edit this file, run 'tclsh suite.tcl build'. # The build stage is derived from the suite folder name (_build/), so # copies stay isolated from each other. # # Depth limit (be honest with yourself): same-major-version url/ref tweaks (a # mirror, a fork, a release tag) are config-only. Version-class changes ripple # into the recipe: dir names above, version-derived filenames (tm names like # tcltest-X.Y.Z, dll names, manifest version fields) live in build905.zig and the # suite.tcl install steps. # # Fetch mechanics (suite.tcl): fossil clones come from the hermetic store # (PUNK_FOSSIL_STORE, default ~/.punkshell/fossils; seeded read-only from # ~/.fossils when present, else network-cloned from ). git sources are # cloned directly from and pinned to . critcl is fetched lazily - # only when the tcllibc accelerators need building. source tcl fossil https://core.tcl-lang.org/tcl core-9-0-branch tcl905 source tclthread fossil https://core.tcl-lang.org/thread trunk tclthread source tclvfs fossil https://core.tcl-lang.org/tclvfs trunk tclvfs # G-098: Tk + companion script libraries. tklib is pure-tcl (installed by its own # installer where that matters); tcllib's accelerators (tcllibc) are built via critcl. source tk fossil https://core.tcl-lang.org/tk core-9-0-branch tk9 source tklib fossil https://core.tcl-lang.org/tklib trunk tklib source tcllib fossil https://core.tcl-lang.org/tcllib trunk tcllib source critcl git https://github.com/andreas-kupries/critcl 3.3.1 critcl