diff options
author | Shea Levy <shea@shealevy.com> | 2013-01-11 16:09:07 -0500 |
---|---|---|
committer | Shea Levy <shea@shealevy.com> | 2013-01-11 16:09:07 -0500 |
commit | 779c74f79575952e14b11bfdbe1b15ec9ce5d001 (patch) | |
tree | 96bd20ee0877df076a227b213064223e549bc65b /pkgs/build-support/replace-dependency.nix | |
parent | a210e346dcaacef14a39f6e956d5540f600ea859 (diff) |
Remove some artifacts of a failed attempt from replace-dependency
Diffstat (limited to 'pkgs/build-support/replace-dependency.nix')
-rw-r--r-- | pkgs/build-support/replace-dependency.nix | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/pkgs/build-support/replace-dependency.nix b/pkgs/build-support/replace-dependency.nix index 364d55481518d..56f324841a80b 100644 --- a/pkgs/build-support/replace-dependency.nix +++ b/pkgs/build-support/replace-dependency.nix @@ -63,18 +63,17 @@ let } | $nixStore --restore $out ''; - fn = { drv, rewritten-drvs }: rewritten-drvs // ( + rewritten-deps = listToAttrs [ {name = discard old-dependency.outPath; value = new-dependency;} ]; + + fn = drv: if depends-on-old drv then listToAttrs [ { name = discard (toString drv); - value = replace-strings drv (rewritten-drvs // (fold (drv: acc: - (fn { inherit drv rewritten-drvs; }) // acc + value = replace-strings drv (rewritten-deps // (fold (drv: acc: + (fn drv) // acc ) {} (references-of drv))); } ] - else {} - ); -in assert (stringLength old-dependency.name == stringLength new-dependency.name); getAttr (discard drv.outPath) (fn { - inherit drv; - rewritten-drvs = listToAttrs [ {name = discard old-dependency.outPath; value = new-dependency;} ]; -}) + else {}; +in assert (stringLength old-dependency.name == stringLength new-dependency.name); +getAttr (discard drv.outPath) (fn drv) |