Precompile seeded tools during the Nix build
This commit is contained in:
@@ -143,6 +143,9 @@
|
||||
cargoArtifacts = hostArtifacts;
|
||||
doNotRemoveReferencesToVendorDir = true;
|
||||
});
|
||||
precompiled = pkgs.runCommand "sausage-precompiled" {} ''
|
||||
${sausageUnwrapped}/bin/sausage precompile ${bundle} $out
|
||||
'';
|
||||
# Keep the wrapper separate from crane's removal of toolchain references.
|
||||
sausage = pkgs.symlinkJoin {
|
||||
name = "sausage-${sausageUnwrapped.version}";
|
||||
@@ -150,6 +153,7 @@
|
||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/sausage --set-default SAUSAGE_USERLAND ${bundle} \
|
||||
--set-default SAUSAGE_PRECOMPILED ${precompiled} \
|
||||
--prefix PATH : ${runtimePath} \
|
||||
--set-default CC_wasm32_wasip2 ${wasiCcEnv.CC_wasm32_wasip2} \
|
||||
--set-default AR_wasm32_wasip2 ${wasiCcEnv.AR_wasm32_wasip2} \
|
||||
@@ -170,6 +174,7 @@
|
||||
SAUSAGE_TEST_NO_BUILDER_SANDBOX = "1";
|
||||
SAUSAGE_NIX_CHECK = "1";
|
||||
SAUSAGE_USERLAND = bundle;
|
||||
SAUSAGE_PRECOMPILED = precompiled;
|
||||
preCheck = ''
|
||||
export SAUSAGE_CACHE="$TMPDIR/sausage-cache"
|
||||
export CARGO_TARGET_DIR="$PWD/target"
|
||||
@@ -181,8 +186,10 @@
|
||||
});
|
||||
checks.shell = pkgs.runCommand "sausage-shell" {} ''
|
||||
export SAUSAGE_CACHE="$TMPDIR/sausage-cache"
|
||||
${sausage}/bin/sausage init "$TMPDIR/world"
|
||||
${sausage}/bin/sausage sh "$TMPDIR/world" -c \
|
||||
'set -e; echo hi | tr a-z A-Z; git --version; rg --version; awk "BEGIN {print 42}"; echo payload > /payload; tar -cf /test.tar /payload; tar -tf /test.tar; qjs -e "console.log(42)"; cargo --help; undo list' > output
|
||||
test ! -e "$SAUSAGE_CACHE"
|
||||
cat output
|
||||
grep -qx HI output
|
||||
grep -q 'git version' output
|
||||
|
||||
Reference in New Issue
Block a user