nerdfonts: fix wrong attribute name in error message (#364463)
[NixPkgs.git] / pkgs / by-name / ca / cargo-geiger / package.nix
blob77c232c50da9cf3dd57d1ebd5865fd2230082453
2   stdenv,
3   lib,
4   fetchFromGitHub,
5   rustPlatform,
6   pkg-config,
7   openssl,
8   # darwin dependencies
9   darwin,
10   libiconv,
11   curl,
14 rustPlatform.buildRustPackage rec {
15   pname = "cargo-geiger";
16   version = "0.11.7";
18   src = fetchFromGitHub {
19     owner = "rust-secure-code";
20     repo = pname;
21     rev = "cargo-geiger@v${version}";
22     hash = "sha256-/5yuayqneZV6aVQ6YFgqNS2XY3W6yETRQ0kE5ovc7p8=";
23   };
25   cargoPatches = [
26     # https://github.com/geiger-rs/cargo-geiger/pull/528
27     ./fix-build-with-rust-1.80.patch
28   ];
30   cargoHash = "sha256-511KeTykHw3xbnsuwIt2QmBK3mG9yK23z0yrS3eIY74=";
32   patches = [
33     ./allow-warnings.patch
34   ];
36   buildInputs =
37     [ openssl ]
38     ++ lib.optionals stdenv.hostPlatform.isDarwin (
39       with darwin.apple_sdk.frameworks;
40       [
41         CoreFoundation
42         Security
43         libiconv
44         curl
45       ]
46     );
47   nativeBuildInputs =
48     [ pkg-config ]
49     # curl-sys wants to run curl-config on darwin
50     ++ lib.optionals stdenv.hostPlatform.isDarwin [ curl.dev ];
52   # skip tests with networking or other failures
53   checkFlags = [
54     "--skip serialize_test1_quick_report"
55     "--skip serialize_test2_quick_report"
56     "--skip serialize_test3_quick_report"
57     "--skip serialize_test4_quick_report"
58     "--skip serialize_test6_quick_report"
59     "--skip serialize_test7_quick_report"
60     "--skip serialize_test1_report"
61     "--skip serialize_test2_report"
62     "--skip serialize_test3_report"
63     "--skip serialize_test4_report"
64     "--skip serialize_test6_report"
65     "--skip serialize_test7_report"
66     # multiple test cases that time-out or cause memory leaks
67     "--skip test_package"
68     "--skip test_package_update_readme::case_2"
69     "--skip test_package_update_readme::case_3"
70     "--skip test_package_update_readme::case_5"
71   ];
73   meta = with lib; {
74     homepage = "https://github.com/rust-secure-code/cargo-geiger";
75     changelog = "https://github.com/rust-secure-code/cargo-geiger/blob/cargo-geiger-${version}/CHANGELOG.md";
76     description = "Detects usage of unsafe Rust in a Rust crate and its dependencies";
77     mainProgram = "cargo-geiger";
78     longDescription = ''
79       A cargo plugin that detects the usage of unsafe Rust in a Rust crate and
80       its dependencies. It provides information to aid auditing and guide
81       dependency selection but it can not help you decide when and why unsafe
82       code is appropriate.
83     '';
84     license = with licenses; [
85       asl20 # or
86       mit
87     ];
88     maintainers = with maintainers; [
89       evanjs
90       gepbird
91       jk
92       matthiasbeyer
93     ];
94   };