diff options
| -rw-r--r-- | flake.nix | 17 | ||||
| -rw-r--r-- | zkvms/risc0/default.nix | 8 | ||||
| -rw-r--r-- | zkvms/sp1/default.nix | 12 |
3 files changed, 19 insertions, 18 deletions
@@ -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; })) |
