diff options
author | John Ericson <Ericson2314@yahoo.com> | 2018-03-19 20:12:50 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-19 20:12:50 -0400 |
commit | 3c331bff5b1c00a2c6d24f889b684d7331220b5b (patch) | |
tree | 97721246695f6039d5592b86cb65ed264be1c9c5 /pkgs | |
parent | e8fe2e15489665ac02c3702763b9dcd817beca13 (diff) | |
parent | e547bd0dc419cdbe2e8d8440224b252f723590ab (diff) | |
download | nixlib-3c331bff5b1c00a2c6d24f889b684d7331220b5b.tar nixlib-3c331bff5b1c00a2c6d24f889b684d7331220b5b.tar.gz nixlib-3c331bff5b1c00a2c6d24f889b684d7331220b5b.tar.bz2 nixlib-3c331bff5b1c00a2c6d24f889b684d7331220b5b.tar.lz nixlib-3c331bff5b1c00a2c6d24f889b684d7331220b5b.tar.xz nixlib-3c331bff5b1c00a2c6d24f889b684d7331220b5b.tar.zst nixlib-3c331bff5b1c00a2c6d24f889b684d7331220b5b.zip |
Merge pull request #37395 from obsidiansystems/lib-meta-platform
lib: Factor in tiny bit of `meta.platform` checking
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/stdenv/generic/check-meta.nix | 6 | ||||
-rw-r--r-- | pkgs/top-level/release-lib.nix | 16 |
2 files changed, 7 insertions, 15 deletions
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index 4774d7602437..113b95f3ab00 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -173,10 +173,8 @@ let else "key '${k}' is unrecognized; expected one of: \n\t [${lib.concatMapStringsSep ", " (x: "'${x}'") (lib.attrNames metaTypes)}]"; checkMeta = meta: if shouldCheckMeta then lib.remove null (lib.mapAttrsToList checkMetaAttr meta) else []; - checkPlatform = attrs: let - raw = attrs.meta.platforms; - uniform = map (x: if builtins.isString x then { system = x; } else { parsed = x; }) raw; - in lib.any (pat: lib.matchAttrs pat hostPlatform) uniform; + checkPlatform = attrs: + lib.any (lib.meta.platformMatch hostPlatform) attrs.meta.platforms; # Check if a derivation is valid, that is whether it passes checks for # e.g brokenness or license. diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix index e377ca30f3ac..dbeb13d4bd31 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 |