From 25e5989261d5e44e7690b3f6f1b198b7d400b2fa Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Thu, 28 Aug 2025 09:36:13 +0300 Subject: [PATCH 1/3] Prefer ZLib from Homebrew/MacPorts if present Zlib from XCode is virtually always present now so it only makes sense to use it from elsewhere if it's preferred. Works around build failure for 2.7 that's incapable of using Zlib from XCode 7+ (see #3301) --- plugins/python-build/bin/python-build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/python-build/bin/python-build b/plugins/python-build/bin/python-build index f7162376..4a6c6b94 100755 --- a/plugins/python-build/bin/python-build +++ b/plugins/python-build/bin/python-build @@ -863,7 +863,7 @@ build_package_standard_build() { use_homebrew_readline || true use_homebrew_ncurses || true if is_mac -ge 1014; then - use_xcode_sdk_zlib || use_homebrew_zlib || true + use_homebrew_zlib || use_xcode_sdk_zlib || true else use_homebrew_zlib || true fi @@ -873,7 +873,7 @@ build_package_standard_build() { use_macports_readline || true use_macports_ncurses || true if is_mac -ge 1014; then - use_xcode_sdk_zlib || use_macports_zlib || true + use_macports_zlib || use_xcode_sdk_zlib || true else use_macports_zlib || true fi From 11c1898abbc18a9636fbb96fe2d8ec0f54fa530b Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Thu, 28 Aug 2025 09:52:24 +0300 Subject: [PATCH 2/3] Fix using Zlib from Homebrew --- plugins/python-build/bin/python-build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/python-build/bin/python-build b/plugins/python-build/bin/python-build index 4a6c6b94..27e793eb 100755 --- a/plugins/python-build/bin/python-build +++ b/plugins/python-build/bin/python-build @@ -1820,7 +1820,8 @@ use_homebrew_zlib() { local brew_zlib="$(brew --prefix zlib 2>/dev/null || true)" if [ -d "$brew_zlib" ]; then echo "python-build: use zlib from homebrew" - export CFLAGS="-I${brew_zlib} ${CFLAGS}" + export CPPFLAGS="-I${brew_zlib}/include${CPPFLAGS:+ ${CPPFLAGS}}" + export LDFLAGS="-L${brew_zlib}/lib${LDFLAGS:+ ${LDFLAGS}}" lock_in homebrew fi } From 7d3854b64d88dccf87106a3a8c51e1dfe8c27789 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Thu, 28 Aug 2025 10:49:32 +0300 Subject: [PATCH 3/3] CI: use ZLib from XCode SDK Everything since 3.5.2 (see #3301) can use it; it's now present in all non-EOL MacOS XCode versions --- .github/workflows/macos_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos_build.yml b/.github/workflows/macos_build.yml index 143c8c41..7450c679 100644 --- a/.github/workflows/macos_build.yml +++ b/.github/workflows/macos_build.yml @@ -24,7 +24,7 @@ jobs: # python-version: ${{ matrix.python-version }} # ... but in the repo, we want to test pyenv builds on macOS - run: | - brew install openssl readline sqlite3 xz zlib + brew install openssl readline sqlite3 xz tcl-tk@8 libb2 zstd # https://github.com/pyenv/pyenv#installation - run: pwd - env: