From eda2c3c2537562e3b18c02a47b19e47ba3d37598 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 22 Feb 2005 15:23:24 +0000 Subject: * Compatibility hack so that Nixpkgs can continue to do hash checking in `fetchurl' in Nix <= 0.7, but doesn't in Nix 0.8. --- src/libstore/build.cc | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/libstore/build.cc') diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 2dd8caf15af7..1ba521eb37e3 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -989,6 +989,15 @@ void DerivationGoal::startBuilder() /* Also set TMPDIR and variants to point to this directory. */ env["TMPDIR"] = env["TEMPDIR"] = env["TMP"] = env["TEMP"] = tmpDir; + /* Compatibility hack with Nix <= 0.7: if this is a fixed-output + derivation, tell the builder, so that for instance `fetchurl' + can skip checking the output. On older Nixes, this environment + variable won't be set, so `fetchurl' will do the check. */ + for (DerivationOutputs::iterator i = drv.outputs.begin(); + i != drv.outputs.end(); ++i) + if (i->second.hash != "") + env["NIX_OUTPUT_CHECKED"] = "1"; + /* Run the builder. */ printMsg(lvlChatty, format("executing builder `%1%'") % drv.builder); -- cgit 1.4.1