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:34 +0100
committerFrederik Rietdijk <fridh@fridh.nl>2020-11-11 16:00:34 +0100
commit4076ffe580d3487203874f69145a4203d68eb247 (patch)
treed71b780ca7c3b963a45087e93674ea7b5ca41a5e /pkgs/stdenv
parentfad425cfbb125faa45c0508c19aff21f6faee5f3 (diff)
parentf70be9a3d1fec2cb0ac3ed94a04ecc85c389a4b3 (diff)
downloadnixlib-4076ffe580d3487203874f69145a4203d68eb247.tar
nixlib-4076ffe580d3487203874f69145a4203d68eb247.tar.gz
nixlib-4076ffe580d3487203874f69145a4203d68eb247.tar.bz2
nixlib-4076ffe580d3487203874f69145a4203d68eb247.tar.lz
nixlib-4076ffe580d3487203874f69145a4203d68eb247.tar.xz
nixlib-4076ffe580d3487203874f69145a4203d68eb247.tar.zst
nixlib-4076ffe580d3487203874f69145a4203d68eb247.zip
Merge staging-next into staging
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.