From 5e9c547275b23ae6117375f9472d6d109f90625b Mon Sep 17 00:00:00 2001 From: Kamen Mladenov Date: Tue, 14 Jan 2025 14:18:45 +0200 Subject: feat(flake): Introduce custom buildGuestPhase --- flake.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'flake.nix') 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 -- cgit v1.2.3