diff --git a/pkgs/development/tools/rust/cargo-tally/default.nix b/pkgs/development/tools/rust/cargo-tally/default.nix new file mode 100644 index 000000000000..21a5b470a2e9 --- /dev/null +++ b/pkgs/development/tools/rust/cargo-tally/default.nix @@ -0,0 +1,26 @@ +{ lib, rustPlatform, fetchCrate, stdenv, DiskArbitration, Foundation, IOKit }: + +rustPlatform.buildRustPackage rec { + pname = "cargo-tally"; + version = "1.0.0"; + + src = fetchCrate { + inherit pname version; + sha256 = "16r60ddrqsss5nagfb5g49md8wwm4zbp9sffbm23bhlqhxh35y0i"; + }; + + cargoSha256 = "0ffq67vy0pa7va8j93g03bralz7lck6ds1hidbpzzkp13pdcgf97"; + + buildInputs = lib.optionals stdenv.isDarwin [ + DiskArbitration + Foundation + IOKit + ]; + + meta = with lib; { + description = "Graph the number of crates that depend on your crate over time"; + homepage = "https://github.com/dtolnay/cargo-tally"; + license = with licenses; [ asl20 /* or */ mit ]; + maintainers = with maintainers; [ figsoda ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9b151eff3380..60ff538e1092 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12435,6 +12435,9 @@ with pkgs; cargo-spellcheck = callPackage ../development/tools/rust/cargo-spellcheck { }; cargo-sweep = callPackage ../development/tools/rust/cargo-sweep { }; cargo-sync-readme = callPackage ../development/tools/rust/cargo-sync-readme {}; + cargo-tally = callPackage ../development/tools/rust/cargo-tally { + inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation IOKit; + }; cargo-udeps = callPackage ../development/tools/rust/cargo-udeps { inherit (darwin.apple_sdk.frameworks) CoreServices Security SystemConfiguration; };