d1662d7155
The use case is to do a deep replacement of a dependency without rebuilding the entire tree. For example, suppose a security hole is found in glibc and a patch released. Ideally, you'd just rebuild everything, but that takes time, space, and CPU that you might not have, so in the mean time you could build a safe version of, say, firefox with: firefox-safe = replace-dependency { drv = firefox; old-dependency = glibc; new-dependency = patched-glibc; }; Building firefox-safe will rebuild glibc, but only do a simple copy/string replacement on all other dependencies of firefox. On my system (MBP 13" mid-2012), after a new glibc had been build building firefox took around 11 seconds. See the comments in the file for more details. |
||
---|---|---|
.. | ||
all-packages.nix | ||
guile-2-test.nix | ||
haskell-defaults.nix | ||
haskell-packages.nix | ||
make-tarball.nix | ||
mingw.nix | ||
node-packages.nix | ||
perl-packages.nix | ||
platforms.nix | ||
python-packages.nix | ||
release-cross.nix | ||
release-lib.nix | ||
release-small.nix | ||
release.nix |