aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix17
1 files changed, 16 insertions, 1 deletions
diff --git a/flake.nix b/flake.nix
index 5b9e63e..949a61e 100644
--- a/flake.nix
+++ b/flake.nix
@@ -33,11 +33,27 @@
};
+ # Overrides build and install phases for use with zkVMs
+ # Requirements:
+ # - zkVM is inside zkvms/pname/
+ # - guest crate is located at zkvms/pname/guest and is named "guest"
withCustomPhases = currentPackage: with currentPackage; {
+ buildGuestPhase = ''
+ pushd guest
+ runHook preBuildGuest
+
+ cargo build --release --target ${currentPackage.guestTarget}
+ ln -s ../../guest/target/${currentPackage.guestTarget}/release/guest ../host/src/guest
+
+ runHook postBuildGuest
+ popd
+ '';
+
buildPhase = ''
export INPUTS="$PWD/Vertices-010.in"
pushd zkvms/${currentPackage.pname}
+ runPhase buildGuestPhase
runHook preBuild
cargo build --bin ${hostBin} --release
@@ -52,7 +68,6 @@
mkdir -p "$out"/bin
for bin in $(find . -type f -regex "./zkvms/.*release/[^/]*" -executable -print)
do
- echo "$bin"
mv "$bin" "$out"/bin/
done