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.
The goal of this PR is to make it possible to use a mirror of rustup, such as one created using Panamax, with fenix.
To do so, it fixes three issues:
When setting a custom dist server, if the manifest contains links to the default dist server, rustup will automatically replace it with an URL pointing to the custom dist server. This allows making very naive mirrors of the rustup dist server without having to modify the channel manifests.
Currently, fenix allows setting a custom dist server through
toolchainOf
, but it does not replicate this behavior of overriding the URL in the manifests. This PR adds this behavior.Furthermore, it adds a
root
argument tofromToolchainFile
, allowing the simultaneous use of a toolchain file and a custom dist server.Finally, it replaces the archive it gets from the
gz
ones toxz
ones. Rust started providingxz
archives in may 2017, and rustup switched to grabbing thexz
archives not long after. Panamax, the most popular tool to mirrorrustup
, defaults to only grabbing thexz
archives.