8c99aab3ea
The old hard-coded lists are now used to test system parsing. In the process, make an `assertTrue` in release lib for eval tests; also use it in release-cross
45 lines
1.6 KiB
Nix
45 lines
1.6 KiB
Nix
let lists = import ../lists.nix; in
|
|
let parse = import ./parse.nix; in
|
|
let inherit (import ../attrsets.nix) matchAttrs; in
|
|
|
|
let
|
|
all = [
|
|
"aarch64-linux"
|
|
"armv5tel-linux" "armv6l-linux" "armv7l-linux"
|
|
|
|
"mips64el-linux"
|
|
|
|
"i686-cygwin" "i686-freebsd" "i686-linux" "i686-netbsd" "i686-openbsd"
|
|
|
|
"x86_64-cygwin" "x86_64-darwin" "x86_64-freebsd" "x86_64-linux"
|
|
"x86_64-netbsd" "x86_64-openbsd" "x86_64-solaris"
|
|
];
|
|
|
|
allParsed = map parse.mkSystemFromString all;
|
|
|
|
filterDoubles = f: map parse.doubleFromSystem (lists.filter f allParsed);
|
|
|
|
in rec {
|
|
inherit all;
|
|
|
|
allBut = platforms: lists.filter (x: !(builtins.elem x platforms)) all;
|
|
none = [];
|
|
|
|
arm = filterDoubles (matchAttrs { cpu = { family = "arm"; bits = 32; }; });
|
|
i686 = filterDoubles parse.isi686;
|
|
mips = filterDoubles (matchAttrs { cpu = { family = "mips"; }; });
|
|
x86_64 = filterDoubles parse.isx86_64;
|
|
|
|
cygwin = filterDoubles (matchAttrs { kernel = parse.kernels.cygwin; });
|
|
darwin = filterDoubles parse.isDarwin;
|
|
freebsd = filterDoubles (matchAttrs { kernel = parse.kernels.freebsd; });
|
|
gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }); # Should be better
|
|
illumos = filterDoubles (matchAttrs { kernel = parse.kernels.solaris; });
|
|
linux = filterDoubles parse.isLinux;
|
|
netbsd = filterDoubles (matchAttrs { kernel = parse.kernels.netbsd; });
|
|
openbsd = filterDoubles (matchAttrs { kernel = parse.kernels.openbsd; });
|
|
unix = filterDoubles parse.isUnix;
|
|
|
|
mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux"];
|
|
}
|