build: Clean up downloading process - #2017
Open
TheJanzap wants to merge 6 commits into
Open
Conversation
TheJanzap
force-pushed
the
build-check-if-binary-exists
branch
from
July 15, 2026 09:24
56a24d8 to
af6c303
Compare
This ensures `curl.exe` is used instead of `Invoke-WebRequest` on the preinstalled PowerShell 5 on Windows
TheJanzap
force-pushed
the
build-check-if-binary-exists
branch
from
July 28, 2026 11:54
6a692c2 to
a87c6bb
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR cleans up the pre-built archive download functionality in
build.rs. I originally worked on this because on a fresh install of Windows, none of the downloaders are available and the build fails.I implemented the following changes:
python()now checksPATHforpythonandpython3if thePYTHONenv var doesn't exist or is empty. Additionally, it checks whether the recieved path from those methods is a valid executable. For most calls, I usedexpect(), as the build from source requires Python to be present. However, just downloading the prebuilt archive does not.download_file()to more cleanly show in what order the downloaders are executed. The execution of the downloaders has been moved to seperate functionscurlis present. This also usescurl.exeinstead of the alias forInvoke-WebRequeston the preinstalled PowerShell 5.1 on Windows.