diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-02-22 15:23:24 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-02-22 15:23:24 +0000 |
commit | eda2c3c2537562e3b18c02a47b19e47ba3d37598 (patch) | |
tree | 0bd65e02bb0fe09cf37501896b857b7a63951961 | |
parent | 3c1630131e26efc90164bd8ca57870d9c4ad402b (diff) | |
download | guix-eda2c3c2537562e3b18c02a47b19e47ba3d37598.tar.gz |
* Compatibility hack so that Nixpkgs can continue to do hash checking
in `fetchurl' in Nix <= 0.7, but doesn't in Nix 0.8.
-rw-r--r-- | src/libstore/build.cc | 9 | ||||
-rw-r--r-- | src/nix-store/main.cc | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 2dd8caf15a..1ba521eb37 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); diff --git a/src/nix-store/main.cc b/src/nix-store/main.cc index 545df0638d..6e590ba06f 100644 --- a/src/nix-store/main.cc +++ b/src/nix-store/main.cc @@ -209,7 +209,7 @@ static void printDrvTree(const Path & drvPath, i != drv.inputDrvs.end(); ++i) inputs.insert(i->first); - /* Topologically sorted under the relation A < B iff A \in + /* Topologically sort under the relation A < B iff A \in closure(B). That is, if derivation A is an (possibly indirect) input of B, then A is printed first. This has the effect of flattening the tree, preventing deeply nested structures. */ |