From cb5c630db2fde6b04fe955c4cdb2fcf24753662b Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 1 Mar 2018 02:24:26 +0100 Subject: maintainers/scripts/update.nix: allow updating package collections --- maintainers/scripts/update.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/maintainers/scripts/update.nix b/maintainers/scripts/update.nix index 2c9c0b3bf450..7c54821f66cb 100755 --- a/maintainers/scripts/update.nix +++ b/maintainers/scripts/update.nix @@ -1,5 +1,6 @@ { package ? null , maintainer ? null +, path ? null }: # TODO: add assert statements @@ -49,6 +50,14 @@ let (name: pkg: pkg) pkgs; + packagesWithUpdateScript = path: + let + attrSet = pkgs.lib.attrByPath (pkgs.lib.splitString "." path) null pkgs; + in + packagesWith (name: pkg: builtins.hasAttr "updateScript" pkg) + (name: pkg: pkg) + attrSet; + packageByName = name: let package = pkgs.lib.attrByPath (pkgs.lib.splitString "." name) null pkgs; @@ -65,6 +74,8 @@ let [ (packageByName package) ] else if maintainer != null then packagesWithUpdateScriptAndMaintainer maintainer + else if path != null then + packagesWithUpdateScript path else builtins.throw "No arguments provided.\n\n${helpText}"; @@ -78,7 +89,11 @@ let % nix-shell maintainers/scripts/update.nix --argstr package garbas - to run update script for specific package. + to run update script for specific package, or + + % nix-shell maintainers/scripts/update.nix --argstr path gnome3 + + to run update script for all package under an attribute path. ''; runUpdateScript = package: '' -- cgit 1.4.1