summaryrefslogtreecommitdiffstats
path: root/maintainers
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2019-06-04 18:24:16 +0200
committerGitHub <noreply@github.com>2019-06-04 18:24:16 +0200
commitea59f09946b8c43fb1a700d456d01493515bef13 (patch)
treeb057282e9bb53f182489816bd094518827ebced5 /maintainers
parent743583b907f9646c11edacf87c03a391d72f87c1 (diff)
parent431dc973a5b99de1f96365a373706440a8017385 (diff)
maintainers/scripts/update.nix: various fixes (#62478)
maintainers/scripts/update.nix: various fixes
Diffstat (limited to 'maintainers')
-rwxr-xr-xmaintainers/scripts/update.nix25
1 files changed, 19 insertions, 6 deletions
diff --git a/maintainers/scripts/update.nix b/maintainers/scripts/update.nix
index 120cd5552f48..04723cb8a366 100755
--- a/maintainers/scripts/update.nix
+++ b/maintainers/scripts/update.nix
@@ -20,7 +20,9 @@ let
in
[x] ++ nubOn f xs;
- pkgs = import ./../../default.nix { };
+ pkgs = import ./../../default.nix {
+ overlays = [];
+ };
packagesWith = cond: return: set:
nubOn (pkg: pkg.updateScript)
@@ -67,9 +69,12 @@ let
let
attrSet = pkgs.lib.attrByPath (pkgs.lib.splitString "." path) null pkgs;
in
- packagesWith (name: pkg: builtins.hasAttr "updateScript" pkg)
- (name: pkg: pkg)
- attrSet;
+ if attrSet == null then
+ builtins.throw "Attribute path `${path}` does not exists."
+ else
+ packagesWith (name: pkg: builtins.hasAttr "updateScript" pkg)
+ (name: pkg: pkg)
+ attrSet;
packageByName = name:
let
@@ -122,9 +127,17 @@ let
packageData = package: {
name = package.name;
pname = (builtins.parseDrvName package.name).name;
- updateScript = pkgs.lib.toList package.updateScript;
+ updateScript = map builtins.toString (pkgs.lib.toList package.updateScript);
};
+ packagesJson = pkgs.writeText "packages.json" (builtins.toJSON (map packageData packages));
+
+ optionalArgs =
+ pkgs.lib.optional (max-workers != null) "--max-workers=${max-workers}"
+ ++ pkgs.lib.optional (keep-going == "true") "--keep-going";
+
+ args = [ packagesJson ] ++ optionalArgs;
+
in pkgs.stdenv.mkDerivation {
name = "nixpkgs-update-script";
buildCommand = ''
@@ -139,6 +152,6 @@ in pkgs.stdenv.mkDerivation {
'';
shellHook = ''
unset shellHook # do not contaminate nested shells
- exec ${pkgs.python3.interpreter} ${./update.py} ${pkgs.writeText "packages.json" (builtins.toJSON (map packageData packages))}${pkgs.lib.optionalString (max-workers != null) " --max-workers=${max-workers}"}${pkgs.lib.optionalString (keep-going == "true") " --keep-going"}
+ exec ${pkgs.python3.interpreter} ${./update.py} ${builtins.concatStringsSep " " args}
'';
}