From b0608ca2c0d8f739bead99eb93adc520ce2e1df1 Mon Sep 17 00:00:00 2001 From: Kamen Mladenov Date: Tue, 21 Jan 2025 17:31:02 +0200 Subject: feat(flake): Rework withCustomPhases variables --- zkvms/jolt/default.nix | 16 +++++++--------- zkvms/nexus/default.nix | 19 ++++++++----------- zkvms/risc0/default.nix | 11 +++++------ zkvms/sp1/default.nix | 1 - zkvms/zkm/default.nix | 13 ++++++------- zkvms/zkwasm/default.nix | 21 ++++++++------------- 6 files changed, 34 insertions(+), 47 deletions(-) (limited to 'zkvms') diff --git a/zkvms/jolt/default.nix b/zkvms/jolt/default.nix index 2c6399c..d0c6775 100644 --- a/zkvms/jolt/default.nix +++ b/zkvms/jolt/default.nix @@ -49,23 +49,21 @@ in sed -i '/guest\/guests/d' ./zkvms/jolt/Cargo.toml ''; - hostBin = "host-jolt"; guestTarget = "riscv32im-jolt-zkvm-elf"; - extraGuestArgs = "--features guest"; + guestExtraArgs = "--features guest"; preBuildGuest = '' - export RUSTUP_TOOLCHAIN="x" - export RUSTFLAGS="-C link-arg=-T${./guest/guest.ld} -C passes=lower-atomic -C panic=abort -C strip=symbols -C opt-level=z" + RUSTUP_TOOLCHAIN="x" + RUSTFLAGS="-C link-arg=-T${./guest/guest.ld} -C passes=lower-atomic -C panic=abort -C strip=symbols -C opt-level=z" + export RUSTUP_TOOLCHAIN RUSTFLAGS ''; - preBuild = '' - unset RUSTUP_TOOLCHAIN - export RUSTFLAGS="-Z macro-backtrace" - ''; + preRunBinaries = [ + metacraft-labs.jolt + ]; preRun = '' export ELF_PATH="$out/bin/guest" - export PATH="$PATH:${metacraft-labs.jolt}/bin" ''; doCheck = false; diff --git a/zkvms/nexus/default.nix b/zkvms/nexus/default.nix index 003edb7..e68da62 100644 --- a/zkvms/nexus/default.nix +++ b/zkvms/nexus/default.nix @@ -43,23 +43,20 @@ in ln -s ../../../../guests/graph_coloring ./zkvms/nexus/guest/src/zkp ''; - hostBin = "host-nexus"; - guestTarget = "riscv32i-unknown-none-elf"; - extraGuestArgs = "--features no_std -- -C link-arg=-T${guest/guest.ld}"; - - buildGuestPhase = '' - pushd guest + preBuildGuest = '' + export RUSTFLAGS="-C link-arg=-T${guest/guest.ld}" + ''; - cargo rustc --release --target ${guestTarget} ${extraGuestArgs} - ln -s ../../guest/target/${guestTarget}/release/guest ../host/src/guest + guestTarget = "riscv32i-unknown-none-elf"; + guestExtraArgs = "--features no_std"; - popd - ''; + preRunLibraries = [ + openssl + ]; preRun = '' export ELF_PATH="$out/bin/guest" export PKG_CONFIG_PATH='${openssl.dev}/lib/pkgconfig' # Dirty hack - export LD_LIBRARY_PATH='${lib.makeLibraryPath [ openssl ]}' ''; doCheck = false; diff --git a/zkvms/risc0/default.nix b/zkvms/risc0/default.nix index 4f43a54..2a80ece 100644 --- a/zkvms/risc0/default.nix +++ b/zkvms/risc0/default.nix @@ -40,18 +40,17 @@ in ln -s ../../../../guests/graph_coloring ./zkvms/risc0/guest/src/zkp ''; + guestTarget = "riscv32im-risc0-zkvm-elf"; + preBuild = '' # 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)" ''; - hostBin = "host-risc0"; - guestTarget = "riscv32im-risc0-zkvm-elf"; - - preRun = '' - export PATH="\$PATH:${metacraft-labs.risc0}/bin" - ''; + preRunBinaries = [ + metacraft-labs.risc0 + ]; doCheck = false; })) diff --git a/zkvms/sp1/default.nix b/zkvms/sp1/default.nix index 9b42e58..2ab3afa 100644 --- a/zkvms/sp1/default.nix +++ b/zkvms/sp1/default.nix @@ -40,7 +40,6 @@ in ln -s ../../../../guests/graph_coloring ./zkvms/sp1/guest/src/zkp ''; - hostBin = "host-sp1"; guestTarget = "riscv32im-succinct-zkvm-elf"; doCheck = false; diff --git a/zkvms/zkm/default.nix b/zkvms/zkm/default.nix index da7224b..92abdbf 100644 --- a/zkvms/zkm/default.nix +++ b/zkvms/zkm/default.nix @@ -63,7 +63,6 @@ in ln -s ../../../../guests/graph_coloring ./zkvms/zkm/guest/src/zkp ''; - hostBin = "host-zkm"; guestTarget = "mips-zkm-zkvm-elf"; preBuildGuest = '' @@ -71,18 +70,18 @@ in export RUSTFLAGS="-C target-cpu=mips2 -C target-feature=+crt-static -C link-arg=-nostdlib -C link-arg=-g -C link-arg=--entry=main" ''; - postBuildGuest = '' - unset RUSTFLAGS - ''; - preBuild = '' - export RUSTFLAGS="-L ${zkm_libsnark}/lib $RUSTFLAGS" + export RUSTFLAGS="-L ${zkm_libsnark}/lib" ''; + preRunLibraries = [ + openssl + zkm_libsnark + ]; + preRun = '' export ELF_PATH="$out/bin/guest" export PKG_CONFIG_PATH='${openssl.dev}/lib/pkgconfig' # Dirty hack - export LD_LIBRARY_PATH='${lib.makeLibraryPath [ openssl zkm_libsnark ]}' ''; doCheck = false; diff --git a/zkvms/zkwasm/default.nix b/zkvms/zkwasm/default.nix index 4f4e42f..36c058e 100644 --- a/zkvms/zkwasm/default.nix +++ b/zkvms/zkwasm/default.nix @@ -48,30 +48,25 @@ in ln -s ../../../Cargo.lock ./zkvms/zkwasm/guest/ ''; - hostBin = "host-zkwasm"; - - buildGuestPhase = '' - pushd guest - + preBuildGuest = '' # Workaround from # https://github.com/rustwasm/wasm-pack/issues/1335 export WASM_PACK_CACHE=.wasm-pack-cache - - wasm-pack build --release --frozen - popd ''; - postInstall = '' - mv zkvms/zkwasm/guest/pkg "$out"/ - ''; + buildGuestCommand = "wasm-pack build --release --frozen"; preBuild = '' export GUEST_PATH="$out/pkg/guest_bg.wasm" ''; - preRun = '' - export PATH="\$PATH:${metacraft-labs.zkwasm}/bin" + postInstall = '' + mv zkvms/zkwasm/guest/pkg "$out"/ ''; + preRunBinaries = [ + metacraft-labs.zkwasm + ]; + doCheck = false; })) -- cgit v1.2.3