summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/default.nix2
-rw-r--r--lib/systems/default.nix1
-rw-r--r--lib/systems/doubles.nix4
-rw-r--r--lib/systems/for-meta.nix27
4 files changed, 31 insertions, 3 deletions
diff --git a/lib/default.nix b/lib/default.nix
index 7bd02106f7b6..cbe0a0ba21b5 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -47,7 +47,7 @@ let
     filesystem = callLibs ./filesystem.nix;
 
     # back-compat aliases
-    platforms = systems.doubles;
+    platforms = systems.forMeta;
 
     inherit (builtins) add addErrorContext attrNames
       concatLists deepSeq elem elemAt filter genericClosure genList
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index d5a206e620c8..bd408e00bb14 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -3,6 +3,7 @@
 
 rec {
   doubles = import ./doubles.nix { inherit lib; };
+  forMeta = import ./for-meta.nix { inherit lib; };
   parse = import ./parse.nix { inherit lib; };
   inspect = import ./inspect.nix { inherit lib; };
   platforms = import ./platforms.nix { inherit lib; };
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index 0e1ee62ac950..012a1786a3cc 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -30,14 +30,14 @@ in rec {
   aarch64 = filterDoubles predicates.isAarch64;
   x86     = filterDoubles predicates.isx86;
   i686    = filterDoubles predicates.isi686;
-  mips    = filterDoubles predicates.isMips;
   x86_64  = filterDoubles predicates.isx86_64;
+  mips    = filterDoubles predicates.isMips;
 
   cygwin  = filterDoubles predicates.isCygwin;
   darwin  = filterDoubles predicates.isDarwin;
   freebsd = filterDoubles predicates.isFreeBSD;
   # Should be better, but MinGW is unclear, and HURD is bit-rotted.
-  gnu     = filterDoubles (matchAttrs { kernel = parse.kernels.linux;  abi = parse.abis.gnu; });
+  gnu     = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; });
   illumos = filterDoubles predicates.isSunOS;
   linux   = filterDoubles predicates.isLinux;
   netbsd  = filterDoubles predicates.isNetBSD;
diff --git a/lib/systems/for-meta.nix b/lib/systems/for-meta.nix
new file mode 100644
index 000000000000..0a7a4bf5b0cc
--- /dev/null
+++ b/lib/systems/for-meta.nix
@@ -0,0 +1,27 @@
+{ lib }:
+let
+  inherit (lib.systems) parse;
+  inherit (lib.systems.inspect) patterns;
+
+in rec {
+  inherit (lib.systems.doubles) all mesaPlatforms;
+  none = [];
+
+  arm     = [ patterns.Arm ];
+  aarch64 = [ patterns.Aarch64 ];
+  x86     = [ patterns.x86 ];
+  i686    = [ patterns.i686 ];
+  x86_64  = [ patterns.x86_64 ];
+  mips    = [ patterns.Mips ];
+
+  cygwin  = [ patterns.Cygwin ];
+  darwin  = [ patterns.Darwin ];
+  freebsd = [ patterns.FreeBSD ];
+  # Should be better, but MinGW is unclear, and HURD is bit-rotted.
+  gnu     = [ { kernel = parse.kernels.linux; abi = parse.abis.gnu; } ];
+  illumos = [ patterns.SunOS ];
+  linux   = [ patterns.Linux ];
+  netbsd  = [ patterns.NetBSD ];
+  openbsd = [ patterns.OpenBSD ];
+  unix    = patterns.Unix; # Actually a list
+}