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;
|
|
}
|