chore(3p/nix): Remove builtins.exec
This is a bad idea, it shouldn't exist, nixpkgs doesn't use it. Change-Id: Ic4d1b936d8f059d5c40f0567af165b02427d7e36 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1241 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
This commit is contained in:
		
							parent
							
								
									a2870d05a3
								
							
						
					
					
						commit
						8d5857abbc
					
				
					 2 changed files with 0 additions and 45 deletions
				
			
		
							
								
								
									
										43
									
								
								third_party/nix/src/libexpr/primops.cc
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										43
									
								
								third_party/nix/src/libexpr/primops.cc
									
										
									
									
										vendored
									
									
								
							|  | @ -207,48 +207,6 @@ void prim_importNative(EvalState& state, const Pos& pos, Value** args, | |||
|    * shared object file */ | ||||
| } | ||||
| 
 | ||||
| /* Execute a program and parse its output */ | ||||
| void prim_exec(EvalState& state, const Pos& pos, Value** args, Value& v) { | ||||
|   state.forceList(*args[0], pos); | ||||
|   auto elems = args[0]->listElems(); | ||||
|   auto count = args[0]->listSize(); | ||||
|   if (count == 0) { | ||||
|     throw EvalError(format("at least one argument to 'exec' required, at %1%") % | ||||
|                     pos); | ||||
|   } | ||||
|   PathSet context; | ||||
|   auto program = state.coerceToString(pos, *elems[0], context, false, false); | ||||
|   Strings commandArgs; | ||||
|   for (unsigned int i = 1; i < args[0]->listSize(); ++i) { | ||||
|     commandArgs.emplace_back( | ||||
|         state.coerceToString(pos, *elems[i], context, false, false)); | ||||
|   } | ||||
|   try { | ||||
|     state.realiseContext(context); | ||||
|   } catch (InvalidPathError& e) { | ||||
|     throw EvalError( | ||||
|         format("cannot execute '%1%', since path '%2%' is not valid, at %3%") % | ||||
|         program % e.path % pos); | ||||
|   } | ||||
| 
 | ||||
|   auto output = runProgram(program, true, commandArgs); | ||||
|   Expr* parsed; | ||||
|   try { | ||||
|     parsed = state.parseExprFromString(output, pos.file.value()); | ||||
|   } catch (Error& e) { | ||||
|     e.addPrefix(format("While parsing the output from '%1%', at %2%\n") % | ||||
|                 program % pos); | ||||
|     throw; | ||||
|   } | ||||
|   try { | ||||
|     state.eval(parsed, v); | ||||
|   } catch (Error& e) { | ||||
|     e.addPrefix(format("While evaluating the output from '%1%', at %2%\n") % | ||||
|                 program % pos); | ||||
|     throw; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| /* Return a string representing the type of the expression. */ | ||||
| static void prim_typeOf(EvalState& state, const Pos& pos, Value** args, | ||||
|                         Value& v) { | ||||
|  | @ -2305,7 +2263,6 @@ void EvalState::createBaseEnv() { | |||
|   addConstant("import", v); | ||||
|   if (evalSettings.enableNativeCode) { | ||||
|     addPrimOp("__importNative", 2, prim_importNative); | ||||
|     addPrimOp("__exec", 1, prim_exec); | ||||
|   } | ||||
|   addPrimOp("__typeOf", 1, prim_typeOf); | ||||
|   addPrimOp("isNull", 1, prim_isNull); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue