Tree:
e5db051389
master
v0.1a
${ noResults }
2 Commits (e5db051389996c66c4a0df74ad27b1fc027b3cdb)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
e5db051389 |
G-102 M3+M4: post-tclsh phases as recipe steps; suite.tcl reduced to dev wrapper
The whole pipeline now lives in the zig recipe; Tcl remains the tool exactly
where a tclsh is guaranteed to exist - run by the FRESHLY BUILT suite shell
as build steps:
- New steps (native-host builds): smoke (static shell patchlevel; zip shell
patchlevel + attached tzdata/autoload), tklib / tcllib (their own installers,
batch, -pkg-path as a cached output dir installed into the prefix, + package
smokes incl withdrawn-Tk tooltip), tcllibc (critcl driving zig cc via the
tracked critcl_zig.config, module list parsed from tcllib's version.tcl,
pinned-zig dir prepended to PATH, + accel smoke), test-gate (tools/
test_gate.tcl - the parsed-totals gate vs expected_test_failures.txt,
-Dtestargs passthrough).
- Package landing moves into the recipe proper: thread pkgIndex.tcl
(build_tclthread), tk pkgIndex.tcl (build_tk), and the tclvfs script package
incl .in-template substitution + dll (build_tclvfs_shared
install_tclvfs_package) - all hooked to the install step.
- Step scripts: tools/test_gate.tcl, tools/suite_smoke.tcl, tools/pkg_smoke.tcl
(run under the built shell; assertions live in Tcl).
- Two windows-childproofing findings encoded: built-shell Runs execute the
CACHED artifact (no ../lib/tcl9.0 beside it) so each such Run gets
TCL_LIBRARY pointed at the source tree's script library (the zip smoke
deliberately excluded - its attached library is the thing under test); and
cached (non-side-effect) Runs spawn with stdout IGNORED, leaving the tcl
child without a stdout channel ('can not find channel named "stdout"',
critcl's logging) - such runs capture stdout to give the child a real pipe
while keeping caching.
- suite.tcl: thinned to the fossil dev flow - fetch live checkouts (git kind
now handled in the main loop for critcl's pin), stage the recipe, delegate
to the staged steps (run_zig_steps; 'test' delegates to test-gate). Default
-steps and the bootstrap default grow to the full pipeline short of
test-gate. critcl_zig.config + expected_test_failures.txt join both staging
lists. Docs updated (README two-flow section, sources.config two-surface
header, overlay section); .gitignore learns .zig-cache/ and zig-pkg/ (zig
0.16 extracts fetched packages into zig-pkg/ beside the manifest).
Verified (fossil flow): full pipeline PASS - suite_smoke static+zip, tklib
tooltip:2.0.4 under withdrawn Tk, tcllib md5/sha1/cmdline, tcllibc:2.0 with
md5-critcl-accel:1; 'suite.tcl test -testargs {-file http.test}' delegates to
the gate step (528/519/9/0 GATE PASS).
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
|
3 weeks ago |
|
|
c62eda362f |
suite_tcl90: declarative sources.config + folder-derived stage for copy-and-tweak retargeting
A developer (no llm assistance, no punkshell modules - the driver stays dependency-free plain tclsh) can now copy the suite tree and retarget sources declaratively: urls/refs/pins live in sources.config (plain line records 'source <name> <kind> <url> <ref> <dir>', parsed never executed; fossil sources + the critcl git pin), and the build stage derives from the suite FOLDER name so a copied tree stages into its own _build/<name> isolated from the original. -tclbranch becomes a per-run override of the declared tcl ref. Depth limit documented where the tweaker will read it: same-major url/ref changes are config-only; version-class changes ripple into build905.zig (checkout dir names, version-derived tm/dll/manifest names). README gains a Retargeting/copying section; its Sources section corrected (stale per-stage fossil-store location from before the ~/.punkshell/fossils move, and the G-098 sources were missing from the table). Direction recorded in G-096 notes (2026-07-20): toml requirement DROPPED for binary-build buildsuites; long-term intent is bootstrapping without a pre-existing tclsh (zig acquisition = accepted root dependency; the freshly built tclsh is the legitimate intermediate for tcllib/tklib installers and critcl); zig-driver-vs-polyglot question recorded with the current recommendation (zig hybrid; polyglot counselled against). Verified: suite.tcl test -testargs '-file assocd.test' passes through config load + fetch skip-logic + gate on the existing stage; stage derivation for a copied name resolves to _build/<copyname>. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
3 weeks ago |