{ lib , rustPlatform , fetchFromGitHub , pkg-config , openssl , stdenv , libiconv , darwin , nix-update-script }: rustPlatform.buildRustPackage rec { pname = "reindeer"; version = "unstable-2023-05-18"; src = fetchFromGitHub { owner = "facebookincubator"; repo = pname; rev = "2d6d37dcddaa840b6cd99951176c972f4c3afddd"; sha256 = "sha256-31Kf6cVqAVFprTHEJp06E0p0y5YwdowhmPti8JBJw3g="; }; cargoLock = { lockFile = ./Cargo.lock; }; postPatch = '' ln -s ${./Cargo.lock} Cargo.lock ''; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security darwin.apple_sdk.frameworks.CoreServices ]; passthru.updateScript = ./update.sh; meta = with lib; { description = "Reindeer is a tool which takes Rust Cargo dependencies and generates Buck build rules"; homepage = "https://github.com/facebookincubator/reindeer"; license = with licenses; [ mit ]; maintainers = with maintainers; [ nickgerace ]; }; }