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

This commit is contained in:
Peder Bergebakken Sundt 2025-04-24 21:39:48 +02:00 committed by GitHub
commit 5297420bba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 34 additions and 107 deletions

View File

@ -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;

View File

@ -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",
]

View File

@ -1,92 +1,79 @@
{ {
stdenv,
lib, lib,
fetchFromGitHub, fetchFromGitHub,
rustPlatform, rustPlatform,
pkg-config, pkg-config,
openssl, openssl,
# darwin dependencies # testing
darwin, testers,
libiconv, cargo-geiger,
curl,
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "cargo-geiger"; pname = "cargo-geiger";
version = "0.11.7"; version = "0.12.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rust-secure-code"; owner = "geiger-rs";
repo = "cargo-geiger"; repo = "cargo-geiger";
rev = "cargo-geiger@v${version}"; tag = "cargo-geiger-${version}";
hash = "sha256-/5yuayqneZV6aVQ6YFgqNS2XY3W6yETRQ0kE5ovc7p8="; hash = "sha256-OW/LOZUCGOIl7jeWnzt4SXTo3gplJx/wbC21S1TdZx0=";
}; };
cargoPatches = [
# https://github.com/geiger-rs/cargo-geiger/pull/528
./fix-build-with-rust-1.80.patch
];
useFetchCargoVendor = true; useFetchCargoVendor = true;
cargoHash = "sha256-n6RfulzrK9QebC1tgVVd/YnBc21Jf0OSfHApRO1c0ew="; cargoHash = "sha256-aDgpEfX0QRkQD6c4ant6uSN18WLHVnZISRr7lyu9IzA=";
patches = [ nativeBuildInputs = [
./allow-warnings.patch pkg-config
]; ];
buildInputs = buildInputs = [
[ openssl ] openssl
++ lib.optionals stdenv.hostPlatform.isDarwin ( ];
with darwin.apple_sdk.frameworks;
[ preCheck = ''
CoreFoundation export HOME=$(mktemp -d)
Security '';
libiconv
curl
]
);
nativeBuildInputs =
[ pkg-config ]
# curl-sys wants to run curl-config on darwin
++ lib.optionals stdenv.hostPlatform.isDarwin [ curl.dev ];
# skip tests with networking or other failures
checkFlags = [ checkFlags = [
"--skip serialize_test1_quick_report" # panics
"--skip serialize_test2_quick_report" "--skip serialize_test2_quick_report"
"--skip serialize_test3_quick_report" "--skip serialize_test3_quick_report"
"--skip serialize_test4_quick_report"
"--skip serialize_test6_quick_report" "--skip serialize_test6_quick_report"
"--skip serialize_test7_quick_report"
"--skip serialize_test1_report"
"--skip serialize_test2_report" "--skip serialize_test2_report"
"--skip serialize_test3_report" "--skip serialize_test3_report"
"--skip serialize_test4_report"
"--skip serialize_test6_report" "--skip serialize_test6_report"
"--skip serialize_test7_report" # requires networking
# multiple test cases that time-out or cause memory leaks "--skip test_package::case_2"
"--skip test_package" "--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_2"
"--skip test_package_update_readme::case_3" "--skip test_package_update_readme::case_3"
"--skip test_package_update_readme::case_5" "--skip test_package_update_readme::case_5"
]; ];
meta = with lib; { passthru.tests.version = testers.testVersion {
homepage = "https://github.com/rust-secure-code/cargo-geiger"; package = cargo-geiger;
changelog = "https://github.com/rust-secure-code/cargo-geiger/blob/cargo-geiger-${version}/CHANGELOG.md"; };
meta = {
description = "Detects usage of unsafe Rust in a Rust crate and its dependencies"; description = "Detects usage of unsafe Rust in a Rust crate and its dependencies";
mainProgram = "cargo-geiger";
longDescription = '' longDescription = ''
A cargo plugin that detects the usage of unsafe Rust in a Rust crate and 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 its dependencies. It provides information to aid auditing and guide
dependency selection but it can not help you decide when and why unsafe dependency selection but it can not help you decide when and why unsafe
code is appropriate. 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 asl20 # or
mit mit
]; ];
maintainers = with maintainers; [ maintainers = with lib.maintainers; [
evanjs evanjs
gepbird gepbird
jk jk