rustc,rustPlatform.buildRustPackage: broaden platforms

rustc supports way more platforms than Linux and Darwin.  We might not
be able to build it for every platform at the moment, but that's what
meta.broken is for.

There are other platforms that rustc can produce binaries for, but
can't run on itself, so those are listed in the defaults for
buildRustPackage.
This commit is contained in:
Alyssa Ross 2023-04-24 17:35:35 +00:00
parent a9c543c469
commit 57e73d23bb
2 changed files with 24 additions and 2 deletions

View file

@ -158,6 +158,15 @@ stdenv.mkDerivation ((removeAttrs args [ "depsExtraArgs" "cargoUpdateHook" "carg
meta = {
# default to Rust's platforms
platforms = rustc.meta.platforms;
platforms = rustc.meta.platforms ++ [
# Platforms without host tools from
# https://doc.rust-lang.org/nightly/rustc/platform-support.html
"armv7a-darwin"
"armv5tel-linux" "armv6l-linux" "armv7a-linux" "m68k-linux"
"riscv32-linux"
"armv6l-netbsd"
"x86_64-redox"
"wasm32-wasi"
];
} // meta;
})

View file

@ -232,6 +232,19 @@ in stdenv.mkDerivation rec {
description = "A safe, concurrent, practical language";
maintainers = with maintainers; [ cstrahan globin havvy ] ++ teams.rust.members;
license = [ licenses.mit licenses.asl20 ];
platforms = platforms.linux ++ platforms.darwin;
platforms = [
# Platforms with host tools from
# https://doc.rust-lang.org/nightly/rustc/platform-support.html
"x86_64-darwin" "i686-darwin" "aarch64-darwin"
"i686-freebsd13" "x86_64-freebsd13"
"x86_64-solaris"
"aarch64-linux" "armv7l-linux" "i686-linux" "mipsel-linux"
"mips64el-linux" "powerpc64-linux" "powerpc64le-linux"
"riscv64-linux" "s390x-linux" "x86_64-linux"
"aarch64-netbsd" "armv7l-netbsd" "i686-netbsd" "powerpc-netbsd"
"x86_64-netbsd"
"i686-openbsd" "x86_64-openbsd"
"i686-windows" "x86_64-windows"
];
};
}