diff options
author | Adam Joseph <adam@westernsemico.com> | 2022-10-09 15:26:14 -0700 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-01-11 19:31:52 +0000 |
commit | 098c6b0becdbf0226b359c69fbfa4911b35a77d9 (patch) | |
tree | 3e47a3f7cde448e2a9c359afe632b8c88bd35dd6 /lib | |
parent | 0b90e548b5aabea90f01437467467bc73dc61bf1 (diff) |
check-meta(hasUnsupportedPlatform): use lib.meta.availableOn
`hasUnsupportedPlatform` was not updated with #37395, so it does not understand attrsets in `meta.[bad]platforms`. In particular, attrsets in `meta.badPlatforms` will "fail open" and be ignored. Let's use `lib.meta.availableOn` instead of duplicating its logic. Thanks to @alyssais for [noticing][1]. [1][https://github.com/NixOS/nixpkgs/pull/194148#discussion_r990817610] Co-authored-by: sternenseemann <sternenseemann@systemli.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/meta.nix | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/meta.nix b/lib/meta.nix index 8f4e7e2c7bf76..62894aeb316b4 100644 --- a/lib/meta.nix +++ b/lib/meta.nix @@ -98,9 +98,7 @@ rec { 2. None of `meta.badPlatforms` pattern matches the given platform. */ availableOn = platform: pkg: - if !(pkg?meta) then true else - (!(pkg.meta ? platforms) || - lib.any (platformMatch platform) pkg.meta.platforms) && + ((!pkg?meta.platforms) || lib.any (platformMatch platform) pkg.meta.platforms) && lib.all (elem: !platformMatch platform elem) (pkg.meta.badPlatforms or []); /* Get the corresponding attribute in lib.licenses |