2025-07-26 11:39:35 +02:00

60 lines
1.1 KiB
Nix

{
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
];
};
}