Merge pull request #275935 from mrgalopes/update-rust-docs

doc: update buildRustPackage documentation
This commit is contained in:
Silvan Mosberger 2024-01-18 16:13:56 +01:00 committed by GitHub
commit c2c56c3d3c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -44,21 +44,22 @@ rustPlatform.buildRustPackage rec {
} }
``` ```
`buildRustPackage` requires either the `cargoSha256` or the `buildRustPackage` requires either the `cargoHash` or the `cargoSha256`
`cargoHash` attribute which is computed over all crate sources of this attribute which is computed over all crate sources of this package.
package. `cargoHash256` is used for traditional Nix SHA-256 hashes, `cargoSha256` is used for traditional Nix SHA-256 hashes. `cargoHash` should
such as the one in the example above. `cargoHash` should instead be instead be used for [SRI](https://www.w3.org/TR/SRI/) hashes and should be
used for [SRI](https://www.w3.org/TR/SRI/) hashes. For example: preferred. For example:
Exception: If the application has cargo `git` dependencies, the `cargoHash`/`cargoSha256`
approach will not work, and you will need to copy the `Cargo.lock` file of the application
to nixpkgs and continue with the next section for specifying the options of the`cargoLock`
section.
```nix ```nix
cargoHash = "sha256-l1vL2ZdtDRxSGvP0X/l3nMw8+6WF67KPutJEzUROjg8="; cargoHash = "sha256-l1vL2ZdtDRxSGvP0X/l3nMw8+6WF67KPutJEzUROjg8=";
``` ```
Exception: If the application has cargo `git` dependencies, the `cargoHash`/`cargoSha256`
approach will not work, and you will need to copy the `Cargo.lock` file of the application
to nixpkgs and continue with the next section for specifying the options of the `cargoLock`
section.
Both types of hashes are permitted when contributing to nixpkgs. The Both types of hashes are permitted when contributing to nixpkgs. The
Cargo hash is obtained by inserting a fake checksum into the Cargo hash is obtained by inserting a fake checksum into the
expression and building the package once. The correct checksum can expression and building the package once. The correct checksum can