diff options
| author | Kamen Mladenov <kamen@syndamia.com> | 2025-01-14 14:06:54 +0200 |
|---|---|---|
| committer | Kamen Mladenov <kamen@syndamia.com> | 2025-01-14 14:06:54 +0200 |
| commit | 4e8e7fdece91540ca9b521012373660e3dea73dd (patch) | |
| tree | 9432c8032099400c83fe0876ed621de24c0504d7 | |
| parent | db0c1b91f44394e2056a30283c1376cc003e3f5f (diff) | |
| download | zkVMs-benchmarks-4e8e7fdece91540ca9b521012373660e3dea73dd.tar zkVMs-benchmarks-4e8e7fdece91540ca9b521012373660e3dea73dd.tar.gz zkVMs-benchmarks-4e8e7fdece91540ca9b521012373660e3dea73dd.zip | |
feat(flake): Implement sp1 nix package
| -rw-r--r-- | zkvms/sp1/default.nix | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/zkvms/sp1/default.nix b/zkvms/sp1/default.nix new file mode 100644 index 0000000..47d94f1 --- /dev/null +++ b/zkvms/sp1/default.nix @@ -0,0 +1,56 @@ +{ zkVM-helpers, + stdenv, + lib, + just, + metacraft-labs, + pkg-config, + craneLib-default, +}: +let + commonArgs = { + pname = "sp1"; + version = "infdev"; + + src = with lib.fileset; toSource { + root = ../..; + fileset = intersection (gitTracked ../..) (unions [ + ./. + ../../guests + ../../guests_macro + ../../Vertices-010.in + ]); + }; + + cargoLock = ./Cargo.lock; + + preBuild = '' + cd zkvms/sp1 + ''; + }; + + craneLib = craneLib-default.overrideToolchain metacraft-labs.sp1; + cargoArtifacts = craneLib.buildDepsOnly (zkVM-helpers.fixDeps commonArgs); +in + craneLib.buildPackage (zkVM-helpers.withCustomPhases (commonArgs + // { + inherit cargoArtifacts; + + nativeBuildInputs = [ + metacraft-labs.sp1 + ]; + + postPatch = '' + 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"; + + doCheck = false; + })) |
