about summary refs log tree commit diff
path: root/pkgs/build-support
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
parent5542db35fa99606689c0f3d46f7c835809f00f24 (diff)
downloadnixlib-3bd3809d0e5cb8ada73d0ee856b6ad9121cc907e.tar
nixlib-3bd3809d0e5cb8ada73d0ee856b6ad9121cc907e.tar.gz
nixlib-3bd3809d0e5cb8ada73d0ee856b6ad9121cc907e.tar.bz2
nixlib-3bd3809d0e5cb8ada73d0ee856b6ad9121cc907e.tar.lz
nixlib-3bd3809d0e5cb8ada73d0ee856b6ad9121cc907e.tar.xz
nixlib-3bd3809d0e5cb8ada73d0ee856b6ad9121cc907e.tar.zst
nixlib-3bd3809d0e5cb8ada73d0ee856b6ad9121cc907e.zip
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')
-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 4e3e2045e8ec..d977fb9f7c27 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
     )