diff options
author | Malte Brandy <malte.brandy@maralorn.de> | 2022-03-23 13:03:31 +0100 |
---|---|---|
committer | Malte Brandy <malte.brandy@maralorn.de> | 2022-03-23 13:03:31 +0100 |
commit | fa552e76e681b3b84b9917a09c40201799ded4f0 (patch) | |
tree | a79047b7ed0f75f7f153976aa84259970bdd3bea /maintainers | |
parent | b86264453e2db2e15091430dee23e51b448c1e02 (diff) |
maintainers/scripts/haskell: add script to find broken maintained packages
Diffstat (limited to 'maintainers')
-rw-r--r-- | maintainers/scripts/haskell/maintained-broken-pkgs.nix | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/maintainers/scripts/haskell/maintained-broken-pkgs.nix b/maintainers/scripts/haskell/maintained-broken-pkgs.nix new file mode 100644 index 0000000000000..7416bfa46ee0d --- /dev/null +++ b/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; +} |