rust-lang / crates-build-env

Build environment for third-party Rust crates
MIT License
69 stars 89 forks source link

Add support for linux/arm64 #116

Closed JanBerktold closed 1 week ago

jyn514 commented 1 year ago

When would this be used? docs.rs and Crater both only build on one host platform.

JanBerktold commented 1 year ago

When would this be used? docs.rs and Crater both only build on one host platform.

You're fast! I haven't even made it work yet.

I'm currently exploring setting up a self-hosted instance of docs.rs for which we'd like to build on an arm64 machine. Additionally, I ran into blockers attempting to develop against docs.rs on my MacBook with Apple Silicon (the build of crates just fails since it attempts to run the docker container w/o enabling virtualization).

Would you be open to accepting a change that adds a dual targeting for the linux-micro image? It appears that the linux image uses packages that are inherently not compatible w/ arm64 anyway.

jyn514 commented 1 year ago

I'm currently exploring setting up a self-hosted instance of docs.rs for which we'd like to build on an arm64 machine. Additionally, I ran into blockers attempting to develop against docs.rs on my MacBook with Apple Silicon (the build of crates just fails since it attempts to run the docker container w/o enabling virtualization).

IMO the fix there is to use a docker container for the main docs.rs server as well as for the build sandboxing.

jyn514 commented 1 year ago

In general it should be possible to run docs.rs on any host as long as it supports an x86 linux docker container. But we currently don't distinguish the host toolchain from the target toolchain, so the host is locked to x86 linux. That's a docs.rs bug, not a crates-build-env bug.

syphar commented 1 year ago

I'm currently exploring setting up a self-hosted instance of docs.rs for which we'd like to build on an arm64 machine. Additionally, I ran into blockers attempting to develop against docs.rs on my MacBook with Apple Silicon (the build of crates just fails since it attempts to run the docker container w/o enabling virtualization).

IMO the fix there is to use a docker container for the main docs.rs server as well as for the build sandboxing.

This doesn't work with apple silicon any more, didn't I get to working through fixing this yet.