Browse Source

thin-layout sync catch-up: G-139-era make.tcl copies + samplesuite1 retirement

make.tcl modules regeneration of punkcheck-managed outputs: the layout
src/make.tcl sync copies (basic, project-0.1, modpod payload) pick up
the G-139-era libfetch/vfslibs help + workflow text, and the modpod
layout payload mirror-prunes the samplesuite1 sketch retired in
fc2376ca and gains the buildsuites README.md.

Assisted-by: harness=opencode; primary-model=huggingface/moonshotai/Kimi-K3; api-location=unknown
master
Julian Noble 3 days ago
parent
commit
a8f402e274
  1. 36
      src/modules/punk/mix/#modpod-templates-999999.0a1.0/templates/project_layouts/vendor/punk/project-0.1/src/buildsuites/README.md
  2. 57
      src/modules/punk/mix/#modpod-templates-999999.0a1.0/templates/project_layouts/vendor/punk/project-0.1/src/buildsuites/samplesuite1/download_and_build.config
  3. 0
      src/modules/punk/mix/#modpod-templates-999999.0a1.0/templates/project_layouts/vendor/punk/project-0.1/src/buildsuites/samplesuite1/tcl/empty_project_source.txt
  4. 0
      src/modules/punk/mix/#modpod-templates-999999.0a1.0/templates/project_layouts/vendor/punk/project-0.1/src/buildsuites/samplesuite1/tk/empty_project_source.txt
  5. 54
      src/modules/punk/mix/#modpod-templates-999999.0a1.0/templates/project_layouts/vendor/punk/project-0.1/src/make.tcl
  6. 54
      src/project_layouts/vendor/punk/basic/src/make.tcl
  7. 54
      src/project_layouts/vendor/punk/project-0.1/src/make.tcl

36
src/modules/punk/mix/#modpod-templates-999999.0a1.0/templates/project_layouts/vendor/punk/project-0.1/src/buildsuites/README.md vendored

@ -0,0 +1,36 @@
# src/buildsuites - building binary components for this project
This folder is where a project keeps BUILDSUITES: self-describing recipes that
build Tcl runtimes and binary library packages from external upstream sources
with a pinned zig toolchain. Most projects never need one - the default ways to
obtain binary components are lighter:
## Route 1 (default): fetch published artifacts
`tclsh src/make.tcl libfetch` fetches library packages (e.g. tcllib + the
tcllibc critcl accelerators) as verified zip artifacts from the punkbin
artifact server's lib tier into the untracked `bin/packages/<target>/` input
tier, sha1-verified, and materializes them for the libs build. Declare the
artifacts your project consumes in `src/runtime/libpackages.toml`
([artifact.<name>] entries with `name` = the immutable
`<pkgfolder>-<tcl8|tcl9>-r<N>.zip` artifact filename and `target` =
`allplatforms` or a platform-dir name - see the punkshell repo's copy for a
worked example). Runtimes are fetched the same spirit via
`bin/punk-runtime.cmd`. The canonical punkbin origin is trusted by default;
other servers require the explicit `-trust-server` flag.
## Route 2 (alternative): build in-project with a copied suite
Copy a real suite tree from the punkshell repo's `src/buildsuites/` (e.g.
`suite_tcl90`) into this folder and retarget it: every suite is
COPY-AND-TWEAK by contract - its `sources.config` declares its sources,
products and pinned toolchain, and `tclsh src/make.tcl buildsuite
list|info|build <name>` discovers and drives it with no make.tcl edits
(the G-104 self-description contract). Note a tcllib/tcllibc-only suite is
genuinely light: critcl bundles its own Tcl headers, so building the
accelerators needs only a driving tclsh + zig + the tcllib/critcl checkouts -
no Tcl source tree.
The pre-2026 `samplesuite1` sketch that used to live here (a mingw64/gcc-era
download_and_build.config outline) predated these mechanisms and was removed
when the fetch route landed (punkshell goal G-139).

57
src/modules/punk/mix/#modpod-templates-999999.0a1.0/templates/project_layouts/vendor/punk/project-0.1/src/buildsuites/samplesuite1/download_and_build.config vendored

