aboutsummaryrefslogtreecommitdiff
path: root/zkvmLib.nix
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-02-24 15:24:56 +0200
committerKamen Mladenov <kamen@syndamia.com>2025-02-26 09:26:09 +0200
commita8264df8b851c60011f89295685d75f66291f28b (patch)
treedda908dee1bec2627fc7c694207a972170262738 /zkvmLib.nix
parent5904bf489f9c13b44675e07d899ca6300a2ac2d7 (diff)
downloadzkVMs-benchmarks-a8264df8b851c60011f89295685d75f66291f28b.tar
zkVMs-benchmarks-a8264df8b851c60011f89295685d75f66291f28b.tar.gz
zkVMs-benchmarks-a8264df8b851c60011f89295685d75f66291f28b.zip
feat(zkvmLib): Add the ability to override dependencies
Allows you to add `overrideVendorCargoPackage` and `overrideVendorGitCheckout` to args, which allow the overriding of vendored dependencies, as is implemented in crane.lib. The respective attribute must be added to commonArgs (i.e. to both `buildDepsOnly` and `buildPackage` args).
Diffstat (limited to 'zkvmLib.nix')
-rw-r--r--zkvmLib.nix20
1 files changed, 15 insertions, 5 deletions
diff --git a/zkvmLib.nix b/zkvmLib.nix
index bc7010b..cd92d5a 100644
--- a/zkvmLib.nix
+++ b/zkvmLib.nix
@@ -76,14 +76,24 @@ pkgs: guest: let
'';
};
- cargoVendorDir = craneLib.vendorCargoDeps {
- src = cargoLockDrv;
- };
+ cargoVendorDir = craneLib.vendorCargoDeps ({
+ src = cargoLockDrv;
+ } // (
+ if args ? overrideVendorCargoPackage then
+ { inherit (args) overrideVendorCargoPackage; }
+ else
+ { })
+ // (
+ if args ? overrideVendorGitCheckout then
+ { inherit (args) overrideVendorGitCheckout; }
+ else
+ { }));
+
};
in {
buildDepsOnly = craneLib: args: let
cargoLocks = generateCargoLocks craneLib args;
- in craneLib.buildDepsOnly (cargoLocks // args // {
+ in craneLib.buildDepsOnly (cargoLocks // (builtins.removeAttrs args ["overrideVendorCargoPackage" "overrideVendorGitCheckout"]) // {
postUnpack = ''
${args.postUnpack or ""}
ln -s ../../../guests ./source/zkvms/${args.pname}/guest/
@@ -193,5 +203,5 @@ in {
'';
doNotPostBuildInstallCargoBinaries = true;
- } // args // { inherit pname; });
+ } // (builtins.removeAttrs args ["overrideVendorCargoPackage" "overrideVendorGitCheckout"]) // { inherit pname; });
}