Eliminate xargo dependency#1709
Conversation
|
Not sure when it quit working, but note that at least as of Rust 1.91 you can no longer build an image from the Dockerfiles due to Xargo: |
m-reichard
left a comment
There was a problem hiding this comment.
Updated cross-rs and was stuck in the weeds of the xargo issues for hours, this totally fixed the problem, which was not at all clear from the cross-rs error.
|
Hm, where was |
Good question, I don't know. @Emilgardis might know |
|
it's available if needed, but we removed the implicit usage of it and opted for nightly build-std instead. |
Emilgardis
left a comment
There was a problem hiding this comment.
There's a bunch of mentions of xargo in the rust source code, these should be removed. Care should be taken to not mess with the build-std paths however
xargo is no longer actively developed and has fortunately become unnecessary due to the build-std option in cargo. Fixes: cross-rs#692
|
I gave it a first try, not entirely sure about the direction |
Emilgardis
left a comment
There was a problem hiding this comment.
one minor nit
sorry, I thought I had sent this review already but I hadn't!
| example, setting `CROSS_BUILD_XARGO=1` is identical to setting `build.xargo = | ||
| true`, and `CROSS_TARGET_AARCH64_UNKNOWN_LINUX_GNU_XARGO=1` is identical to | ||
| `target.aarch64-unknown-linux-gnu.xargo = true`. | ||
| example, setting `CROSS_BUILD_DOCKERFILE=foo` is identical to setting `build.dockerfile = | ||
| foo`. |
There was a problem hiding this comment.
should add an example of a target.<target>. setting here
CROSS_TARGET_AARCH64_UNKNOWN_LINUX_GNU_DOCKERFILE=foo maybe?
There was a problem hiding this comment.
Thanks for your review, I'll do that.
Updates the cross-toolchains submodule to include cross-rs/cross-toolchains#72, which removes xargo.sh references from Dockerfiles. This fixes builds for targets defined in cross-toolchains (e.g. `x86_64-pc-windows-msvc`) after xargo.sh was removed in #1709.
xargo is no longer actively developed and has fortunately become unnecessary due to the build-std option in cargo.
Fixes: #692
The plan is to
tryall targets and see which ones actually needbuild-std. I will then addbuild-stdin targets.toml as needed. It is also possible that I'm missing something else.