about summary refs log tree commit diff
path: root/nix/buildLisp/default.nix
diff options
context:
space:
mode:
authoreta <eta@theta.eu.org>2020-07-06T16·40+0100
committereta <eta@theta.eu.org>2020-07-06T22·01+0000
commit4dca44ac722fee72c05b753bc51ea5bcd2bb3b7c (patch)
tree69eb1ab36d9ba74886e389b5988fe98c552d644e /nix/buildLisp/default.nix
parent618e5540c23da5b425dd4ca79951dbbe8f651925 (diff)
fix(buildLisp): use full store path in FASL output pathnames r/1228
If you compiled dirA/test.lisp and dirB/test.lisp in the same library,
they'd both get written to /test.fasl and the second would overwrite the
first. Instead, use the whole store path (with / swapped for -) as the fasl
filename.

Change-Id: I4eb88b5d33757751e1f67e72ed328bd58079b1b9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/944
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'nix/buildLisp/default.nix')
-rw-r--r--nix/buildLisp/default.nix2
1 files changed, 1 insertions, 1 deletions
diff --git a/nix/buildLisp/default.nix b/nix/buildLisp/default.nix
index 0e94ed6223b7..5d9861891b34 100644
--- a/nix/buildLisp/default.nix
+++ b/nix/buildLisp/default.nix
@@ -32,7 +32,7 @@ let
       (let ((outfile (make-pathname :type "fasl"
                                     :directory (or (sb-posix:getenv "NIX_BUILD_TOP")
                                                    (error "not running in a Nix build"))
-                                    :defaults srcfile)))
+                                    :name (substitute #\- #\/ srcfile))))
         (multiple-value-bind (_outfile _warnings-p failure-p)
             (compile-file srcfile :output-file outfile)
           (if failure-p (sb-posix:exit 1)