@ -1,57 +0,0 @@
#=======================================================
#configuration data for download and build of buildsuite
#=======================================================
#windows build mechanism: mingw64 -ucrt64 gcc
#other platforms build mechanism: gcc
#-------------------------------------------------------
set buildprefix <PROJECTDIR>/vendorbuild/samplesuite1
set basemakeflags [list -j 2]
set baseconfigflags [list --enable-64bit --prefix=$buildprefix]
set repofolder ~/.fossils
#-------------------------------------------------------
SOURCEDOWNLOAD -project tcl\
-mechanism fossil\
-localrepo tcl.fossil\
-branch core-8\
-remote https://core.tcl-lang.org/tcl
#etc.
#SOURCEDOWNLOAD tk...
#SOURCEDOWNLOAD thread...
#SOURCEDOWNLOAD -project critcl\
-mechanism git\
-branch master\
-remote http://github.com/andreas-kupries/critcl
#SOURCEDOWNLOAD -project tclbench\
-mechanism fossil\
-remote https://core.tcl-lang.org/tclbench
#CONFIGSTART tcl <SOURCEBASE>/win
#CONFIGSTART tk <SOURCEBASE>/win
#EXTRACONFIG tk --with-tcl=$buildprefix/lib --with-tclinclude=$buildprefix/include
#CONFIGSTART thread ???
#EXTRACONFIG thread --with-tcl=$buildprefix/lib --with-tclinclude=$buildprefix/include
#SOURCEDOWNLOAD -project zint\
-mechanism git\
-branch master\
-remote https://git.code.sf.net/p/zint/code

0
src/modules/punk/mix/#modpod-templates-999999.0a1.0/templates/project_layouts/vendor/punk/project-0.1/src/buildsuites/samplesuite1/tcl/empty_project_source.txt vendored

0
src/modules/punk/mix/#modpod-templates-999999.0a1.0/templates/project_layouts/vendor/punk/project-0.1/src/buildsuites/samplesuite1/tk/empty_project_source.txt vendored

54
src/modules/punk/mix/#modpod-templates-999999.0a1.0/templates/project_layouts/vendor/punk/project-0.1/src/make.tcl vendored

