Skip to content

Remove the checked-in python3XY.zip; MREmbeddedPython's build generates it with update_python_zip.py - #7113

Merged
Fedr merged 3 commits into
masterfrom
remove-checked-in-python-zip
Oct 14, 2026
Merged

Fedr merged 3 commits into
masterfrom
remove-checked-in-python-zip

Conversation

@Fedr

@Fedr Fedr commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

thirdparty/python/python311.zip and python312.zip were python.org's Windows embeddable standard library, checked in by hand and copied next to python3XY.dll by the Windows builds. Since #7101 scripts/update_python_zip.py builds the same archive from the CPython sources of vcpkg's python3 port, so it always matches the Python vcpkg builds. This PR removes the checked-in archives and has the build of MREmbeddedPython, the project that needs the zip, generate it.

  • Deleted: thirdparty/python/python311.zip, python312.zip and readme.md. python311.zip was unused: every Windows CI job uses vcpkg 2026.07.29, whose python3 port is 3.12.
  • MSBuild: MREmbeddedPython.vcxproj gets a BuildPythonZip target after Build, which runs the script with vcpkg's own tools\python3\python.exe and writes $(OutDir)python$(PythonVersion).zip. Its inputs are the script and that python.exe, so it runs once and is skipped while the zip is up to date (checked locally: 36 s the first time, then "Skipping target BuildPythonZip because all output files are up-to-date"). It is skipped when vcpkg has no Python (the iterator-debug triplet).
  • CMake: MREmbeddedPython/CMakeLists.txt replaces the zip copy with a custom command and an ALL custom target doing the same, under the same conditions.
  • The first build needs network access to download the CPython source archive (about 27 MB from GitHub), verified against the port's SHA512. On Windows arm64 this works since arm64-windows: build OpenSSL with /Gs, avoiding an MSVC /O2 /Gs0 codegen bug that crashed every TLS handshake #7121.
  • Licenses: the manifest's Python entry tracked the hashes of the two zips; it now tracks the python3 vcpkg port (3.12.13#1, re-pinned with scripts/check_third_party_licenses.py --update-versions). The license text is unchanged.

The zip built this way was checked against CPython's tagged sources (the .pyc files embed source hashes): it is 3.12.13, as is vcpkg's python312.dll, while the checked-in one was python.org's 3.12.10.

🤖 Generated with Claude Code

…hon_zip.py

thirdparty/python/python311.zip and python312.zip (python.org's embeddable
standard library) are deleted; the Windows builds no longer copy them next to
python3XY.dll. Run scripts/update_python_zip.py --output <bin dir> instead, which
builds the zip from the CPython sources of vcpkg's python3 port. Windows CI does
that right after the build, with the py-launcher Python of the same minor version.
The license manifest's Python entry now tracks the python3 vcpkg port.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fedr and others added 2 commits October 13, 2026 13:26
…as no Python

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… of a CI step (review)

MREmbeddedPython.vcxproj gets a BuildPythonZip target after Build, and its
CMakeLists.txt a custom command: both run scripts/update_python_zip.py with
vcpkg's own tools/python3/python.exe, writing python3XY.zip next to
python3XY.dll, only when the zip is missing or the script or that Python
changed (skipped when vcpkg has no Python, e.g. the iterator-debug triplet).
Every Windows build gets the zip, so the Windows CI step is removed. vcpkg's
arm64 Python handles HTTPS since #7121.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Fedr Fedr changed the title Remove the checked-in python3XY.zip; Windows builds use scripts/update_python_zip.py Remove the checked-in python3XY.zip; MREmbeddedPython's build generates it with update_python_zip.py Oct 14, 2026
@Fedr
Fedr merged commit 77e55a0 into master Oct 14, 2026
34 checks passed
@Fedr
Fedr deleted the remove-checked-in-python-zip branch October 14, 2026 13:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants