biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / rust / cargo-semver-checks / default.nix
blob2c3269681d7e400cbbfff4df7c20baed38583928
1 { lib
2 , rustPlatform
3 , fetchFromGitHub
4 , cmake
5 , zlib
6 , stdenv
7 , darwin
8 , git
9 }:
11 rustPlatform.buildRustPackage rec {
12   pname = "cargo-semver-checks";
13   version = "0.31.0";
15   src = fetchFromGitHub {
16     owner = "obi1kenobi";
17     repo = pname;
18     rev = "v${version}";
19     hash = "sha256-iumHMVDlgwjjQsn0aoSJUPoOKmLztD47b7he2nJhins=";
20   };
22   cargoHash = "sha256-/mrVrbPHi4lo2iu/IWwDYIjqWZYNkm/4lWpRMLKBNpA=";
24   nativeBuildInputs = [
25     cmake
26   ];
28   buildInputs = [
29     zlib
30   ] ++ lib.optionals stdenv.isDarwin [
31     darwin.apple_sdk.frameworks.SystemConfiguration
32   ];
34   nativeCheckInputs = [
35     git
36   ];
38   checkFlags = [
39     # requires nightly version of cargo-rustdoc
40     "--skip=both_passing_manifest_path_and_directory_works"
41     "--skip=verify_binary_contains_lints"
43     # requires internet access
44     "--skip=detects_target_dependencies"
45   ];
47   preCheck = ''
48     patchShebangs scripts/regenerate_test_rustdocs.sh
49     git init
50     scripts/regenerate_test_rustdocs.sh
51   '';
53   meta = with lib; {
54     description = "A tool to scan your Rust crate for semver violations";
55     mainProgram = "cargo-semver-checks";
56     homepage = "https://github.com/obi1kenobi/cargo-semver-checks";
57     changelog = "https://github.com/obi1kenobi/cargo-semver-checks/releases/tag/v${version}";
58     license = with licenses; [ mit /* or */ asl20 ];
59     maintainers = with maintainers; [ figsoda matthiasbeyer ];
60   };