diff options
| author | Kamen Mladenov <kamen@syndamia.com> | 2025-02-24 15:24:56 +0200 |
|---|---|---|
| committer | Kamen Mladenov <kamen@syndamia.com> | 2025-02-26 09:26:09 +0200 |
| commit | a8264df8b851c60011f89295685d75f66291f28b (patch) | |
| tree | dda908dee1bec2627fc7c694207a972170262738 /zkvmLib.nix | |
| parent | 5904bf489f9c13b44675e07d899ca6300a2ac2d7 (diff) | |
| download | zkVMs-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.nix | 20 |
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; }); } |
