From c02d4899e0af97b045ebc8f522daa30fa6de3fcb Mon Sep 17 00:00:00 2001 From: Kamen Mladenov Date: Fri, 21 Feb 2025 10:34:35 +0200 Subject: feat(zkvmLib): Attribute for specifying a guest or host specific Rust toolchains Allows the host and guest program toolchains to differ. Generally, you should only need to set one. --- zkvmLib.nix | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'zkvmLib.nix') diff --git a/zkvmLib.nix b/zkvmLib.nix index 8c6f262..7584c5a 100644 --- a/zkvmLib.nix +++ b/zkvmLib.nix @@ -147,6 +147,9 @@ in { buildGuestPhase = '' export INPUTS_DIR="$PWD/guests/${guest}" export ZKVM="${args.pname}" GUEST="${guest}" + OLD_PATH="$PATH" + + ${if args ? guestToolchain then "export PATH=\"${args.guestToolchain}/bin:$PATH\"" else ""} pushd zkvms/${args.pname}/guest runHook preBuildGuest @@ -157,6 +160,7 @@ in { ${if args ? guestTarget then "ln -s ../../guest/target/${args.guestTarget}/release/guest ../host/src/guest" else ""} unset RUSTUP_TOOLCHAIN RUSTFLAGS CARGO_ENCODED_RUSTFLAGS + export PATH="$OLD_PATH" runHook postBuildGuest popd @@ -165,6 +169,9 @@ in { buildPhase = '' export INPUTS_DIR="$PWD/guests/${guest}" export ZKVM="${args.pname}" GUEST="${guest}" + OLD_PATH="$PATH" + + ${if args ? hostToolchain then "export PATH=\"${args.hostToolchain}/bin:$PATH\"" else ""} pushd zkvms/${args.pname}/host runHook preBuild @@ -172,6 +179,8 @@ in { cargo --version cargo build --release + export PATH="$OLD_PATH" + runHook postBuild popd ''; -- cgit v1.2.3