diff --git a/pkgs/development/tools/rust/cargo-unused-features/default.nix b/pkgs/development/tools/rust/cargo-unused-features/default.nix new file mode 100644 index 000000000000..c9cd2dfbb5d5 --- /dev/null +++ b/pkgs/development/tools/rust/cargo-unused-features/default.nix @@ -0,0 +1,42 @@ +{ lib +, rustPlatform +, fetchCrate +, curl +, pkg-config +, openssl +, stdenv +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "cargo-unused-features"; + version = "0.1.7"; + + src = fetchCrate { + inherit pname version; + sha256 = "sha256-PdSR2nZbRzV2Kg2LNEpI7/Us+r8Gy6XLdUzMLei5r8c="; + }; + + cargoSha256 = "sha256-Y0U5Qzj+S7zoXWemcSfMn0YS7wCAPj+ER0jao+f2B28="; + + nativeBuildInputs = [ + curl.dev + pkg-config + ]; + + buildInputs = [ + curl + openssl + ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ + CoreFoundation + Security + ]); + + meta = with lib; { + description = "A tool to find potential unused enabled feature flags and prune them"; + homepage = "https://github.com/timonpost/cargo-unused-features"; + license = licenses.mit; + maintainers = with maintainers; [ figsoda ]; + mainProgram = "unused-features"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bcf6cc9ba4f1..e6a7435325ff 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15168,6 +15168,7 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) CoreServices Security SystemConfiguration; }; cargo-ui = darwin.apple_sdk_11_0.callPackage ../development/tools/rust/cargo-ui { }; + cargo-unused-features = callPackage ../development/tools/rust/cargo-unused-features { }; cargo-tauri = callPackage ../development/tools/rust/cargo-tauri { };