mirror of
https://github.com/NixOS/nix.git
synced 2024-11-23 15:22:27 +00:00
* The `fixedOutput' variable didn't get initialised when using a build
hook, causing negative caching to fail randomly.
This commit is contained in:
parent
38f98b3282
commit
f54e800366
@ -942,6 +942,11 @@ void DerivationGoal::inputsRealised()
|
||||
|
||||
allPaths.insert(inputPaths.begin(), inputPaths.end());
|
||||
|
||||
/* Is this a fixed-output derivation? */
|
||||
fixedOutput = true;
|
||||
foreach (DerivationOutputs::iterator, i, drv.outputs)
|
||||
if (i->second.hash == "") fixedOutput = false;
|
||||
|
||||
/* Okay, try to build. Note that here we don't wait for a build
|
||||
slot to become available, since we don't need one if there is a
|
||||
build hook. */
|
||||
@ -1479,11 +1484,7 @@ void DerivationGoal::startBuilder()
|
||||
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. */
|
||||
fixedOutput = true;
|
||||
foreach (DerivationOutputs::iterator, i, drv.outputs)
|
||||
if (i->second.hash == "") fixedOutput = false;
|
||||
if (fixedOutput)
|
||||
env["NIX_OUTPUT_CHECKED"] = "1";
|
||||
if (fixedOutput) env["NIX_OUTPUT_CHECKED"] = "1";
|
||||
|
||||
/* *Only* if this is a fixed-output derivation, propagate the
|
||||
values of the environment variables specified in the
|
||||
|
Loading…
Reference in New Issue
Block a user