cargo-geiger: fix darwin build

This commit is contained in:
Jonathan Ringer 2019-11-06 11:23:32 -08:00 committed by Jon
parent 3780b9e69c
commit cb581af6d5
2 changed files with 14 additions and 4 deletions

View File

@ -1,6 +1,8 @@
{ stdenv, lib, fetchFromGitHub
, rustPlatform, pkgconfig
, openssl, Security }:
, rustPlatform, pkgconfig, openssl
# darwin dependencies
, Security, CoreFoundation, libiconv
}:
rustPlatform.buildRustPackage rec {
pname = "cargo-geiger";
@ -26,9 +28,16 @@ rustPlatform.buildRustPackage rec {
--skip test_package::case_6
'';
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security libiconv ];
nativeBuildInputs = [ pkgconfig ];
# FIXME: Use impure version of CoreFoundation because of missing symbols.
# CFURLSetResourcePropertyForKey is defined in the headers but there's no
# corresponding implementation in the sources from opensource.apple.com.
preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE"
'';
meta = with lib; {
description = "Detects usage of unsafe Rust in a Rust crate and its dependencies.";
homepage = https://github.com/anderejd/cargo-geiger;

View File

@ -8534,7 +8534,8 @@ in
cargo-expand = callPackage ../development/tools/rust/cargo-expand { };
cargo-fuzz = callPackage ../development/tools/rust/cargo-fuzz { };
cargo-geiger = callPackage ../development/tools/rust/cargo-geiger {
inherit (darwin.apple_sdk.frameworks) Security;
inherit (darwin) libiconv;
inherit (darwin.apple_sdk.frameworks) Security CoreFoundation;
};
cargo-inspect = callPackage ../development/tools/rust/cargo-inspect {
inherit (darwin.apple_sdk.frameworks) Security;