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