From 9374e13744e427079fb4c8a98691fd45b7686e6c Mon Sep 17 00:00:00 2001 From: Kamen Mladenov Date: Fri, 10 Jan 2025 10:35:27 +0200 Subject: feat(flake): Add nix package for benchmarking risc0 --- zkvms/risc0/Justfile | 12 ++++++++++ zkvms/risc0/default.nix | 54 ++++++++++++++++++++++++++++++++++++++++++ zkvms/risc0/guest/Cargo.lock | 1 + zkvms/risc0/guest/guests_macro | 1 + 4 files changed, 68 insertions(+) create mode 100644 zkvms/risc0/Justfile create mode 100644 zkvms/risc0/default.nix create mode 120000 zkvms/risc0/guest/Cargo.lock create mode 120000 zkvms/risc0/guest/guests_macro (limited to 'zkvms') diff --git a/zkvms/risc0/Justfile b/zkvms/risc0/Justfile new file mode 100644 index 0000000..9cd78fe --- /dev/null +++ b/zkvms/risc0/Justfile @@ -0,0 +1,12 @@ +execute: build-guest + time cargo run --bin host-risc0 --release -- execute + +prove: build-guest + time cargo run --bin host-risc0 --release -- prove + +verify: build-guest + time cargo run --bin host-risc0 --release -- verify + +build-guest: + cd guest && \ + cargo build --release --target riscv32im-risc0-zkvm-elf diff --git a/zkvms/risc0/default.nix b/zkvms/risc0/default.nix new file mode 100644 index 0000000..42ebf8a --- /dev/null +++ b/zkvms/risc0/default.nix @@ -0,0 +1,54 @@ +{ stdenv, + lib, + just, + metacraft-labs, + pkg-config, + craneLib-default, +}: +let + fs = lib.fileset; + + commonArgs = rec { + pname = "risc0"; + version = "infdev"; + + src = fs.toSource { + root = ../..; + fileset = fs.intersection (fs.gitTracked ../..) (fs.unions [ + ./. + ../../guests + ../../guests_macro + ../../Cargo.lock + ../../Cargo.toml + ../../Vertices-010.in + ]); + }; + }; + + craneLib = craneLib-default.overrideToolchain metacraft-labs.risc0; + cargoArtifacts = craneLib.buildDepsOnly commonArgs; +in + craneLib.buildPackage (commonArgs + // { + inherit cargoArtifacts; + + nativeBuildInputs = [ + just + metacraft-labs.risc0 + stdenv.cc + pkg-config + ]; + + postPatch = '' + ln -s ../../../../guests/graph_coloring ./zkvms/risc0/guest/src/zkp + ''; + + preBuild = '' + INPUTS="$PWD/Vertices-010.in" + export INPUTS + cd zkvms/risc0 + just prove + ''; + + doCheck = false; + }) diff --git a/zkvms/risc0/guest/Cargo.lock b/zkvms/risc0/guest/Cargo.lock new file mode 120000 index 0000000..ee3be30 --- /dev/null +++ b/zkvms/risc0/guest/Cargo.lock @@ -0,0 +1 @@ +../../../Cargo.lock \ No newline at end of file diff --git a/zkvms/risc0/guest/guests_macro b/zkvms/risc0/guest/guests_macro new file mode 120000 index 0000000..98e8cf9 --- /dev/null +++ b/zkvms/risc0/guest/guests_macro @@ -0,0 +1 @@ +../../../guests_macro/ \ No newline at end of file -- cgit v1.2.3