summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-01-19 16:39:30 +0000
committerAlyssa Ross <hi@alyssa.is>2023-01-19 17:43:41 +0000
commit48f3fd2d49c59c1bc46d5a83ff353e25aecbf4be (patch)
treea87d7a4d6dc304ba8fffce4a7660c11b1f28e6cc
parentf46ee73ba6851e458dedc78e3f0fe2c6eb099697 (diff)
lib.platforms.armv7: init
-rw-r--r--lib/systems/doubles.nix1
-rw-r--r--lib/systems/inspect.nix3
-rw-r--r--lib/tests/systems.nix1
3 files changed, 5 insertions, 0 deletions
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index 23a44d02e85e..7ec371d0e871 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;
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix
index 270be3a43cd3..7233565a0136 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"; }; };
diff --git a/lib/tests/systems.nix b/lib/tests/systems.nix
index 27c5ff565ca0..e793cdd3ffd0 100644
--- a/lib/tests/systems.nix
+++ b/lib/tests/systems.nix
@@ -16,6 +16,7 @@ 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" ];