diff options
Diffstat (limited to 'nixpkgs/lib/systems')
-rw-r--r-- | nixpkgs/lib/systems/default.nix | 1 | ||||
-rw-r--r-- | nixpkgs/lib/systems/doubles.nix | 11 | ||||
-rw-r--r-- | nixpkgs/lib/systems/inspect.nix | 1 | ||||
-rw-r--r-- | nixpkgs/lib/systems/parse.nix | 3 |
4 files changed, 15 insertions, 1 deletions
diff --git a/nixpkgs/lib/systems/default.nix b/nixpkgs/lib/systems/default.nix index 4ca932d1792..210674cc639 100644 --- a/nixpkgs/lib/systems/default.nix +++ b/nixpkgs/lib/systems/default.nix @@ -65,6 +65,7 @@ rec { freebsd = "FreeBSD"; openbsd = "OpenBSD"; wasi = "Wasi"; + genode = "Genode"; }.${final.parsed.kernel.name} or null; # uname -p diff --git a/nixpkgs/lib/systems/doubles.nix b/nixpkgs/lib/systems/doubles.nix index 96e602d0e16..a839b3d3d57 100644 --- a/nixpkgs/lib/systems/doubles.nix +++ b/nixpkgs/lib/systems/doubles.nix @@ -26,9 +26,17 @@ let "riscv32-linux" "riscv64-linux" - "aarch64-none" "avr-none" "arm-none" "i686-none" "x86_64-none" "powerpc-none" "msp430-none" "riscv64-none" "riscv32-none" "vc4-none" + "arm-none" "armv6l-none" "aarch64-none" + "avr-none" + "i686-none" "x86_64-none" + "powerpc-none" + "msp430-none" + "riscv64-none" "riscv32-none" + "vc4-none" "js-ghcjs" + + "aarch64-genode" "x86_64-genode" ]; allParsed = map parse.mkSystemFromString all; @@ -62,6 +70,7 @@ in { unix = filterDoubles predicates.isUnix; wasi = filterDoubles predicates.isWasi; windows = filterDoubles predicates.isWindows; + genode = filterDoubles predicates.isGenode; embedded = filterDoubles predicates.isNone; diff --git a/nixpkgs/lib/systems/inspect.nix b/nixpkgs/lib/systems/inspect.nix index 01dcf0787df..90a1fb6d80c 100644 --- a/nixpkgs/lib/systems/inspect.nix +++ b/nixpkgs/lib/systems/inspect.nix @@ -47,6 +47,7 @@ rec { isMinGW = { kernel = kernels.windows; abi = abis.gnu; }; isWasi = { kernel = kernels.wasi; }; isGhcjs = { kernel = kernels.ghcjs; }; + isGenode = { kernel = kernels.genode; }; isNone = { kernel = kernels.none; }; isAndroid = [ { abi = abis.android; } { abi = abis.androideabi; } ]; diff --git a/nixpkgs/lib/systems/parse.nix b/nixpkgs/lib/systems/parse.nix index 6a02dbb5152..648e7c27024 100644 --- a/nixpkgs/lib/systems/parse.nix +++ b/nixpkgs/lib/systems/parse.nix @@ -279,6 +279,7 @@ rec { wasi = { execFormat = wasm; families = { }; }; windows = { execFormat = pe; families = { }; }; ghcjs = { execFormat = unknown; families = { }; }; + genode = { execFormat = elf; families = { }; }; } // { # aliases # 'darwin' is the kernel for all of them. We choose macOS by default. darwin = kernels.macos; @@ -395,6 +396,8 @@ rec { then { cpu = elemAt l 0; vendor = "unknown"; kernel = elemAt l 1; abi = elemAt l 2; } else if (elemAt l 2 == "ghcjs") then { cpu = elemAt l 0; vendor = "unknown"; kernel = elemAt l 2; } + else if hasPrefix "genode" (elemAt l 2) + then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; } else throw "Target specification with 3 components is ambiguous"; "4" = { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; abi = elemAt l 3; }; }.${toString (length l)} |