Files
nixpkgs/pkgs/by-name/ca/cargo-semver-checks/package.nix
Michael Daniels 1d0bb7b61b treewide: drop figsoda as maintainer (part 3)
s/^\s*figsoda\s*$//
2025-11-02 20:16:11 -05:00

75 lines
1.8 KiB
Nix

{
lib,
rustPlatform,
fetchFromGitHub,
cmake,
zlib,
testers,
cargo-semver-checks,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "cargo-semver-checks";
version = "0.44.0";
src = fetchFromGitHub {
owner = "obi1kenobi";
repo = "cargo-semver-checks";
tag = "v${version}";
hash = "sha256-QU8vLdq129gcGi8/VfjflY6zkIXXam/Ri2zjbO3sPNg=";
};
cargoHash = "sha256-0oPAIhhBcCwZT8sD2PWJ5ZDuMMFvmwxhyOXJWA9+jZg=";
nativeBuildInputs = [
cmake
];
buildInputs = [
zlib
];
checkFlags = [
# requires internet access
"--skip=detects_target_dependencies"
"--skip=query::tests_lints::feature_missing"
# platform specific snapshots
"--skip=query::tests_lints::trait_method_target_feature_removed"
"--skip=query::tests_lints::unsafe_trait_method_requires_more_target_features"
"--skip=query::tests_lints::unsafe_trait_method_target_feature_added"
];
preCheck = ''
# requires internet access
rm -r test_crates/feature_missing
patchShebangs scripts/regenerate_test_rustdocs.sh
scripts/regenerate_test_rustdocs.sh
substituteInPlace test_outputs/integration_snapshots__bugreport.snap \
--replace-fail \
'cargo-semver-checks [VERSION] ([HASH])' \
'cargo-semver-checks ${version}'
'';
passthru = {
tests.version = testers.testVersion { package = cargo-semver-checks; };
updateScript = nix-update-script { };
};
meta = {
description = "Tool to scan your Rust crate for semver violations";
mainProgram = "cargo-semver-checks";
homepage = "https://github.com/obi1kenobi/cargo-semver-checks";
changelog = "https://github.com/obi1kenobi/cargo-semver-checks/releases/tag/v${version}";
license = with lib.licenses; [
mit # or
asl20
];
maintainers = with lib.maintainers; [
matthiasbeyer
];
};
}