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
 | 
						|
      '';
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |