Add information about which output is active to drvPath's context
This will break things that depend on being able to just strip away an equals sign, so those have to be updated next
This commit is contained in:
		
							parent
							
								
									ffa038f66d
								
							
						
					
					
						commit
						bf50d6ad32
					
				
					 1 changed files with 6 additions and 4 deletions
				
			
		|  | @ -455,8 +455,8 @@ static void prim_derivationStrict(EvalState & state, Value * * args, Value & v) | |||
|     drvHashes[drvPath] = hashDerivationModulo(*store, drv); | ||||
| 
 | ||||
|     state.mkAttrs(v, 1 + drv.outputs.size()); | ||||
|     mkString(*state.allocAttr(v, state.sDrvPath), drvPath, singleton<PathSet>("=" + drvPath)); | ||||
|     foreach (DerivationOutputs::iterator, i, drv.outputs) { | ||||
|         mkString(*state.allocAttr(v, state.symbols.create(i->first + "DrvPath")), drvPath, singleton<PathSet>("=" + i->first + "=" + drvPath)); | ||||
|         /* The output path of an output X is ‘<X>Path’,
 | ||||
|            e.g. ‘outPath’. */ | ||||
|         mkString(*state.allocAttr(v, state.symbols.create(i->first + "Path")), | ||||
|  | @ -1111,11 +1111,13 @@ void EvalState::createBaseEnv() | |||
|         attrValues = attrs: \ | ||||
|           map (name: builtins.getAttr name attrs) (builtins.attrNames attrs); \ | ||||
|         outputToAttrListElement = output: \ | ||||
|           let outPath = builtins.getAttr (output + \"Path\") strict; in { \
 | ||||
|           let \ | ||||
|             outPath = builtins.getAttr (output + \"Path\") strict; \
 | ||||
|             drvPath = builtins.getAttr (output + \"DrvPath\") strict; \
 | ||||
|           in { \ | ||||
|             name = output; \ | ||||
|             value = attrs // { \ | ||||
|               drvPath = strict.drvPath; \ | ||||
|               inherit outPath; \ | ||||
|               inherit outPath drvPath; \ | ||||
|               type = \"derivation\"; \
 | ||||
|               currentOutput = output; \ | ||||
|             } // outputsAttrs // { all = allList; }; \ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue