Unverified Commit 5297420b authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt Committed by GitHub
Browse files

cargo-geiger: 0.11.7 -> 0.12.0, migrate to new apple sdk (#397897)

parents 451aea47 41ff65d8
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
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;
+0 −48
Original line number Diff line number Diff line
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",
 ]
 
+34 −47
Original line number Diff line number Diff line
{
  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