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,
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