summary refs log tree commit diff
path: root/pkgs/stdenv/generic/default.nix
diff options
context:
space:
mode:
authorBjørn Forsman <bjorn.forsman@gmail.com>2014-04-30 21:51:03 +0200
committerBjørn Forsman <bjorn.forsman@gmail.com>2014-06-21 15:04:39 +0200
commitabfaf423332cd2980cfc44b53962a8d4e7847d51 (patch)
treef4e67ab0b965d4ddb7e16de2ea60ac990a7abfcf /pkgs/stdenv/generic/default.nix
parentf7c72829648675f7d5bb6d3220d0fe0bb3091ac7 (diff)
downloadnixpkgs-abfaf423332cd2980cfc44b53962a8d4e7847d51.tar
nixpkgs-abfaf423332cd2980cfc44b53962a8d4e7847d51.tar.gz
nixpkgs-abfaf423332cd2980cfc44b53962a8d4e7847d51.tar.bz2
nixpkgs-abfaf423332cd2980cfc44b53962a8d4e7847d51.tar.lz
nixpkgs-abfaf423332cd2980cfc44b53962a8d4e7847d51.tar.xz
nixpkgs-abfaf423332cd2980cfc44b53962a8d4e7847d51.tar.zst
nixpkgs-abfaf423332cd2980cfc44b53962a8d4e7847d51.zip
More helpful message when refusing to evaluate "broken" package
A "broken" package is one where either "meta.broken = true" or build
platform != meta.platforms.
Diffstat (limited to 'pkgs/stdenv/generic/default.nix')
-rw-r--r--pkgs/stdenv/generic/default.nix14
1 files changed, 12 insertions, 2 deletions
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 6047ecf853c..ab9af40cc67 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -84,9 +84,19 @@ let
               { allowUnfree = true; }
             to ~/.nixpkgs/config.nix.''
         else if !allowBroken && attrs.meta.broken or false then
-          throw "you can't use package ‘${attrs.name}’ in ${pos'} because it has been marked as broken"
+          throw ''
+            Package ‘${attrs.name}’ in ${pos'} is marked as broken, refusing to evaluate. You can set
+              { nixpkgs.config.allowBroken = true; }
+            in configuration.nix to override this. If you use Nix standalone, you can add
+              { allowBroken = true; }
+            to ~/.nixpkgs/config.nix.''
         else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem result.system attrs.meta.platforms then
-          throw "the package ‘${attrs.name}’ in ${pos'} is not supported on ‘${result.system}’"
+          throw ''
+            Package ‘${attrs.name}’ in ${pos'} is not supported on ‘${result.system}’, refusing to evaluate. You can set
+              { nixpkgs.config.allowBroken = true; }
+            in configuration.nix to override this. If you use Nix standalone, you can add
+              { allowBroken = true; }
+            to ~/.nixpkgs/config.nix.''
         else
           lib.addPassthru (derivation (
             (removeAttrs attrs ["meta" "passthru" "crossAttrs"])