Skip to content

Add TkDND 2.10.0 binaries with Tcl 8 and Tcl 9 support - #17

Merged
Squiblydoo merged 6 commits into
masterfrom
Full-Tcl-9-Support
Jul 4, 2026
Merged

Add TkDND 2.10.0 binaries with Tcl 8 and Tcl 9 support#17
Squiblydoo merged 6 commits into
masterfrom
Full-Tcl-9-Support

Conversation

@Squiblydoo

Copy link
Copy Markdown
Collaborator
  • Replace 2.9.x binaries with 2.10.0 across all platforms
  • Add Tcl 9 binary directories for Linux x64, Linux arm64, Windows x64, and Windows x86 (suffixed -tcl9)
  • Detect Tcl major version at runtime and load the correct binary directory automatically
  • Bump package version to 0.6.0
  • Update setup.py and hook-tkinterdnd2.py to include new dirs

Squiblydoo and others added 6 commits July 3, 2026 19:35
- Replace 2.9.x binaries with 2.10.0 across all platforms
- Add Tcl 9 binary directories for Linux x64, Linux arm64,
  Windows x64, and Windows x86 (suffixed -tcl9)
- Detect Tcl major version at runtime and load the correct
  binary directory automatically
- Bump package version to 0.6.0
- Update setup.py and hook-tkinterdnd2.py to include new dirs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- .github/workflows/load-test.yml: 5-job matrix covering Linux x64 (Tcl 8),
  Windows x64 (Tcl 8 + Tcl 9), macOS x64 (Tcl 8), macOS arm64 (Tcl 9);
  Linux uses xvfb-run for the virtual display
- tests/test_tkinterdnd2.py: replace stale version assertion with adaptive tests
  that verify the binary loads, the correct platform directory is chosen, and
  Tcl 8/9 routing works correctly at runtime
- test_dnd.py: interactive test with a drop zone and drag source for manual
  end-to-end verification
- .gitignore: exclude /virt local virtualenv directory

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove macos-13 (macOS x64) job — runner no longer available
- macOS arm64: actions/setup-python's pre-built Python links against Tcl 8
  regardless of Python version; switch to Homebrew Python 3.13, which
  depends on Homebrew's tcl-tk (Tcl 9), so the osx-arm64 binary loads correctly
- Split OS-specific steps explicitly so each platform uses the right python/pip

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Homebrew Python enforces externally-managed-environment; add
--break-system-packages so pip can install into it from CI.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Use python-tk@3.13 which bundles _tkinter linked against Homebrew's
  Tcl 9; the runner has python@3.14 pre-installed so python3 resolved
  to 3.14 (no _tkinter) rather than 3.13
- Use python3.13 explicitly in all macOS steps to avoid version ambiguity

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Squiblydoo
Squiblydoo merged commit 3a6075a into master Jul 4, 2026
8 checks passed
@Squiblydoo
Squiblydoo deleted the Full-Tcl-9-Support branch July 4, 2026 11:19
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.

1 participant