about summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorAdam Joseph <adam@westernsemico.com>2022-10-09 15:26:14 -0700
committerAlyssa Ross <hi@alyssa.is>2023-01-11 19:31:52 +0000
commit098c6b0becdbf0226b359c69fbfa4911b35a77d9 (patch)
tree3e47a3f7cde448e2a9c359afe632b8c88bd35dd6 /lib
parent0b90e548b5aabea90f01437467467bc73dc61bf1 (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.nix4
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