about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/teleport/generic.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/teleport/generic.nix')
-rw-r--r--nixpkgs/pkgs/servers/teleport/generic.nix12
1 files changed, 7 insertions, 5 deletions
diff --git a/nixpkgs/pkgs/servers/teleport/generic.nix b/nixpkgs/pkgs/servers/teleport/generic.nix
index e47845ea56c6..51bea403f7db 100644
--- a/nixpkgs/pkgs/servers/teleport/generic.nix
+++ b/nixpkgs/pkgs/servers/teleport/generic.nix
@@ -76,10 +76,6 @@ let
 
     cargoDeps = rustPlatform.importCargoLock cargoLock;
 
-    RUSTFLAGS = builtins.concatStringsSep " " [
-      "-C linker=lld"
-    ];
-
     nativeBuildInputs = [ nodejs yarn fixup-yarn-lock ] ++
       lib.optional (lib.versionAtLeast version "15") [
         binaryen
@@ -184,6 +180,12 @@ buildGoModule rec {
     platforms = platforms.unix;
     # go-libfido2 is broken on platforms with less than 64-bit because it defines an array
     # which occupies more than 31 bits of address space.
-    broken = stdenv.hostPlatform.parsed.cpu.bits < 64;
+    broken = stdenv.hostPlatform.parsed.cpu.bits < 64 ||
+      # See comment about wasm32-unknown-unknown in rustc.nix.
+      # version 15 is the first that starts to use wasm
+      (lib.versionAtLeast version "15") && (
+        lib.any (a: lib.hasAttr a stdenv.hostPlatform.gcc) [ "cpu" "float-abi" "fpu" ] ||
+        !stdenv.hostPlatform.gcc.thumb or true
+      );
   };
 }