about summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2020-11-11 16:00:11 +0100
committerFrederik Rietdijk <fridh@fridh.nl>2020-11-11 16:00:11 +0100
commitf70be9a3d1fec2cb0ac3ed94a04ecc85c389a4b3 (patch)
tree6831180646e03b7331ad1fc6d5b6cb3145ed92e3 /pkgs/stdenv
parent379aaa1e0cb9ba38cf2071c049a7478adefb4827 (diff)
parent280e27327d4990245d418cd10a9d14cfd6df6f05 (diff)
downloadnixlib-f70be9a3d1fec2cb0ac3ed94a04ecc85c389a4b3.tar
nixlib-f70be9a3d1fec2cb0ac3ed94a04ecc85c389a4b3.tar.gz
nixlib-f70be9a3d1fec2cb0ac3ed94a04ecc85c389a4b3.tar.bz2
nixlib-f70be9a3d1fec2cb0ac3ed94a04ecc85c389a4b3.tar.lz
nixlib-f70be9a3d1fec2cb0ac3ed94a04ecc85c389a4b3.tar.xz
nixlib-f70be9a3d1fec2cb0ac3ed94a04ecc85c389a4b3.tar.zst
nixlib-f70be9a3d1fec2cb0ac3ed94a04ecc85c389a4b3.zip
Merge master into staging-next
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/generic/check-meta.nix20
1 files changed, 15 insertions, 5 deletions
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index b93ea558eac2..0ceb60535f55 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -80,9 +80,9 @@ let
   pos_str = meta: meta.position or "«unknown-file»";
 
   remediation = {
-    unfree = remediate_whitelist "Unfree";
-    broken = remediate_whitelist "Broken";
-    unsupported = remediate_whitelist "UnsupportedSystem";
+    unfree = remediate_whitelist "Unfree" remediate_unfree_predicate;
+    broken = remediate_whitelist "Broken" (x: "");
+    unsupported = remediate_whitelist "UnsupportedSystem" (x: "");
     blacklisted = x: "";
     insecure = remediate_insecure;
     broken-outputs = remediateOutputsToInstall;
@@ -98,7 +98,17 @@ let
     Broken = "broken packages";
     UnsupportedSystem = "packages that are unsupported for this system";
   }.${allow_attr};
-  remediate_whitelist = allow_attr: attrs:
+  remediate_unfree_predicate = attrs:
+    ''
+
+      Alternatively you can configure a predicate to whitelist specific packages:
+        { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
+            "${lib.getName attrs}"
+          ];
+        }
+    '';
+
+  remediate_whitelist = allow_attr: rebuild_amendment: attrs:
     ''
       a) To temporarily allow ${remediation_phrase allow_attr}, you can use an environment variable
          for a single invocation of the nix tools.
@@ -108,7 +118,7 @@ let
       b) For `nixos-rebuild` you can set
         { nixpkgs.config.allow${allow_attr} = true; }
       in configuration.nix to override this.
-
+      ${rebuild_amendment attrs}
       c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
         { allow${allow_attr} = true; }
       to ~/.config/nixpkgs/config.nix.