at 18.09-beta 1.1 kB view raw
1{ lib }: 2let 3 inherit (lib.systems) parse; 4 inherit (lib.systems.inspect) patterns; 5 6 abis = lib.mapAttrs (_: abi: builtins.removeAttrs abi [ "assertions" ]) parse.abis; 7 8in rec { 9 all = [ {} ]; # `{}` matches anything 10 none = []; 11 12 arm = [ patterns.isAarch32 ]; 13 aarch64 = [ patterns.isAarch64 ]; 14 x86 = [ patterns.isx86 ]; 15 i686 = [ patterns.isi686 ]; 16 x86_64 = [ patterns.isx86_64 ]; 17 mips = [ patterns.isMips ]; 18 riscv = [ patterns.isRiscV ]; 19 20 cygwin = [ patterns.isCygwin ]; 21 darwin = [ patterns.isDarwin ]; 22 freebsd = [ patterns.isFreeBSD ]; 23 # Should be better, but MinGW is unclear. 24 gnu = [ 25 { kernel = parse.kernels.linux; abi = abis.gnu; } 26 { kernel = parse.kernels.linux; abi = abis.gnueabi; } 27 { kernel = parse.kernels.linux; abi = abis.gnueabihf; } 28 ]; 29 illumos = [ patterns.isSunOS ]; 30 linux = [ patterns.isLinux ]; 31 netbsd = [ patterns.isNetBSD ]; 32 openbsd = [ patterns.isOpenBSD ]; 33 unix = patterns.isUnix; # Actually a list 34 windows = [ patterns.isWindows ]; 35 36 inherit (lib.systems.doubles) mesaPlatforms; 37}