diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2018-03-13 18:04:29 +0100 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2018-03-13 18:04:47 +0100 |
commit | 2381bcd86f3bc79fffc025ffd99ea75ae5a9b7b5 (patch) | |
tree | 5a565cc970ec91d35648898ccfe0600655825e16 /maintainers/scripts | |
parent | 4f17851fb2e63b704627b7b22fa72c5fd8d3d95c (diff) | |
download | nixlib-2381bcd86f3bc79fffc025ffd99ea75ae5a9b7b5.tar nixlib-2381bcd86f3bc79fffc025ffd99ea75ae5a9b7b5.tar.gz nixlib-2381bcd86f3bc79fffc025ffd99ea75ae5a9b7b5.tar.bz2 nixlib-2381bcd86f3bc79fffc025ffd99ea75ae5a9b7b5.tar.lz nixlib-2381bcd86f3bc79fffc025ffd99ea75ae5a9b7b5.tar.xz nixlib-2381bcd86f3bc79fffc025ffd99ea75ae5a9b7b5.tar.zst nixlib-2381bcd86f3bc79fffc025ffd99ea75ae5a9b7b5.zip |
maintainers/scripts/update.nix: use saner nubbing
Diffstat (limited to 'maintainers/scripts')
-rwxr-xr-x | maintainers/scripts/update.nix | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/maintainers/scripts/update.nix b/maintainers/scripts/update.nix index cb819a053c43..c637540a5aa4 100755 --- a/maintainers/scripts/update.nix +++ b/maintainers/scripts/update.nix @@ -6,11 +6,22 @@ # TODO: add assert statements let + /* Remove duplicate elements from the list based on some extracted value. O(n^2) complexity. + */ + nubOn = f: list: + if list == [] then + [] + else + let + x = pkgs.lib.head list; + xs = pkgs.lib.filter (p: f x != f p) (pkgs.lib.drop 1 list); + in + [x] ++ nubOn f xs; pkgs = import ./../../default.nix { }; packagesWith = cond: return: set: - pkgs.lib.unique + nubOn (pkg: pkg.updateScript) (pkgs.lib.flatten (pkgs.lib.mapAttrsToList (name: pkg: |