* Compatibility hack so that Nixpkgs can continue to do hash checking
in `fetchurl' in Nix <= 0.7, but doesn't in Nix 0.8.
This commit is contained in:
		
							parent
							
								
									3c1630131e
								
							
						
					
					
						commit
						eda2c3c253
					
				
					 2 changed files with 10 additions and 1 deletions
				
			
		|  | @ -989,6 +989,15 @@ void DerivationGoal::startBuilder() | ||||||
|     /* Also set TMPDIR and variants to point to this directory. */ |     /* Also set TMPDIR and variants to point to this directory. */ | ||||||
|     env["TMPDIR"] = env["TEMPDIR"] = env["TMP"] = env["TEMP"] = tmpDir; |     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. */ |     /* Run the builder. */ | ||||||
|     printMsg(lvlChatty, format("executing builder `%1%'") % |     printMsg(lvlChatty, format("executing builder `%1%'") % | ||||||
|         drv.builder); |         drv.builder); | ||||||
|  |  | ||||||
|  | @ -209,7 +209,7 @@ static void printDrvTree(const Path & drvPath, | ||||||
|          i != drv.inputDrvs.end(); ++i) |          i != drv.inputDrvs.end(); ++i) | ||||||
|         inputs.insert(i->first); |         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) |        closure(B).  That is, if derivation A is an (possibly indirect) | ||||||
|        input of B, then A is printed first.  This has the effect of |        input of B, then A is printed first.  This has the effect of | ||||||
|        flattening the tree, preventing deeply nested structures.  */ |        flattening the tree, preventing deeply nested structures.  */ | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue