Resolve verstamp bootstraping problem | Allow GitHub installs #2349
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Removes the
--skip-verstamp
flag by making it obsolete by resolving the bootstraping (aka chicken & egg) problem.This is done by using a pure python implementation rather than relying on
pywin32
itself. The implementation was originally pulled from https://github.com/enthought/pywin32-ctypes/blob/main/win32ctypes/win32api.py , then adapted, simplified and typed.I also fixed the
bulkstamp
script enough that it can at least run (but I haven't yet properly tested it)I considered moving
win32/Lib/win32verstamp.py
towin32/scripts/VersionStamp/verstamp.py
, but someone downstream might be usingwin32verstamp
to stamp their own executables, so I left it there. (maybe it should be moved, with a deprecated alias left inwin32/Lib
)Closes #2306, fixes #2386 and addresses one of the points in #2208 by removing the flag entirely.
I left in the
make_all.bat
/build_all.bat
scripts for now. But the release process can now be simplified to just downloading the artefacts on the CI instead of rebuilding everything locally.