1{ lib
2, rustPlatform
3, fetchCrate
4, pkg-config
5, openssl
6, stdenv
7, curl
8, CoreFoundation
9, CoreServices
10, Security
11, SystemConfiguration
12}:
13
14rustPlatform.buildRustPackage rec {
15 pname = "cargo-outdated";
16 version = "0.15.0";
17
18 src = fetchCrate {
19 inherit pname version;
20 sha256 = "sha256-+GPP8Mdoc3LsR2puNu3/pzKg4Umvjd7CxivkHC8YxgM=";
21 };
22
23 cargoHash = "sha256-Lkl7F5ZVlYLBeL3tubdMQ4/KbHYd2dD5IJAX9FO0XUg=";
24
25 nativeBuildInputs = [ pkg-config ];
26
27 buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [
28 curl
29 CoreFoundation
30 CoreServices
31 Security
32 SystemConfiguration
33 ];
34
35 meta = with lib; {
36 description = "A cargo subcommand for displaying when Rust dependencies are out of date";
37 mainProgram = "cargo-outdated";
38 homepage = "https://github.com/kbknapp/cargo-outdated";
39 changelog = "https://github.com/kbknapp/cargo-outdated/blob/v${version}/CHANGELOG.md";
40 license = with licenses; [ asl20 /* or */ mit ];
41 maintainers = with maintainers; [ ivan matthiasbeyer ];
42 };
43}