new(tcl-lang.org/v8 + /tk/v8): Tcl/Tk 8.6 legacy (unblocks Tk + git-gui) - #13081
new(tcl-lang.org/v8 + /tk/v8): Tcl/Tk 8.6 legacy (unblocks Tk + git-gui)#13081tannevaled wants to merge 5 commits into
Conversation
|
Diagnosis on the Tk 8 failures: it's the chicken-and-egg same-PR sibling issue. Tcl 8 builds fine (4/4 green), but Tk 8 fails on all four platforms with: ``` (and matching 404 on the three other platforms). Tk 8's build resolver tries to fetch the Tcl 8 bottle from `dist.pkgx.dev`, but Tcl 8 is in this same PR — there's no published bottle yet. I hit the same shape on font-util earlier in #13103 / #13106 and split them out: land the prerequisite alone first, then add the consumer in a follow-up PR once the bottle is on `dist.pkgx.dev`. Proposal: let this PR land as Tcl 8 only (already green); the Tk 8 recipe can be a one-line follow-up PR after merge, with no new build problems to solve. I'm happy to author that follow-up. Alternatively, if the brewkit test harness has a way to feed sibling-bottle output to a same-PR consumer (some kind of `linkPantry` or local-bottle override), I'd love to know — would unblock #13103/font-util too. |
|
shouldn't this just alternate paths in tcl-lang.org? or are the deps different in an incompatible way? |
Tcl 9.0 changed major API; many Tk-based GUIs (git-gui, python-tk, BWidget) still pin to 8.6. Tk 9.0 also has a broken minizip Makefile target that prevents from-source build — Tk 8.6 stays buildable. Adding these unblocks pkgxdev#13057 (Tk via 9.0 → switch to v8) and pkgxdev#13060 (git-gui) once the bottles are available.
Tk depends on tcl-lang.org/v8 (same PR), so its CI couldn't resolve Tcl's not-yet-published bottle (404). Ship Tcl alone here (it's self-contained + green); Tk follows in a separate PR once this merges and Tcl's bottle is published. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Companion to tcl-lang.org/v8 (pkgxdev#13081). Split out so it resolves Tcl's published bottle. Depends on tcl-lang.org/v8 — merge that first. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
I don't think this needs to be a new package. We have pkgx tclsh^8 --version (which has dylib issues that we need to fix, probably based on recent other fixes). but the current package have 8.6 bottles. |
…v8 package Per review: Tcl/Tk 8.6 doesn't need a separate package. The main recipe's build script already guards every 9.x-only step (`if: ">=9.0.4"` staging, `if: <8.6.14` Tk patches) and templates the rest by version, and the versions matcher already includes 8.6.x — so `tcl-lang.org^8` resolves to 8.6.x and builds the full stack (Tk/critcl/tcllib/tcltls/itk4), inheriting the darwin dylib-relocation fix (the "dylib issues" flagged for tclsh^8). Two edits instead of a new package: - constrain the versions matcher to the 8.6 and 9.x lines (drop 8.4/8.5, too old for the bundled critcl/tcllib/itk versions) - publish versioned bin names (tclsh8.6/tclsh9.0, wish8.6/wish9.0) so `pkgx tclsh^8` resolves exactly Removes the separate projects/tcl-lang.org/v8 recipe. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…all) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Tcl 9.0 broke API compat with 8.6; Tk 9.0 has a broken minizip Makefile target. Many downstream tools (git-gui, python-tk, BWidget) pin to 8.6.
This recipe adds Tcl 8.6 + Tk 8.6 as parallel pantry packages.
Unblocks #13057 (Tk) and #13060 (git-gui).
🤖 Generated with Claude Code