about summary refs log tree commit diff
path: root/pkgs/build-support/rust/build-rust-crate
diff options
context:
space:
mode:
authorAdam Joseph <adam@westernsemico.com>2023-07-24 21:41:22 -0700
committerAdam Joseph <54836058+amjoseph-nixpkgs@users.noreply.github.com>2023-10-23 08:38:25 +0000
commit3bd3809d0e5cb8ada73d0ee856b6ad9121cc907e (patch)
tree1707e011dd277d033f4e5422110f967763899252 /pkgs/build-support/rust/build-rust-crate
parent5542db35fa99606689c0f3d46f7c835809f00f24 (diff)
buildRustCrate: add isMips64n32 to badPlatforms
Rust is not yet able to target the n32 ABI on mips64.

Let's add `isMips64n32` to the `meta.badPlatforms` of all
derivations created by buildRustCrate.

I use this to automatically detect which packages on my system can
be built for n32 (almost all of them) and build those using n32, and
the few packages (mainly those that depend on boost or rust) that
can't for n64.
Diffstat (limited to 'pkgs/build-support/rust/build-rust-crate')
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix4
1 files changed, 4 insertions, 0 deletions
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index 4e3e2045e8ec4..d977fb9f7c27e 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -366,6 +366,10 @@ crate_: lib.makeOverridable
 
       meta = {
         mainProgram = crateName;
+        badPlatforms = [
+          # Rust is currently unable to target the n32 ABI
+          lib.systems.inspect.patterns.isMips64n32
+        ];
       };
     } // extraDerivationAttrs
     )