@ -2132,8 +2132,8 @@ proc ::punkboot::punkboot_gethelp {args} {
append h " - update the src/vendormodules based on src/vendormodules/include_modules.config" \n \n
append h " - update the src/vendorlib based on src/vendorlib/config.toml (todo)" \n \n
append h " $scriptname vfslibs" \n
append h " - propagate declared vendored platform-library packages into kit vfs lib_tcl<N> trees" \n
append h " - declarations (per-package per-kit, with superseded-version removal) live in src/runtime/vendorlib_vfs.toml" \n
append h " - propagate declared platform-library packages (vendored src/ or bin/packages tier) into kit vfs lib_tcl<N> trees" \n
append h " - declarations (per-package per-kit, with superseded-version removal + clean-slate replace) live in src/runtime/vendorlib_vfs.toml" \n
append h " - also runs automatically as a phase of '$scriptname bake' (and therefore of '$scriptname bakehouse')" \n \n
append h " $scriptname libfetch ?-serverurl <url>? ?-trust-server? ?-force?" \n
append h " - fetch declared punkbin lib-tier library artifacts (src/runtime/libpackages.toml) into bin/packages/<target>" \n
@ -2327,7 +2327,7 @@ DIAGRAM 2 - KIT ASSEMBLY DETAIL (the 'make.tcl bake' stage; incl. vfslibs phase)
running shell still holds the old exe [K5]
LIBRARY-ARTIFACT FETCH (G-139; input tier so far - lib_tcl<N>/kit consumption follows)
LIBRARY-ARTIFACT FETCH + CONSUMPTION (G-139)
----------------------------------------------------------------------------
src/runtime/libpackages.toml which punkbin LIB-TIER artifacts this checkout
@ -2345,6 +2345,15 @@ LIBRARY-ARTIFACT FETCH (G-139; input tier so far - lib_tcl<N>/kit consumption fo
bin/packages/<target>/tcl<N>/<pkgfolder>/
materialized installed-shape trees, self-describing
via their embedded punkbin-artifact.toml records
|
| consumption (two lanes, both punkcheck-tracked):
| PACKAGES_tcl<N> phase of modules/libs/packages/bakehouse
| -> lib_tcl<N>/allplatforms + lib_tcl<N>/<platform>;
| vfslibs entries with source_root = "packages"
| -> declared kit vfs lib_tcl<N> trees (see DIAGRAM 2)
v
lib_tcl<N>/... + src/vfs/<kit>.vfs/lib_tcl<N>/... (embedded records ride along
into deployed trees and baked kit payloads)
KEY / NOTES
@ -2548,7 +2557,7 @@ if {[info exists ::env(PUNKBOOT_PLAIN)] && [string is true -strict $::env(PUNKBO
libs "Build pkgIndex.tcl libraries from src/lib, src/vendorlib etc into <projectdir>/lib etc"
bake "Assemble kit/zipkit executables from promoted payload (src/vfs) and runtimes into <projectdir>/bin"
bakelist "List the kit outputs configured in src/runtime/mapvfs.config: type, runtime/vfs presence, deployed state"
vfslibs "Propagate declared vendored platform-library packages into kit vfs lib_tcl<N> trees"
vfslibs "Propagate declared platform-library packages (vendored or bin/packages tier) into kit vfs lib_tcl<N> trees"
bin "Install executables from src/bin into <projectdir>/bin, then build kits as for bake"
vendorupdate "Update src/vendormodules based on src/vendormodules/include_modules.config"
libfetch "Fetch declared punkbin lib-tier library artifacts into bin/packages/<target> (sha1-verified) and materialize the package trees"
@ -2648,10 +2657,14 @@ if {[info exists ::env(PUNKBOOT_PLAIN)] && [string is true -strict $::env(PUNKBO
only - never builds."
vfslibs
"
Propagate declared vendored platform-library packages into kit vfs
lib_tcl<N> trees.
Declarations (per-package per-kit, with superseded-version removal)
live in src/runtime/vendorlib_vfs.toml.
Propagate declared platform-library packages into kit vfs
lib_tcl<N> trees - from vendored src/ folders (source_root
'src', the default) or from the bin/packages punkbin lib-tier
input (source_root 'packages', populated by 'make.tcl
libfetch' - G-139).
Declarations (per-package per-kit, with superseded-version
removal and clean-slate same-name 'replace') live in
src/runtime/vendorlib_vfs.toml.
Also runs automatically as a phase of 'make.tcl bake' (and therefore
of 'make.tcl bakehouse'); this standalone narrowing serves quick
iteration on the declarations."
@ -2672,7 +2685,12 @@ if {[info exists ::env(PUNKBOOT_PLAIN)] && [string is true -strict $::env(PUNKBO
(never an interactive prompt - unattended runs stay unattended).
A file:// origin is supported for local mirrors/fixtures.
Transport for http(s): Tcl http+tls when loadable, else curl,
else PowerShell (windows)."
else PowerShell (windows).
Isolation seams (env-only): PUNK_LIBFETCH_CONFIG points at an
alternate declarations file and PUNK_LIBFETCH_PACKAGES at an
alternate tier root - fixture/test runs leave the real
declarations and bin/packages untouched. Neither bypasses the
-trust-server consent gate."
bin
"
Install executables from src/bin to <projectdir>/bin, then check vfs
@ -5273,6 +5291,20 @@ if {$::punkboot::command eq "libfetch"} {
}
set libfetch_config $sourcefolder/runtime/libpackages.toml
set libfetch_packagesroot $projectroot/bin/packages
#Isolation seams (env-only, the PUNK_RUNTIME_PLATFORM idiom): an alternate
#declarations file and an alternate tier root, so fixture-driven runs (the
#shell/testsuites/punkexe/maketcllibfetch.test characterization suite,
#local-mirror experiments) never read the real declarations or write the
#real bin/packages tier. The server-trust gate below is deliberately NOT
#seam-bypassable - fixtures consent with -trust-server like any other
#non-canonical origin.
if {[info exists ::env(PUNK_LIBFETCH_CONFIG)] && $::env(PUNK_LIBFETCH_CONFIG) ne ""} {
set libfetch_config [file normalize $::env(PUNK_LIBFETCH_CONFIG)]
}
if {[info exists ::env(PUNK_LIBFETCH_PACKAGES)] && $::env(PUNK_LIBFETCH_PACKAGES) ne ""} {
set libfetch_packagesroot [file normalize $::env(PUNK_LIBFETCH_PACKAGES)]
}
#Canonical origin: the punkbin raw-file base (the punk-runtime.cmd
#convention; lib tier addressed as <origin>/lib/<target>/...).
#Server-trust consent (G-139, the G-123 posture): the canonical origin
@ -5355,7 +5387,7 @@ if {$::punkboot::command eq "libfetch"} {
puts stderr "$A(BAD)LIBFETCH: artifact.$aname name '$artifact' does not match <pkgfolder>-tcl<N>-r<N>.zip$A(RST)"
exit 3
}
set tierdir $projectroot/bin/packages/$target
set tierdir $libfetch_packagesroot/$target
file mkdir $tierdir
#server truth per target: lib/<target>/sha1sums.txt (fetched once per
#run per target; the local copy in the tier mirrors the punk-runtime
@ -5492,7 +5524,7 @@ if {$::punkboot::command eq "libfetch"} {
puts stderr "$A(BAD)LIBFETCH: FAILED - one or more declared artifacts could not be fetched/verified/materialized (see above)$A(RST)"
exit 3
}
puts stdout "LIBFETCH: done ([llength $libfetch_actions] action(s)) -> $projectroot/bin/packages"
puts stdout "LIBFETCH: done ([llength $libfetch_actions] action(s)) -> $libfetch_packagesroot"
}
flush stdout
::exit 0

54
src/project_layouts/vendor/punk/basic/src/make.tcl vendored

@ -2132,8 +2132,8 @@ proc ::punkboot::punkboot_gethelp {args} {
append h " - update the src/vendormodules based on src/vendormodules/include_modules.config" \n \n
append h " - update the src/vendorlib based on src/vendorlib/config.toml (todo)" \n \n
append h " $scriptname vfslibs" \n
append h " - propagate declared vendored platform-library packages into kit vfs lib_tcl<N> trees" \n
append h " - declarations (per-package per-kit, with superseded-version removal) live in src/runtime/vendorlib_vfs.toml" \n
append h " - propagate declared platform-library packages (vendored src/ or bin/packages tier) into kit vfs lib_tcl<N> trees" \n
append h " - declarations (per-package per-kit, with superseded-version removal + clean-slate replace) live in src/runtime/vendorlib_vfs.toml" \n
append h " - also runs automatically as a phase of '$scriptname bake' (and therefore of '$scriptname bakehouse')" \n \n
append h " $scriptname libfetch ?-serverurl <url>? ?-trust-server? ?-force?" \n
append h " - fetch declared punkbin lib-tier library artifacts (src/runtime/libpackages.toml) into bin/packages/<target>" \n
@ -2327,7 +2327,7 @@ DIAGRAM 2 - KIT ASSEMBLY DETAIL (the 'make.tcl bake' stage; incl. vfslibs phase)
running shell still holds the old exe [K5]
LIBRARY-ARTIFACT FETCH (G-139; input tier so far - lib_tcl<N>/kit consumption follows)
LIBRARY-ARTIFACT FETCH + CONSUMPTION (G-139)
----------------------------------------------------------------------------
src/runtime/libpackages.toml which punkbin LIB-TIER artifacts this checkout
@ -2345,6 +2345,15 @@ LIBRARY-ARTIFACT FETCH (G-139; input tier so far - lib_tcl<N>/kit consumption fo
bin/packages/<target>/tcl<N>/<pkgfolder>/
materialized installed-shape trees, self-describing
via their embedded punkbin-artifact.toml records
|
| consumption (two lanes, both punkcheck-tracked):
| PACKAGES_tcl<N> phase of modules/libs/packages/bakehouse
| -> lib_tcl<N>/allplatforms + lib_tcl<N>/<platform>;
| vfslibs entries with source_root = "packages"
| -> declared kit vfs lib_tcl<N> trees (see DIAGRAM 2)
v
lib_tcl<N>/... + src/vfs/<kit>.vfs/lib_tcl<N>/... (embedded records ride along
into deployed trees and baked kit payloads)
KEY / NOTES
@ -2548,7 +2557,7 @@ if {[info exists ::env(PUNKBOOT_PLAIN)] && [string is true -strict $::env(PUNKBO
libs "Build pkgIndex.tcl libraries from src/lib, src/vendorlib etc into <projectdir>/lib etc"
bake "Assemble kit/zipkit executables from promoted payload (src/vfs) and runtimes into <projectdir>/bin"
bakelist "List the kit outputs configured in src/runtime/mapvfs.config: type, runtime/vfs presence, deployed state"
vfslibs "Propagate declared vendored platform-library packages into kit vfs lib_tcl<N> trees"
vfslibs "Propagate declared platform-library packages (vendored or bin/packages tier) into kit vfs lib_tcl<N> trees"
bin "Install executables from src/bin into <projectdir>/bin, then build kits as for bake"
vendorupdate "Update src/vendormodules based on src/vendormodules/include_modules.config"
libfetch "Fetch declared punkbin lib-tier library artifacts into bin/packages/<target> (sha1-verified) and materialize the package trees"
@ -2648,10 +2657,14 @@ if {[info exists ::env(PUNKBOOT_PLAIN)] && [string is true -strict $::env(PUNKBO
only - never builds."
vfslibs
"
Propagate declared vendored platform-library packages into kit vfs
lib_tcl<N> trees.
Declarations (per-package per-kit, with superseded-version removal)
live in src/runtime/vendorlib_vfs.toml.
Propagate declared platform-library packages into kit vfs
lib_tcl<N> trees - from vendored src/ folders (source_root
'src', the default) or from the bin/packages punkbin lib-tier
input (source_root 'packages', populated by 'make.tcl
libfetch' - G-139).
Declarations (per-package per-kit, with superseded-version
removal and clean-slate same-name 'replace') live in
src/runtime/vendorlib_vfs.toml.
Also runs automatically as a phase of 'make.tcl bake' (and therefore
of 'make.tcl bakehouse'); this standalone narrowing serves quick
iteration on the declarations."
@ -2672,7 +2685,12 @@ if {[info exists ::env(PUNKBOOT_PLAIN)] && [string is true -strict $::env(PUNKBO
(never an interactive prompt - unattended runs stay unattended).
A file:// origin is supported for local mirrors/fixtures.
Transport for http(s): Tcl http+tls when loadable, else curl,
else PowerShell (windows)."
else PowerShell (windows).
Isolation seams (env-only): PUNK_LIBFETCH_CONFIG points at an
alternate declarations file and PUNK_LIBFETCH_PACKAGES at an
alternate tier root - fixture/test runs leave the real
declarations and bin/packages untouched. Neither bypasses the
-trust-server consent gate."
bin
"
Install executables from src/bin to <projectdir>/bin, then check vfs
@ -5273,6 +5291,20 @@ if {$::punkboot::command eq "libfetch"} {
}
set libfetch_config $sourcefolder/runtime/libpackages.toml
set libfetch_packagesroot $projectroot/bin/packages
#Isolation seams (env-only, the PUNK_RUNTIME_PLATFORM idiom): an alternate
#declarations file and an alternate tier root, so fixture-driven runs (the
#shell/testsuites/punkexe/maketcllibfetch.test characterization suite,
#local-mirror experiments) never read the real declarations or write the
#real bin/packages tier. The server-trust gate below is deliberately NOT
#seam-bypassable - fixtures consent with -trust-server like any other
#non-canonical origin.
if {[info exists ::env(PUNK_LIBFETCH_CONFIG)] && $::env(PUNK_LIBFETCH_CONFIG) ne ""} {
set libfetch_config [file normalize $::env(PUNK_LIBFETCH_CONFIG)]
}
if {[info exists ::env(PUNK_LIBFETCH_PACKAGES)] && $::env(PUNK_LIBFETCH_PACKAGES) ne ""} {
set libfetch_packagesroot [file normalize $::env(PUNK_LIBFETCH_PACKAGES)]
}
#Canonical origin: the punkbin raw-file base (the punk-runtime.cmd
#convention; lib tier addressed as <origin>/lib/<target>/...).
#Server-trust consent (G-139, the G-123 posture): the canonical origin
@ -5355,7 +5387,7 @@ if {$::punkboot::command eq "libfetch"} {
puts stderr "$A(BAD)LIBFETCH: artifact.$aname name '$artifact' does not match <pkgfolder>-tcl<N>-r<N>.zip$A(RST)"
exit 3
}
set tierdir $projectroot/bin/packages/$target
set tierdir $libfetch_packagesroot/$target
file mkdir $tierdir
#server truth per target: lib/<target>/sha1sums.txt (fetched once per
#run per target; the local copy in the tier mirrors the punk-runtime
@ -5492,7 +5524,7 @@ if {$::punkboot::command eq "libfetch"} {
puts stderr "$A(BAD)LIBFETCH: FAILED - one or more declared artifacts could not be fetched/verified/materialized (see above)$A(RST)"
exit 3
}
puts stdout "LIBFETCH: done ([llength $libfetch_actions] action(s)) -> $projectroot/bin/packages"
puts stdout "LIBFETCH: done ([llength $libfetch_actions] action(s)) -> $libfetch_packagesroot"
}
flush stdout
::exit 0

54
src/project_layouts/vendor/punk/project-0.1/src/make.tcl vendored

@ -2132,8 +2132,8 @@ proc ::punkboot::punkboot_gethelp {args} {
append h " - update the src/vendormodules based on src/vendormodules/include_modules.config" \n \n
append h " - update the src/vendorlib based on src/vendorlib/config.toml (todo)" \n \n
append h " $scriptname vfslibs" \n
append h " - propagate declared vendored platform-library packages into kit vfs lib_tcl<N> trees" \n
append h " - declarations (per-package per-kit, with superseded-version removal) live in src/runtime/vendorlib_vfs.toml" \n
append h " - propagate declared platform-library packages (vendored src/ or bin/packages tier) into kit vfs lib_tcl<N> trees" \n
append h " - declarations (per-package per-kit, with superseded-version removal + clean-slate replace) live in src/runtime/vendorlib_vfs.toml" \n
append h " - also runs automatically as a phase of '$scriptname bake' (and therefore of '$scriptname bakehouse')" \n \n
append h " $scriptname libfetch ?-serverurl <url>? ?-trust-server? ?-force?" \n
append h " - fetch declared punkbin lib-tier library artifacts (src/runtime/libpackages.toml) into bin/packages/<target>" \n
@ -2327,7 +2327,7 @@ DIAGRAM 2 - KIT ASSEMBLY DETAIL (the 'make.tcl bake' stage; incl. vfslibs phase)
running shell still holds the old exe [K5]
LIBRARY-ARTIFACT FETCH (G-139; input tier so far - lib_tcl<N>/kit consumption follows)
LIBRARY-ARTIFACT FETCH + CONSUMPTION (G-139)
----------------------------------------------------------------------------
src/runtime/libpackages.toml which punkbin LIB-TIER artifacts this checkout
@ -2345,6 +2345,15 @@ LIBRARY-ARTIFACT FETCH (G-139; input tier so far - lib_tcl<N>/kit consumption fo
bin/packages/<target>/tcl<N>/<pkgfolder>/
materialized installed-shape trees, self-describing
via their embedded punkbin-artifact.toml records
|
| consumption (two lanes, both punkcheck-tracked):
| PACKAGES_tcl<N> phase of modules/libs/packages/bakehouse
| -> lib_tcl<N>/allplatforms + lib_tcl<N>/<platform>;
| vfslibs entries with source_root = "packages"
| -> declared kit vfs lib_tcl<N> trees (see DIAGRAM 2)
v
lib_tcl<N>/... + src/vfs/<kit>.vfs/lib_tcl<N>/... (embedded records ride along
into deployed trees and baked kit payloads)
KEY / NOTES
@ -2548,7 +2557,7 @@ if {[info exists ::env(PUNKBOOT_PLAIN)] && [string is true -strict $::env(PUNKBO
libs "Build pkgIndex.tcl libraries from src/lib, src/vendorlib etc into <projectdir>/lib etc"
bake "Assemble kit/zipkit executables from promoted payload (src/vfs) and runtimes into <projectdir>/bin"
bakelist "List the kit outputs configured in src/runtime/mapvfs.config: type, runtime/vfs presence, deployed state"
vfslibs "Propagate declared vendored platform-library packages into kit vfs lib_tcl<N> trees"
vfslibs "Propagate declared platform-library packages (vendored or bin/packages tier) into kit vfs lib_tcl<N> trees"
bin "Install executables from src/bin into <projectdir>/bin, then build kits as for bake"
vendorupdate "Update src/vendormodules based on src/vendormodules/include_modules.config"
libfetch "Fetch declared punkbin lib-tier library artifacts into bin/packages/<target> (sha1-verified) and materialize the package trees"
@ -2648,10 +2657,14 @@ if {[info exists ::env(PUNKBOOT_PLAIN)] && [string is true -strict $::env(PUNKBO
only - never builds."
vfslibs
"
Propagate declared vendored platform-library packages into kit vfs
lib_tcl<N> trees.
Declarations (per-package per-kit, with superseded-version removal)
live in src/runtime/vendorlib_vfs.toml.
Propagate declared platform-library packages into kit vfs
lib_tcl<N> trees - from vendored src/ folders (source_root
'src', the default) or from the bin/packages punkbin lib-tier
input (source_root 'packages', populated by 'make.tcl
libfetch' - G-139).
Declarations (per-package per-kit, with superseded-version
removal and clean-slate same-name 'replace') live in
src/runtime/vendorlib_vfs.toml.
Also runs automatically as a phase of 'make.tcl bake' (and therefore
of 'make.tcl bakehouse'); this standalone narrowing serves quick
iteration on the declarations."
@ -2672,7 +2685,12 @@ if {[info exists ::env(PUNKBOOT_PLAIN)] && [string is true -strict $::env(PUNKBO
(never an interactive prompt - unattended runs stay unattended).
A file:// origin is supported for local mirrors/fixtures.
Transport for http(s): Tcl http+tls when loadable, else curl,
else PowerShell (windows)."
else PowerShell (windows).
Isolation seams (env-only): PUNK_LIBFETCH_CONFIG points at an
alternate declarations file and PUNK_LIBFETCH_PACKAGES at an
alternate tier root - fixture/test runs leave the real
declarations and bin/packages untouched. Neither bypasses the
-trust-server consent gate."
bin
"
Install executables from src/bin to <projectdir>/bin, then check vfs
@ -5273,6 +5291,20 @@ if {$::punkboot::command eq "libfetch"} {
}
set libfetch_config $sourcefolder/runtime/libpackages.toml
set libfetch_packagesroot $projectroot/bin/packages
#Isolation seams (env-only, the PUNK_RUNTIME_PLATFORM idiom): an alternate
#declarations file and an alternate tier root, so fixture-driven runs (the
#shell/testsuites/punkexe/maketcllibfetch.test characterization suite,
#local-mirror experiments) never read the real declarations or write the
#real bin/packages tier. The server-trust gate below is deliberately NOT
#seam-bypassable - fixtures consent with -trust-server like any other
#non-canonical origin.
if {[info exists ::env(PUNK_LIBFETCH_CONFIG)] && $::env(PUNK_LIBFETCH_CONFIG) ne ""} {
set libfetch_config [file normalize $::env(PUNK_LIBFETCH_CONFIG)]
}
if {[info exists ::env(PUNK_LIBFETCH_PACKAGES)] && $::env(PUNK_LIBFETCH_PACKAGES) ne ""} {
set libfetch_packagesroot [file normalize $::env(PUNK_LIBFETCH_PACKAGES)]
}
#Canonical origin: the punkbin raw-file base (the punk-runtime.cmd
#convention; lib tier addressed as <origin>/lib/<target>/...).
#Server-trust consent (G-139, the G-123 posture): the canonical origin
@ -5355,7 +5387,7 @@ if {$::punkboot::command eq "libfetch"} {
puts stderr "$A(BAD)LIBFETCH: artifact.$aname name '$artifact' does not match <pkgfolder>-tcl<N>-r<N>.zip$A(RST)"
exit 3
}
set tierdir $projectroot/bin/packages/$target
set tierdir $libfetch_packagesroot/$target
file mkdir $tierdir
#server truth per target: lib/<target>/sha1sums.txt (fetched once per
#run per target; the local copy in the tier mirrors the punk-runtime
@ -5492,7 +5524,7 @@ if {$::punkboot::command eq "libfetch"} {
puts stderr "$A(BAD)LIBFETCH: FAILED - one or more declared artifacts could not be fetched/verified/materialized (see above)$A(RST)"
exit 3
}
puts stdout "LIBFETCH: done ([llength $libfetch_actions] action(s)) -> $projectroot/bin/packages"
puts stdout "LIBFETCH: done ([llength $libfetch_actions] action(s)) -> $libfetch_packagesroot"
}
flush stdout
::exit 0

Loading…
Cancel
Save