aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.nix17
-rw-r--r--zkvms/risc0/default.nix8
-rw-r--r--zkvms/sp1/default.nix12
3 files changed, 19 insertions, 18 deletions
diff --git a/flake.nix b/flake.nix
index 5b9e63e..949a61e 100644
--- a/flake.nix
+++ b/flake.nix
@@ -33,11 +33,27 @@
};
+ # Overrides build and install phases for use with zkVMs
+ # Requirements:
+ # - zkVM is inside zkvms/pname/
+ # - guest crate is located at zkvms/pname/guest and is named "guest"
withCustomPhases = currentPackage: with currentPackage; {
+ buildGuestPhase = ''
+ pushd guest
+ runHook preBuildGuest
+
+ cargo build --release --target ${currentPackage.guestTarget}
+ ln -s ../../guest/target/${currentPackage.guestTarget}/release/guest ../host/src/guest
+
+ runHook postBuildGuest
+ popd
+ '';
+
buildPhase = ''
export INPUTS="$PWD/Vertices-010.in"
pushd zkvms/${currentPackage.pname}
+ runPhase buildGuestPhase
runHook preBuild
cargo build --bin ${hostBin} --release
@@ -52,7 +68,6 @@
mkdir -p "$out"/bin
for bin in $(find . -type f -regex "./zkvms/.*release/[^/]*" -executable -print)
do
- echo "$bin"
mv "$bin" "$out"/bin/
done
diff --git a/zkvms/risc0/default.nix b/zkvms/risc0/default.nix
index e465a4b..f9b5dac 100644
--- a/zkvms/risc0/default.nix
+++ b/zkvms/risc0/default.nix
@@ -40,17 +40,13 @@ in
'';
preBuild = ''
- pushd ./guest
- cargo build --release --target riscv32im-risc0-zkvm-elf
- ln -s ../../../../zkvms/risc0/guest/target/riscv32im-risc0-zkvm-elf/release/guest ../host/src/guest
- popd
-
# Used for verification
# https://github.com/risc0/risc0/blob/881e512732eca72849b2d0e263a1242aba3158af/risc0/build/src/lib.rs#L192-L195
- export GUEST_ID="$(${metacraft-labs.risc0}/bin/r0vm --elf ../host/src/guest --id)"
+ export GUEST_ID="$(${metacraft-labs.risc0}/bin/r0vm --elf ./host/src/guest --id)"
'';
hostBin = "host-risc0";
+ guestTarget = "riscv32im-risc0-zkvm-elf";
preRun = ''
export PATH="\$PATH:${metacraft-labs.risc0}/bin"
diff --git a/zkvms/sp1/default.nix b/zkvms/sp1/default.nix
index 47d94f1..6baee1f 100644
--- a/zkvms/sp1/default.nix
+++ b/zkvms/sp1/default.nix
@@ -22,10 +22,6 @@ let
};
cargoLock = ./Cargo.lock;
-
- preBuild = ''
- cd zkvms/sp1
- '';
};
craneLib = craneLib-default.overrideToolchain metacraft-labs.sp1;
@@ -43,14 +39,8 @@ in
ln -s ../../../../guests/graph_coloring ./zkvms/sp1/guest/src/zkp
'';
- preBuild = ''
- pushd ./guest
- cargo build --release --target riscv32im-succinct-zkvm-elf
- ln -s ../../../../zkvms/sp1/guest/target/riscv32im-succinct-zkvm-elf/release/guest ../host/src/guest
- popd
- '';
-
hostBin = "host-sp1";
+ guestTarget = "riscv32im-succinct-zkvm-elf";
doCheck = false;
}))