tvl-depot/nix/buildLisp/tests/argv0.nix
sterni b57854e24d fix(nix/buildLisp): make uiop:argv0 work also for ccl and sbcl
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>
2022-02-02 18:21:06 +00:00

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