* Added a switch `--fallback'. From the manual:
Whenever Nix attempts to realise a derivation for which a closure is already known, but this closure cannot be realised, fall back on normalising the derivation. The most common scenario in which this is useful is when we have registered substitutes in order to perform binary distribution from, say, a network repository. If the repository is down, the realisation of the derivation will fail. When this option is specified, Nix will build the derivation instead. Thus, binary installation falls back on a source installation. This option is not the default since it is generally not desirable for a transient failure in obtaining the substitutes to lead to a full build from source (with the related consumption of resources).
This commit is contained in:
		
							parent
							
								
									b113edeab7
								
							
						
					
					
						commit
						91dc023665
					
				
					 17 changed files with 185 additions and 58 deletions
				
			
		|  | @ -26,8 +26,7 @@ static void opRealise(Strings opFlags, Strings opArgs) | |||
|     for (Strings::iterator i = opArgs.begin(); | ||||
|          i != opArgs.end(); i++) | ||||
|     { | ||||
|         Path nfPath = normaliseStoreExpr(*i); | ||||
|         realiseClosure(nfPath); | ||||
|         Path nfPath = realiseStoreExpr(*i); | ||||
|         cout << format("%1%\n") % (string) nfPath; | ||||
|     } | ||||
| } | ||||
|  | @ -58,8 +57,7 @@ static void opAdd(Strings opFlags, Strings opArgs) | |||
| Path maybeNormalise(const Path & ne, bool normalise, bool realise) | ||||
| { | ||||
|     if (realise) { | ||||
|         Path ne2 = normaliseStoreExpr(ne); | ||||
|         realiseClosure(ne2); | ||||
|         Path ne2 = realiseStoreExpr(ne); | ||||
|         return normalise ? ne2 : ne; | ||||
|     } else | ||||
|         return normalise ? normaliseStoreExpr(ne) : ne; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue