aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/doc/languages-frameworks/rust.section.md
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/doc/languages-frameworks/rust.section.md')
-rw-r--r--nixpkgs/doc/languages-frameworks/rust.section.md18
1 files changed, 18 insertions, 0 deletions
diff --git a/nixpkgs/doc/languages-frameworks/rust.section.md b/nixpkgs/doc/languages-frameworks/rust.section.md
index cec3373cbee..f56bc5285b9 100644
--- a/nixpkgs/doc/languages-frameworks/rust.section.md
+++ b/nixpkgs/doc/languages-frameworks/rust.section.md
@@ -75,6 +75,24 @@ pkgs.rustPlatform.buildRustPackage {
}
```
+### Building a crate with an absent or out-of-date Cargo.lock file
+
+`buildRustPackage` needs a `Cargo.lock` file to get all dependencies in the
+source code in a reproducible way. If it is missing or out-of-date one can use
+the `cargoPatches` attribute to update or add it.
+
+```
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+ (...)
+ cargoPatches = [
+ # a patch file to add/update Cargo.lock in the source code
+ ./add-Cargo.lock.patch
+ ];
+}
+```
+
## Compiling Rust crates using Nix instead of Cargo
### Simple operation