Files
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

76 lines
1.9 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; [
figsoda
matthiasbeyer
];
};
}