From fa552e76e681b3b84b9917a09c40201799ded4f0 Mon Sep 17 00:00:00 2001 From: Malte Brandy Date: Wed, 23 Mar 2022 13:03:31 +0100 Subject: [PATCH] maintainers/scripts/haskell: add script to find broken maintained packages --- .../haskell/maintained-broken-pkgs.nix | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 maintainers/scripts/haskell/maintained-broken-pkgs.nix diff --git a/maintainers/scripts/haskell/maintained-broken-pkgs.nix b/maintainers/scripts/haskell/maintained-broken-pkgs.nix new file mode 100644 index 000000000000..7416bfa46ee0 --- /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; +}