maintainers/scripts/update.nix: allow updating package collections

+16 -1
+16 -1
maintainers/scripts/update.nix
··· 1 { package ? null 2 , maintainer ? null 3 }: 4 5 # TODO: add assert statements ··· 49 (name: pkg: pkg) 50 pkgs; 51 52 packageByName = name: 53 let 54 package = pkgs.lib.attrByPath (pkgs.lib.splitString "." name) null pkgs; ··· 65 [ (packageByName package) ] 66 else if maintainer != null then 67 packagesWithUpdateScriptAndMaintainer maintainer 68 else 69 builtins.throw "No arguments provided.\n\n${helpText}"; 70 ··· 78 79 % nix-shell maintainers/scripts/update.nix --argstr package garbas 80 81 - to run update script for specific package. 82 ''; 83 84 runUpdateScript = package: ''
··· 1 { package ? null 2 , maintainer ? null 3 + , path ? null 4 }: 5 6 # TODO: add assert statements ··· 50 (name: pkg: pkg) 51 pkgs; 52 53 + packagesWithUpdateScript = path: 54 + let 55 + attrSet = pkgs.lib.attrByPath (pkgs.lib.splitString "." path) null pkgs; 56 + in 57 + packagesWith (name: pkg: builtins.hasAttr "updateScript" pkg) 58 + (name: pkg: pkg) 59 + attrSet; 60 + 61 packageByName = name: 62 let 63 package = pkgs.lib.attrByPath (pkgs.lib.splitString "." name) null pkgs; ··· 74 [ (packageByName package) ] 75 else if maintainer != null then 76 packagesWithUpdateScriptAndMaintainer maintainer 77 + else if path != null then 78 + packagesWithUpdateScript path 79 else 80 builtins.throw "No arguments provided.\n\n${helpText}"; 81 ··· 89 90 % nix-shell maintainers/scripts/update.nix --argstr package garbas 91 92 + to run update script for specific package, or 93 + 94 + % nix-shell maintainers/scripts/update.nix --argstr path gnome3 95 + 96 + to run update script for all package under an attribute path. 97 ''; 98 99 runUpdateScript = package: ''