23 lines
740 B
Nix
23 lines
740 B
Nix
|
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;
|
||
|
}
|