Skip to content

new(tcl-lang.org/v8 + /tk/v8): Tcl/Tk 8.6 legacy (unblocks Tk + git-gui)#13081

Open
tannevaled wants to merge 2 commits into
pkgxdev:mainfrom
tannevaled:new/tcl-v8
Open

new(tcl-lang.org/v8 + /tk/v8): Tcl/Tk 8.6 legacy (unblocks Tk + git-gui)#13081
tannevaled wants to merge 2 commits into
pkgxdev:mainfrom
tannevaled:new/tcl-v8

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

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

@tannevaled

Copy link
Copy Markdown
Contributor Author

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:

```
DownloadError: http: 404: https://dist.pkgx.dev/tcl-lang.org/v8/darwin/aarch64/versions.txt
```

(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.

@jhheider

Copy link
Copy Markdown
Contributor

shouldn't this just alternate paths in tcl-lang.org? or are the deps different in an incompatible way?

tannevaled and others added 2 commits July 7, 2026 18:40
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>
tannevaled added a commit to tannevaled/pantry that referenced this pull request Jul 7, 2026
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>
@jhheider

jhheider commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants