diff --git a/pkgs/by-name/ca/cargo-geiger/allow-warnings.patch b/pkgs/by-name/ca/cargo-geiger/allow-warnings.patch deleted file mode 100644 index 97a9090e904d..000000000000 --- a/pkgs/by-name/ca/cargo-geiger/allow-warnings.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/cargo-geiger/src/lib.rs b/cargo-geiger/src/lib.rs -index cc08146..d220ad9 100644 ---- a/cargo-geiger/src/lib.rs -+++ b/cargo-geiger/src/lib.rs -@@ -5,7 +5,6 @@ - #![deny(clippy::cargo)] - #![deny(clippy::doc_markdown)] - #![forbid(unsafe_code)] --#![deny(warnings)] - - /// Argument parsing - pub mod args; diff --git a/pkgs/by-name/ca/cargo-geiger/fix-build-with-rust-1.80.patch b/pkgs/by-name/ca/cargo-geiger/fix-build-with-rust-1.80.patch deleted file mode 100644 index 37d9c2ebad38..000000000000 --- a/pkgs/by-name/ca/cargo-geiger/fix-build-with-rust-1.80.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/Cargo.lock b/Cargo.lock -index 48c5606f..4c796675 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -2238,6 +2238,12 @@ dependencies = [ - "winapi", - ] - -+[[package]] -+name = "num-conv" -+version = "0.1.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -+ - [[package]] - name = "num-traits" - version = "0.2.17" -@@ -3148,13 +3154,14 @@ dependencies = [ - - [[package]] - name = "time" --version = "0.3.30" -+version = "0.3.36" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" -+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" - dependencies = [ - "deranged", - "itoa", - "libc", -+ "num-conv", - "num_threads", - "powerfmt", - "serde", -@@ -3170,10 +3177,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - - [[package]] - name = "time-macros" --version = "0.2.15" -+version = "0.2.18" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" -+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" - dependencies = [ -+ "num-conv", - "time-core", - ] - diff --git a/pkgs/by-name/ca/cargo-geiger/package.nix b/pkgs/by-name/ca/cargo-geiger/package.nix index edfa3438a50d..e0cff456712a 100644 --- a/pkgs/by-name/ca/cargo-geiger/package.nix +++ b/pkgs/by-name/ca/cargo-geiger/package.nix @@ -1,92 +1,79 @@ { - stdenv, lib, fetchFromGitHub, rustPlatform, pkg-config, openssl, - # darwin dependencies - darwin, - libiconv, - curl, + # testing + testers, + cargo-geiger, }: rustPlatform.buildRustPackage rec { pname = "cargo-geiger"; - version = "0.11.7"; + version = "0.12.0"; src = fetchFromGitHub { - owner = "rust-secure-code"; + owner = "geiger-rs"; repo = "cargo-geiger"; - rev = "cargo-geiger@v${version}"; - hash = "sha256-/5yuayqneZV6aVQ6YFgqNS2XY3W6yETRQ0kE5ovc7p8="; + tag = "cargo-geiger-${version}"; + hash = "sha256-OW/LOZUCGOIl7jeWnzt4SXTo3gplJx/wbC21S1TdZx0="; }; - cargoPatches = [ - # https://github.com/geiger-rs/cargo-geiger/pull/528 - ./fix-build-with-rust-1.80.patch - ]; - useFetchCargoVendor = true; - cargoHash = "sha256-n6RfulzrK9QebC1tgVVd/YnBc21Jf0OSfHApRO1c0ew="; + cargoHash = "sha256-aDgpEfX0QRkQD6c4ant6uSN18WLHVnZISRr7lyu9IzA="; - patches = [ - ./allow-warnings.patch + nativeBuildInputs = [ + pkg-config ]; - buildInputs = - [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin ( - with darwin.apple_sdk.frameworks; - [ - CoreFoundation - Security - libiconv - curl - ] - ); - nativeBuildInputs = - [ pkg-config ] - # curl-sys wants to run curl-config on darwin - ++ lib.optionals stdenv.hostPlatform.isDarwin [ curl.dev ]; + buildInputs = [ + openssl + ]; + + preCheck = '' + export HOME=$(mktemp -d) + ''; - # skip tests with networking or other failures checkFlags = [ - "--skip serialize_test1_quick_report" + # panics "--skip serialize_test2_quick_report" "--skip serialize_test3_quick_report" - "--skip serialize_test4_quick_report" "--skip serialize_test6_quick_report" - "--skip serialize_test7_quick_report" - "--skip serialize_test1_report" "--skip serialize_test2_report" "--skip serialize_test3_report" - "--skip serialize_test4_report" "--skip serialize_test6_report" - "--skip serialize_test7_report" - # multiple test cases that time-out or cause memory leaks - "--skip test_package" + # requires networking + "--skip test_package::case_2" + "--skip test_package::case_3" + "--skip test_package::case_6" + "--skip test_package::case_9" + # panics, snapshot assertions fails "--skip test_package_update_readme::case_2" "--skip test_package_update_readme::case_3" "--skip test_package_update_readme::case_5" ]; - meta = with lib; { - homepage = "https://github.com/rust-secure-code/cargo-geiger"; - changelog = "https://github.com/rust-secure-code/cargo-geiger/blob/cargo-geiger-${version}/CHANGELOG.md"; + passthru.tests.version = testers.testVersion { + package = cargo-geiger; + }; + + meta = { description = "Detects usage of unsafe Rust in a Rust crate and its dependencies"; - mainProgram = "cargo-geiger"; longDescription = '' A cargo plugin that detects the usage of unsafe Rust in a Rust crate and its dependencies. It provides information to aid auditing and guide dependency selection but it can not help you decide when and why unsafe code is appropriate. ''; - license = with licenses; [ + homepage = "https://github.com/geiger-rs/cargo-geiger"; + changelog = "https://github.com/geiger-rs/cargo-geiger/blob/cargo-geiger-${version}/CHANGELOG.md"; + mainProgram = "cargo-geiger"; + license = with lib.licenses; [ asl20 # or mit ]; - maintainers = with maintainers; [ + maintainers = with lib.maintainers; [ evanjs gepbird jk