diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix index 75ba17347efa..10d72f0f6c10 100644 --- a/lib/systems/doubles.nix +++ b/lib/systems/doubles.nix @@ -32,6 +32,7 @@ let # Linux "aarch64-linux" + "arc-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" @@ -143,6 +144,7 @@ in vc4 = filterDoubles predicates.isVc4; or1k = filterDoubles predicates.isOr1k; m68k = filterDoubles predicates.isM68k; + arc = filterDoubles predicates.isArc; s390 = filterDoubles predicates.isS390; s390x = filterDoubles predicates.isS390x; loongarch64 = filterDoubles predicates.isLoongArch64; diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index 3f426b6b2bfe..274d6a1af729 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -239,6 +239,10 @@ rec { config = "m68k-unknown-linux-gnu"; }; + arc = { + config = "arc-unknown-linux-gnu"; + }; + s390 = { config = "s390-unknown-linux-gnu"; }; diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index c5f328b0eaaa..499f0ce774d5 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -229,6 +229,11 @@ rec { family = "m68k"; }; }; + isArc = { + cpu = { + family = "arc"; + }; + }; isS390 = { cpu = { family = "s390"; diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index cc787df92085..93f33dd53613 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -382,6 +382,12 @@ rec { family = "or1k"; }; + arc = { + bits = 32; + significantByte = littleEndian; + family = "arc"; + }; + loongarch64 = { bits = 64; significantByte = littleEndian; diff --git a/lib/tests/systems.nix b/lib/tests/systems.nix index 30ecc876539e..9348e37a9d7b 100644 --- a/lib/tests/systems.nix +++ b/lib/tests/systems.nix @@ -163,6 +163,7 @@ lib.runTests ( testillumos = mseteq illumos [ "x86_64-solaris" ]; testlinux = mseteq linux [ "aarch64-linux" + "arc-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 1f84ee073af5..5aa0829e2cf1 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -250,6 +250,7 @@ in loongarch64-linux = mapTestOnCross systems.examples.loongarch64-linux linuxCommon; m68k = mapTestOnCross systems.examples.m68k linuxCommon; + arc = mapTestOnCross systems.examples.arc linuxCommon; s390x = mapTestOnCross systems.examples.s390x linuxCommon; # (Cross-compiled) Linux on x86