Detection is broken there, too, as UIOP relies on setting the variable before dumping the image in its portability wrapper dump-image which we don't use at all. Change-Id: If7bea5a8522a2e64707b1ee88d62d420bd00a952 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5112 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			800 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			800 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { depot, pkgs, ... }:
 | |
| 
 | |
| depot.nix.buildLisp.program {
 | |
|   name = "argv0-test";
 | |
| 
 | |
|   srcs = [
 | |
|     (pkgs.writeText "argv0-test.lisp" ''
 | |
|       (defpackage :argv0-test (:use :common-lisp :uiop) (:export :main))
 | |
|       (in-package :argv0-test)
 | |
| 
 | |
|       (defun main ()
 | |
|         (format t "~A~%" (uiop:argv0)))
 | |
|     '')
 | |
|   ];
 | |
| 
 | |
|   deps = [
 | |
|     {
 | |
|       sbcl = depot.nix.buildLisp.bundled "uiop";
 | |
|       default = depot.nix.buildLisp.bundled "asdf";
 | |
|     }
 | |
|   ];
 | |
| 
 | |
|   passthru.meta.ci = {
 | |
|     extraSteps.verify = {
 | |
|       label = "verify argv[0] output";
 | |
|       needsOutput = true;
 | |
|       command = pkgs.writeShellScript "check-argv0" ''
 | |
|         set -eux
 | |
| 
 | |
|         for invocation in "$(pwd)/result/bin/argv0-test" "./result/bin/argv0-test"; do
 | |
|           test "$invocation" = "$("$invocation")"
 | |
|         done
 | |
|       '';
 | |
|     };
 | |
|   };
 | |
| }
 |