Skip to content

gh-127359: Pin Tcl/Tk to 8 (8.6) for testing macOS #127365

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Nov 28, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/reusable-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,10 @@ jobs:
path: config.cache
key: ${{ github.job }}-${{ inputs.os }}-${{ env.IMAGE_VERSION }}-${{ inputs.config_hash }}
- name: Install Homebrew dependencies
run: brew install pkg-config [email protected] xz gdbm tcl-tk make
run: |
brew install pkg-config [email protected] xz gdbm tcl-tk@8 make
# Because alternate versions are not symlinked into place by default:
brew link tcl-tk@8
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know brew: what is this new brew link tcl-tk@8 command? brew install is not enough? Maybe add a comment to explain it?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because tcl-tk@8 is an alternative version and not the latest, it installs as so-called "keg-only", which means it doesn't get symlinked into the usual paths:

brew info tcl-tk@8
==> tcl-tk@8: stable 8.6.15 (bottled) [keg-only]
Tool Command Language
https://www.tcl-lang.org
Installed
/opt/homebrew/Cellar/tcl-tk@8/8.6.15 (3,069 files, 35.7MB)
  Poured from bottle using the formulae.brew.sh API on 2024-11-28 at 14:38:32
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/t/[email protected]
License: TCL
==> Dependencies
Required: openssl@3 ✔
==> Caveats
The sqlite3_analyzer binary is in the `sqlite-analyzer` formula.

tcl-tk@8 is keg-only, which means it was not symlinked into /opt/homebrew,
because this is an alternate version of another formula.

If you need to have tcl-tk@8 first in your PATH, run:
  echo 'export PATH="/opt/homebrew/opt/tcl-tk@8/bin:$PATH"' >> ~/.zshrc

For compilers to find tcl-tk@8 you may need to set:
  export LDFLAGS="-L/opt/homebrew/opt/tcl-tk@8/lib"
  export CPPFLAGS="-I/opt/homebrew/opt/tcl-tk@8/include"

For pkg-config to find tcl-tk@8 you may need to set:
  export PKG_CONFIG_PATH="/opt/homebrew/opt/tcl-tk@8/lib/pkgconfig"
==> Analytics
install: 12,709 (30 days), 12,737 (90 days), 12,738 (365 days)
install-on-request: 280 (30 days), 310 (90 days), 310 (365 days)
build-error: 8 (30 days)

Perhaps a comment like?

        brew install pkg-config [email protected] xz gdbm tcl-tk@8 make
        # Because alternate versions are not symlinked into place by default:
        brew link tcl-tk@8

- name: Configure CPython
run: |
GDBM_CFLAGS="-I$(brew --prefix gdbm)/include" \
Expand Down
Loading