summary refs log tree commit diff
path: root/pkgs/stdenv/generic
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-11-04 20:32:49 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-11-04 21:11:00 +0100
commit754704ea1884563beda72ddff2ab328e690278d0 (patch)
tree79a82650866e2efa46b1b1b5e8b83eb3c259f7cb /pkgs/stdenv/generic
parent01087750bacd329543c69876c0a7faac395098d3 (diff)
downloadnixpkgs-754704ea1884563beda72ddff2ab328e690278d0.tar
nixpkgs-754704ea1884563beda72ddff2ab328e690278d0.tar.gz
nixpkgs-754704ea1884563beda72ddff2ab328e690278d0.tar.bz2
nixpkgs-754704ea1884563beda72ddff2ab328e690278d0.tar.lz
nixpkgs-754704ea1884563beda72ddff2ab328e690278d0.tar.xz
nixpkgs-754704ea1884563beda72ddff2ab328e690278d0.tar.zst
nixpkgs-754704ea1884563beda72ddff2ab328e690278d0.zip
Allow packages to be marked as "broken" by setting meta.broken
The effect is that they won't show up in "nix-env -qa" anymore.
Diffstat (limited to 'pkgs/stdenv/generic')
-rw-r--r--pkgs/stdenv/generic/default.nix4
1 files changed, 4 insertions, 0 deletions
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index f8aff33a327..083a71548b9 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -18,6 +18,8 @@ let
 
   allowUnfree = config.allowUnfree or true && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1";
 
+  allowBroken = builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
+
   stdenvGenerator = setupScript: rec {
 
     # The stdenv that we are producing.
@@ -51,6 +53,8 @@ let
         mkDerivation = attrs:
           if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) then
             throw "package ‘${attrs.name}’ has an unfree license, refusing to evaluate"
+          else if !allowBroken && attrs.meta.broken or false then
+            throw "you can't use package ‘${attrs.name}’ because it has been marked as broken"
           else
             lib.addPassthru (derivation (
               (removeAttrs attrs ["meta" "passthru" "crossAttrs"])