summaryrefslogtreecommitdiff
path: root/maintainers/scripts/haskell/transitive-broken-packages.nix
diff options
context:
space:
mode:
Diffstat (limited to 'maintainers/scripts/haskell/transitive-broken-packages.nix')
-rw-r--r--maintainers/scripts/haskell/transitive-broken-packages.nix16
1 files changed, 16 insertions, 0 deletions
diff --git a/maintainers/scripts/haskell/transitive-broken-packages.nix b/maintainers/scripts/haskell/transitive-broken-packages.nix
new file mode 100644
index 000000000000..d4ddaa957658
--- /dev/null
+++ b/maintainers/scripts/haskell/transitive-broken-packages.nix
@@ -0,0 +1,16 @@
+let
+ nixpkgs = import ../../..;
+ inherit (nixpkgs {}) pkgs lib;
+ getEvaluating = x:
+ builtins.attrNames (
+ lib.filterAttrs (
+ _: v: (builtins.tryEval (v.outPath or null)).success && lib.isDerivation v && !v.meta.broken
+ ) x
+ );
+ brokenDeps = lib.subtractLists
+ (getEvaluating pkgs.haskellPackages)
+ (getEvaluating (nixpkgs { config.allowBroken = true; }).haskellPackages);
+in
+''
+ ${lib.concatMapStringsSep "\n" (x: " - ${x}") brokenDeps}
+''