diff options
author | Michael Raskin <7c6f434c@mail.ru> | 2010-07-08 15:31:59 +0000 |
---|---|---|
committer | Michael Raskin <7c6f434c@mail.ru> | 2010-07-08 15:31:59 +0000 |
commit | aadb898a0be398db5db13653c7aaacc0ae9f84d9 (patch) | |
tree | 080cb6ef715017ca3b5eec8df05891912c76598a /pkgs/lib/attrsets.nix | |
parent | e89dbf11847bd36ca175af9c4f797e5fba687102 (diff) | |
download | nixpkgs-aadb898a0be398db5db13653c7aaacc0ae9f84d9.tar nixpkgs-aadb898a0be398db5db13653c7aaacc0ae9f84d9.tar.gz nixpkgs-aadb898a0be398db5db13653c7aaacc0ae9f84d9.tar.bz2 nixpkgs-aadb898a0be398db5db13653c7aaacc0ae9f84d9.tar.lz nixpkgs-aadb898a0be398db5db13653c7aaacc0ae9f84d9.tar.xz nixpkgs-aadb898a0be398db5db13653c7aaacc0ae9f84d9.tar.zst nixpkgs-aadb898a0be398db5db13653c7aaacc0ae9f84d9.zip |
Implementing a fix allowing deepOverride without changing dependency-tree-leaf packages
svn path=/nixpkgs/trunk/; revision=22533
Diffstat (limited to 'pkgs/lib/attrsets.nix')
-rw-r--r-- | pkgs/lib/attrsets.nix | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/pkgs/lib/attrsets.nix b/pkgs/lib/attrsets.nix index c1903368291..f39b46db621 100644 --- a/pkgs/lib/attrsets.nix +++ b/pkgs/lib/attrsets.nix @@ -270,4 +270,9 @@ rec { else eqStrict pat val ) [pattern attrs])); + # override only the attributes that are already present in the old set + # useful for deep-overriding + overrideExisting = old: new: + old // listToAttrs (map (attr: nameValuePair attr (attrByPath [attr] (getAttr attr old) new)) (attrNames old)); + } |