Merge #318447: rustc: disable wasm32 if some gcc options are set

...into staging-next

Changed files
+25 -2
pkgs
applications
blockchains
polkadot
misc
pagefind
by-name
re
rerun
su
surrealist
te
tetrio-desktop
development
compilers
rust
servers
ldap
lldap
teleport
+3
pkgs/applications/blockchains/polkadot/default.nix
···
license = licenses.gpl3Only;
maintainers = with maintainers; [ akru andresilva FlorianFranzen RaghavSood ];
platforms = platforms.unix;
+
# See comment about wasm32-unknown-unknown in rustc.nix.
+
broken = lib.any (a: lib.hasAttr a stdenv.hostPlatform.gcc) [ "cpu" "float-abi" "fpu" ] ||
+
!stdenv.hostPlatform.gcc.thumb or true;
};
}
+3
pkgs/applications/misc/pagefind/default.nix
···
license = licenses.mit;
maintainers = with maintainers; [ pbsds ];
platforms = platforms.unix;
+
# See comment about wasm32-unknown-unknown in rustc.nix.
+
broken = lib.any (a: lib.hasAttr a stdenv.hostPlatform.gcc) [ "cpu" "float-abi" "fpu" ] ||
+
!stdenv.hostPlatform.gcc.thumb or true;
mainProgram = "pagefind";
};
}
+3
pkgs/by-name/re/rerun/package.nix
···
];
maintainers = with maintainers; [ SomeoneSerge ];
mainProgram = "rerun";
+
# See comment about wasm32-unknown-unknown in rustc.nix.
+
broken = lib.any (a: lib.hasAttr a stdenv.hostPlatform.gcc) [ "cpu" "float-abi" "fpu" ] ||
+
!stdenv.hostPlatform.gcc.thumb or true;
};
}
+3
pkgs/by-name/su/surrealist/package.nix
···
mainProgram = "surrealist";
maintainers = with maintainers; [ frankp ];
platforms = platforms.linux;
+
# See comment about wasm32-unknown-unknown in rustc.nix.
+
broken = lib.any (a: lib.hasAttr a stdenv.hostPlatform.gcc) [ "cpu" "float-abi" "fpu" ] ||
+
!stdenv.hostPlatform.gcc.thumb or true;
};
})
+3
pkgs/by-name/te/tetrio-desktop/tetrio-plus.nix
···
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ huantian wackbyte ];
platforms = lib.platforms.linux;
+
# See comment about wasm32-unknown-unknown in rustc.nix.
+
broken = lib.any (a: lib.hasAttr a stdenv.hostPlatform.gcc) [ "cpu" "float-abi" "fpu" ] ||
+
!stdenv.hostPlatform.gcc.thumb or true;
};
};
+3 -1
pkgs/development/compilers/rust/rustc.nix
···
stdenv.targetPlatform.rust.rustcTargetSpec
# Other targets that don't need any extra dependencies to build.
-
] ++ optionals (!fastCross) [
+
# Temporarily broken if some global compiler flags are set:
+
# https://github.com/NixOS/nixpkgs/pull/317273
+
] ++ optionals (!fastCross && !lib.any (a: lib.hasAttr a stdenv.hostPlatform.gcc) [ "cpu" "float-abi" "fpu" ] && stdenv.hostPlatform.gcc.thumb or true) [
"wasm32-unknown-unknown"
# (build!=target): When cross-building a compiler we need to add
+3
pkgs/servers/ldap/lldap/default.nix
···
changelog = "https://github.com/lldap/lldap/blob/v${lldap.version}/CHANGELOG.md";
license = licenses.gpl3Only;
platforms = platforms.linux;
+
# See comment about wasm32-unknown-unknown in rustc.nix.
+
broken = lib.any (a: lib.hasAttr a stdenv.hostPlatform.gcc) [ "cpu" "float-abi" "fpu" ] ||
+
!stdenv.hostPlatform.gcc.thumb or true;
maintainers = with maintainers; [ bendlas ];
mainProgram = "lldap";
};
+4 -1
pkgs/servers/teleport/generic.nix
···
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.
+
lib.any (a: lib.hasAttr a stdenv.hostPlatform.gcc) [ "cpu" "float-abi" "fpu" ] ||
+
!stdenv.hostPlatform.gcc.thumb or true;
};
}