1{ lib
2, rustPlatform
3, fetchFromGitHub
4, pkg-config
5, openssl
6, zlib
7, stdenv
8, Security
9}:
10
11rustPlatform.buildRustPackage rec {
12 pname = "cargo-edit";
13 version = "0.12.0";
14
15 src = fetchFromGitHub {
16 owner = "killercup";
17 repo = pname;
18 rev = "v${version}";
19 hash = "sha256-OUo007XP2B9F8ACTauiA6uls9b3KS5iq15bJDPYCONU=";
20 };
21
22 cargoLock = {
23 lockFile = ./Cargo.lock;
24 outputHashes = {
25 "cargo-test-macro-0.1.0" = "sha256-hzoQmgvAerIoz7qoT3iyY6kHnt3g1Pv4FaJoqQYU2zE=";
26 };
27 };
28
29 nativeBuildInputs = [ pkg-config ];
30
31 buildInputs = [ openssl zlib ] ++ lib.optionals stdenv.isDarwin [
32 Security
33 ];
34
35 doCheck = false; # integration tests depend on changing cargo config
36
37 meta = with lib; {
38 description = "A utility for managing cargo dependencies from the command line";
39 homepage = "https://github.com/killercup/cargo-edit";
40 changelog = "https://github.com/killercup/cargo-edit/blob/v${version}/CHANGELOG.md";
41 license = with licenses; [ asl20 /* or */ mit ];
42 maintainers = with maintainers; [ Br1ght0ne figsoda gerschtli jb55 killercup ];
43 };
44}