diff options
Diffstat (limited to 'pkgs/development/tools/rust/cargo-geiger/default.nix')
-rw-r--r-- | pkgs/development/tools/rust/cargo-geiger/default.nix | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/pkgs/development/tools/rust/cargo-geiger/default.nix b/pkgs/development/tools/rust/cargo-geiger/default.nix index 2512a9ec4f4b8..70601faaf6dc6 100644 --- a/pkgs/development/tools/rust/cargo-geiger/default.nix +++ b/pkgs/development/tools/rust/cargo-geiger/default.nix @@ -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; |