From 7bdd131420125285b6dc61b1d7f505b0d4b15537 Mon Sep 17 00:00:00 2001 From: Kamen Mladenov Date: Tue, 14 Jan 2025 13:10:25 +0200 Subject: feat: Rework usage of zkVM helper functions --- flake.nix | 37 ++++++++++++++++++++++--------------- zkvms/risc0/default.nix | 17 +++++++---------- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/flake.nix b/flake.nix index 35d2a40..5b9e63e 100644 --- a/flake.nix +++ b/flake.nix @@ -20,7 +20,20 @@ pkgs = import nixpkgs { system = system; overlays = [ mcl-blockchain.overlays.default ]; }; callPackage = pkgs.lib.callPackageWith pkgs; - withZKVMPhases = currentPackage: with currentPackage; { + fixDeps = commonArgs: commonArgs // { + postUnpack = '' + ln -s ../../../guests ./source/zkvms/${commonArgs.pname}/guest/ + ln -s ../../../guests_macro ./source/zkvms/${commonArgs.pname}/guest/ + ln -s ../../Cargo.lock ./source/zkvms/${commonArgs.pname}/ + ''; + + preBuild = '' + cd zkvms/${commonArgs.pname} + ''; + }; + + + withCustomPhases = currentPackage: with currentPackage; { buildPhase = '' export INPUTS="$PWD/Vertices-010.in" @@ -56,24 +69,18 @@ doNotPostBuildInstallCargoBinaries = true; } // currentPackage; - fixZKVMDeps = commonArgs: commonArgs // { - postUnpack = '' - ln -s ../../../guests ./source/zkvms/${commonArgs.pname}/guest/ - ln -s ../../../guests_macro ./source/zkvms/${commonArgs.pname}/guest/ - ln -s ../../Cargo.lock ./source/zkvms/${commonArgs.pname}/ - ''; - - preBuild = '' - cd zkvms/${commonArgs.pname} - ''; - }; args-zkVM = { craneLib-default = crane.mkLib pkgs; - inherit withZKVMPhases; - inherit fixZKVMDeps; + zkVM-helpers = { + inherit fixDeps; + inherit withCustomPhases; + }; }; in { - packages.${system}.risc0 = callPackage ./zkvms/risc0/default.nix args-zkVM; + packages.${system} = { + risc0 = callPackage ./zkvms/risc0/default.nix args-zkVM; + sp1 = callPackage ./zkvms/sp1/default.nix args-zkVM; + }; }; } diff --git a/zkvms/risc0/default.nix b/zkvms/risc0/default.nix index 5444eb6..e465a4b 100644 --- a/zkvms/risc0/default.nix +++ b/zkvms/risc0/default.nix @@ -1,22 +1,19 @@ -{ stdenv, +{ zkVM-helpers, + stdenv, lib, just, metacraft-labs, pkg-config, craneLib-default, - withZKVMPhases, - fixZKVMDeps, }: let - fs = lib.fileset; - - commonArgs = rec { + commonArgs = { pname = "risc0"; version = "infdev"; - src = fs.toSource { + src = with lib.fileset; toSource { root = ../..; - fileset = fs.intersection (fs.gitTracked ../..) (fs.unions [ + fileset = intersection (gitTracked ../..) (unions [ ./. ../../guests ../../guests_macro @@ -28,9 +25,9 @@ let }; craneLib = craneLib-default.overrideToolchain metacraft-labs.risc0; - cargoArtifacts = craneLib.buildDepsOnly (fixZKVMDeps commonArgs); + cargoArtifacts = craneLib.buildDepsOnly (zkVM-helpers.fixDeps commonArgs); in - craneLib.buildPackage (withZKVMPhases (commonArgs + craneLib.buildPackage (zkVM-helpers.withCustomPhases (commonArgs // { inherit cargoArtifacts; -- cgit v1.2.3