summary refs log tree commit diff
path: root/pkgs/top-level/release-lib.nix
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2018-03-19 18:03:46 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2018-03-19 19:29:16 -0400
commite547bd0dc419cdbe2e8d8440224b252f723590ab (patch)
tree56bcf02f80daba865e1aa7e5c9cf9b65ad21a62d /pkgs/top-level/release-lib.nix
parenteae19f3c28503a8623b0fee10bfb0b3322122637 (diff)
downloadnixpkgs-e547bd0dc419cdbe2e8d8440224b252f723590ab.tar
nixpkgs-e547bd0dc419cdbe2e8d8440224b252f723590ab.tar.gz
nixpkgs-e547bd0dc419cdbe2e8d8440224b252f723590ab.tar.bz2
nixpkgs-e547bd0dc419cdbe2e8d8440224b252f723590ab.tar.lz
nixpkgs-e547bd0dc419cdbe2e8d8440224b252f723590ab.tar.xz
nixpkgs-e547bd0dc419cdbe2e8d8440224b252f723590ab.tar.zst
nixpkgs-e547bd0dc419cdbe2e8d8440224b252f723590ab.zip
lib: Factor in tiny bit of `meta.platform` checking
I need it in stdenv and release-lib, so that seems motivation enough.
Diffstat (limited to 'pkgs/top-level/release-lib.nix')
-rw-r--r--pkgs/top-level/release-lib.nix16
1 files changed, 5 insertions, 11 deletions
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index e377ca30f3a..dbeb13d4bd3 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -98,18 +98,12 @@ rec {
   packagePlatforms = mapAttrs (name: value:
     let res = builtins.tryEval (
       if isDerivation value then
-        # TODO(@Ericson2314) deduplicate with `checkPlatform` in
-        # `pkgs/stdenv/generic/check-meta.nix`.
         value.meta.hydraPlatforms or (let
-            raw = value.meta.platforms or [ "x86_64-linux" ];
-            toPattern = x: if builtins.isString x
-                           then { system = x; }
-                           else { parsed = x; };
-            uniform = map toPattern raw;
-            pred = hostPlatform:
-              lib.any (pat: lib.matchAttrs pat hostPlatform) uniform;
-            pred' = system: pred (lib.systems.elaborate { inherit system; });
-         in lib.filter pred' supportedSystems)
+            linuxDefaulted = value.meta.platforms or [ "x86_64-linux" ];
+            pred = system: lib.any
+              (lib.meta.platformMatch (lib.systems.elaborate { inherit system; }))
+              linuxDefaulted;
+          in lib.filter pred supportedSystems)
       else if value.recurseForDerivations or false || value.recurseForRelease or false then
         packagePlatforms value
       else