diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix index 23a44d02e85e..383dd30bfdb2 100644 --- a/lib/systems/doubles.nix +++ b/lib/systems/doubles.nix @@ -68,6 +68,7 @@ in { none = []; arm = filterDoubles predicates.isAarch32; + armv7 = filterDoubles predicates.isArmv7; aarch64 = filterDoubles predicates.isAarch64; x86 = filterDoubles predicates.isx86; i686 = filterDoubles predicates.isi686; @@ -75,6 +76,7 @@ in { microblaze = filterDoubles predicates.isMicroBlaze; mips = filterDoubles predicates.isMips; mmix = filterDoubles predicates.isMmix; + power = filterDoubles predicates.isPower; riscv = filterDoubles predicates.isRiscV; riscv32 = filterDoubles predicates.isRiscV32; riscv64 = filterDoubles predicates.isRiscV64; @@ -83,6 +85,7 @@ in { or1k = filterDoubles predicates.isOr1k; m68k = filterDoubles predicates.isM68k; s390 = filterDoubles predicates.isS390; + s390x = filterDoubles predicates.isS390x; js = filterDoubles predicates.isJavaScript; bigEndian = filterDoubles predicates.isBigEndian; diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index 270be3a43cd3..a5fed5acf2c5 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -22,6 +22,9 @@ rec { ]; isx86 = { cpu = { family = "x86"; }; }; isAarch32 = { cpu = { family = "arm"; bits = 32; }; }; + isArmv7 = map ({ arch, ... }: { cpu = { inherit arch; }; }) + (lib.filter (cpu: lib.hasPrefix "armv7" cpu.arch or "") + (lib.attrValues cpuTypes)); isAarch64 = { cpu = { family = "arm"; bits = 64; }; }; isAarch = { cpu = { family = "arm"; }; }; isMicroBlaze = { cpu = { family = "microblaze"; }; }; @@ -44,6 +47,7 @@ rec { isOr1k = { cpu = { family = "or1k"; }; }; isM68k = { cpu = { family = "m68k"; }; }; isS390 = { cpu = { family = "s390"; }; }; + isS390x = { cpu = { family = "s390"; bits = 64; }; }; isJavaScript = { cpu = cpuTypes.js; }; is32bit = { cpu = { bits = 32; }; }; diff --git a/lib/tests/systems.nix b/lib/tests/systems.nix index 27c5ff565ca0..88e2e4206d56 100644 --- a/lib/tests/systems.nix +++ b/lib/tests/systems.nix @@ -16,12 +16,15 @@ with lib.systems.doubles; lib.runTests { testall = mseteq all (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ wasi ++ windows ++ embedded ++ mmix ++ js ++ genode ++ redox); testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv6l-netbsd" "armv6l-none" "armv7a-linux" "armv7a-netbsd" "armv7l-linux" "armv7l-netbsd" "arm-none" "armv7a-darwin" ]; + testarmv7 = mseteq armv7 [ "armv7a-darwin" "armv7a-linux" "armv7l-linux" "armv7a-netbsd" "armv7l-netbsd" ]; testi686 = mseteq i686 [ "i686-linux" "i686-freebsd13" "i686-genode" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" "i686-none" "i686-darwin" ]; testmips = mseteq mips [ "mips64el-linux" "mipsel-linux" "mipsel-netbsd" ]; testmmix = mseteq mmix [ "mmix-mmixware" ]; + testpower = mseteq power [ "powerpc-netbsd" "powerpc-none" "powerpc64-linux" "powerpc64le-linux" "powerpcle-none" ]; testriscv = mseteq riscv [ "riscv32-linux" "riscv64-linux" "riscv32-netbsd" "riscv64-netbsd" "riscv32-none" "riscv64-none" ]; testriscv32 = mseteq riscv32 [ "riscv32-linux" "riscv32-netbsd" "riscv32-none" ]; testriscv64 = mseteq riscv64 [ "riscv64-linux" "riscv64-netbsd" "riscv64-none" ]; + tests390x = mseteq s390x [ "s390x-linux" "s390x-none" ]; testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd13" "x86_64-genode" "x86_64-redox" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" "x86_64-none" ]; testcygwin = mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ]; diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index 25a7211ef49d..ea45813303a6 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -119,13 +119,9 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; maintainers = [ lib.maintainers.eelco ]; - platforms = lib.platforms.unix; - badPlatforms = [ - "armv5tel-linux" "armv6l-linux" "armv6m-linux" - "sparc-linux" "sparc64-linux" - "riscv32-linux" "riscv64-linux" - "alpha-linux" - ]; + platforms = with lib.platforms; lib.intersectLists + (x86 ++ power ++ s390x ++ armv7 ++ aarch64 ++ mips) + (darwin ++ freebsd ++ illumos ++ linux); broken = stdenv.isDarwin || stdenv.hostPlatform.isStatic; # https://hydra.nixos.org/build/128521440/nixlog/2 }; }