3 pkgs = import ./../../default.nix { };
4 maintainer_ = pkgs.lib.maintainers.${maintainer};
5 packagesWith = cond: return: prefix: set:
7 (pkgs.lib.mapAttrsToList
10 result = builtins.tryEval
12 if pkgs.lib.isDerivation pkg && cond name pkg then
13 # Skip packages whose closure fails on evaluation.
14 # This happens for pkgs like `python27Packages.djangoql`
15 # that have disabled Python pkgs as dependencies.
16 builtins.seq pkg.outPath
17 [ (return "${prefix}${name}") ]
18 else if pkg.recurseForDerivations or false || pkg.recurseForRelease or false
19 # then packagesWith cond return pkg
20 then packagesWith cond return "${name}." pkg
24 if result.success then result.value
31 packages = packagesWith
34 if builtins.hasAttr "meta" pkg && builtins.hasAttr "maintainers" pkg.meta
37 if builtins.isList pkg.meta.maintainers
38 then builtins.elem maintainer_ pkg.meta.maintainers
39 else maintainer_ == pkg.meta.maintainers
49 pkgs.stdenv.mkDerivation {
50 name = "nixpkgs-update-script";
51 buildInputs = [ pkgs.hydra-check ];
54 echo "----------------------------------------------------------------"
56 echo "nix-shell maintainers/scripts/check-hydra-by-maintainer.nix --argstr maintainer SuperSandro2000"
58 echo "----------------------------------------------------------------"
62 unset shellHook # do not contaminate nested shells
63 echo "Please stand by"
64 echo nix-shell -p hydra-check --run "hydra-check ${builtins.concatStringsSep " " packages}"
65 nix-shell -p hydra-check --run "hydra-check ${builtins.concatStringsSep " " packages}"