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 */ |    * 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. */ | /* Return a string representing the type of the expression. */ | ||||||
| static void prim_typeOf(EvalState& state, const Pos& pos, Value** args, | static void prim_typeOf(EvalState& state, const Pos& pos, Value** args, | ||||||
|                         Value& v) { |                         Value& v) { | ||||||
|  | @ -2305,7 +2263,6 @@ void EvalState::createBaseEnv() { | ||||||
|   addConstant("import", v); |   addConstant("import", v); | ||||||
|   if (evalSettings.enableNativeCode) { |   if (evalSettings.enableNativeCode) { | ||||||
|     addPrimOp("__importNative", 2, prim_importNative); |     addPrimOp("__importNative", 2, prim_importNative); | ||||||
|     addPrimOp("__exec", 1, prim_exec); |  | ||||||
|   } |   } | ||||||
|   addPrimOp("__typeOf", 1, prim_typeOf); |   addPrimOp("__typeOf", 1, prim_typeOf); | ||||||
|   addPrimOp("isNull", 1, prim_isNull); |   addPrimOp("isNull", 1, prim_isNull); | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								third_party/nix/src/libexpr/primops.hh
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								third_party/nix/src/libexpr/primops.hh
									
										
									
									
										vendored
									
									
								
							|  | @ -20,7 +20,5 @@ struct RegisterPrimOp { | ||||||
| /* Load a ValueInitializer from a DSO and return whatever it initializes */ | /* Load a ValueInitializer from a DSO and return whatever it initializes */ | ||||||
| void prim_importNative(EvalState& state, const Pos& pos, Value** args, | void prim_importNative(EvalState& state, const Pos& pos, Value** args, | ||||||
|                        Value& v); |                        Value& v); | ||||||
| /* Execute a program and parse its output */ |  | ||||||
| void prim_exec(EvalState& state, const Pos& pos, Value** args, Value& v); |  | ||||||
| 
 | 
 | ||||||
| }  // namespace nix
 | }  // namespace nix
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue