about summary refs log tree commit diff
path: root/nixpkgs/maintainers/scripts/haskell/maintained-broken-pkgs.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/maintainers/scripts/haskell/maintained-broken-pkgs.nix')
-rw-r--r--nixpkgs/maintainers/scripts/haskell/maintained-broken-pkgs.nix22
1 files changed, 22 insertions, 0 deletions
diff --git a/nixpkgs/maintainers/scripts/haskell/maintained-broken-pkgs.nix b/nixpkgs/maintainers/scripts/haskell/maintained-broken-pkgs.nix
new file mode 100644
index 000000000000..7416bfa46ee0
--- /dev/null
+++ b/nixpkgs/maintainers/scripts/haskell/maintained-broken-pkgs.nix
@@ -0,0 +1,22 @@
+let
+  nixpkgs = import ../../..;
+  inherit (nixpkgs {}) haskellPackages lib;
+  maintainedPkgs = lib.filterAttrs (
+    _: v: builtins.length (v.meta.maintainers or []) > 0
+  ) haskellPackages;
+  brokenPkgs = lib.filterAttrs (_: v: v.meta.broken) maintainedPkgs;
+  transitiveBrokenPkgs = lib.filterAttrs
+    (_: v: !(builtins.tryEval (v.outPath or null)).success && !v.meta.broken)
+    maintainedPkgs;
+  infoList = pkgs: lib.concatStringsSep "\n" (lib.mapAttrsToList (name: drv: "${name} ${(builtins.elemAt drv.meta.maintainers 0).github}") pkgs);
+in {
+  report = ''
+    BROKEN:
+    ${infoList brokenPkgs}
+
+    TRANSITIVE BROKEN:
+    ${infoList transitiveBrokenPkgs}
+  '';
+  transitiveErrors =
+    builtins.attrValues transitiveBrokenPkgs;
+}