3.0 KiB
G-100 suite_tcl86 dependency set: Tk 8.6 + tklib, tcllib with critcl accelerators, punkshell runtests on the 8.6 runtime
Status: proposed Scope: src/buildsuites/suite_tcl86/ (recipe extensions, driver steps), src/buildsuites/_build/ (tk/tklib/tcllib/critcl sources and outputs), bin/tools/ (pinned zig as consumed), src/tests/ (punkshell suites exercised against the suite-built 8.6 runtime) Goal: suite_tcl86 builds/installs the remaining runtime pieces punkshell's Tcl 8 testing depends on - Tk from fossil core-8-6-branch loadable by the suite's 8.6 windows runtime together with a matching tklib (installer.tcl where it does more than a straight copy), and tcllib installed via its documented installer machinery WITH its critcl-built C accelerators (tcllibc; critcl driving zig cc, bootstrapped by the suite-built tclsh86 - no MS toolchain) - and punkshell's own runtests runs against the suite-built 8.6 runtime with Tk-dependent suites unskipped. Acceptance: from the pinned zig and fetched sources the suite produces a Tk 8.6 the suite tclsh loads (package require Tk with a create/destroy-window verification recorded here) and a matching tklib whose packages resolve (a representative require recorded); a tcllib install via its installer whose accelerators load (package require tcllibc) with the accelerated-vs-pure comparison recorded; punkshell runtests runs against the suite 8.6 runtime and its census is recorded here against a same-day native/kit 8.6 baseline run (same include set), with every difference dispositioned - Tk-dependent suites run unskipped, and any 8.6-runtime-only failures are root-caused or baselined with reasons.
Context
Mirror of G-098 (suite_tcl90 dependency set, achieved 2026-07-20) for the 8.6 arc. Depends on G-099 (suite_tcl86 core buildsuite).
8.6-specific expectations (verify at activation):
- Tk core-8-6-branch pairs with the 8.6 runtime; the 9.0 build_tk zig module was derived from tk9 makefile.vc object lists - the 8.6 lists/xlib arrangement differ, so expect a re-derivation rather than reuse.
- tcllib trunk supports 8.5+; the same vendored critcl mechanism applies, with critcl driven by the suite tclsh86. tcllibc built per-generation (the punk9wintk903 vfs precedent carries tcl8/tcl9 tcllibc side by side under lib_tcl8/lib_tcl9).
- runtests under 8.6: no tcl::process, so -jobs child spawning falls back to blocking execs which CONVOY on windows (documented) - run -singleproc 1 or accept serialized child walls for the census run; record which mode produced the census.
- Census baseline: compare against the punk86-class kit runtime results on the same day/include-set (forward-slash path conventions on 8.6 kits noted in project memory) rather than against the 9.x census.
- The kit-child 'src' package_mode launch added to runtests for punk kits (G-098 increment 7) applies to 8.6 punk kits too - a plain suite tclsh86 host takes the native path.
SEQUENCING: as for G-099 - proposed now, activation recommended after suite_tcl90's G-096 remainder closes and punk905_beta trial concludes.
Notes
(none yet)