From 4e8e7fdece91540ca9b521012373660e3dea73dd Mon Sep 17 00:00:00 2001 From: Kamen Mladenov Date: Tue, 14 Jan 2025 14:06:54 +0200 Subject: feat(flake): Implement sp1 nix package --- zkvms/sp1/default.nix | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 zkvms/sp1/default.nix 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; + })) -- cgit v1.2.3