{ lib, rustPlatform, fetchFromGitHub, pkg-config, libgit2, openssl, stdenv, curl, git, }: rustPlatform.buildRustPackage rec { pname = "cargo-release"; version = "0.25.18"; src = fetchFromGitHub { owner = "crate-ci"; repo = "cargo-release"; tag = "v${version}"; hash = "sha256-1CHUkXjb8+wOFQWo/04KcLaJcv/dLiDYwPrSnzWucXI="; }; cargoHash = "sha256-ESaESon1oJAlvsv6+TIb/lLsOQmjgheQWm82Lr0mJOE="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ libgit2 openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ curl ]; nativeCheckInputs = [ git ]; # disable vendored-libgit2 and vendored-openssl buildNoDefaultFeatures = true; meta = { description = ''Cargo subcommand "release": everything about releasing a rust crate''; mainProgram = "cargo-release"; homepage = "https://github.com/crate-ci/cargo-release"; changelog = "https://github.com/crate-ci/cargo-release/blob/v${version}/CHANGELOG.md"; license = with lib.licenses; [ asl20 # or mit ]; maintainers = with lib.maintainers; [ figsoda gerschtli ]; }; }