From 098c6b0becdbf0226b359c69fbfa4911b35a77d9 Mon Sep 17 00:00:00 2001 From: Adam Joseph Date: Sun, 9 Oct 2022 15:26:14 -0700 Subject: 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 --- lib/meta.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'lib') 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 -- cgit 1.4.1