{ lib , stdenv , fetchFromGitHub , rustPlatform , darwin }: rustPlatform.buildRustPackage rec { pname = "rcp"; version = "0.12.0"; src = fetchFromGitHub { owner = "wykurz"; repo = "rcp"; rev = "v${version}"; hash = "sha256-TQTn91FDqDpdPv6dn2cwseGF+3EcJ17sglHKD7EQLeY="; }; buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ IOKit ]); cargoHash = "sha256-uhE1AphdYKL6pFY8vsmdMGxHxFiVw75oDXNP8qGykBc="; RUSTFLAGS = "--cfg tokio_unstable"; checkFlags = [ # this test also sets setuid permissions on a test file (3oXXX) which doesn't work in a sandbox "--skip=copy::copy_tests::check_default_mode" ]; meta = with lib; { changelog = "https://github.com/wykurz/rcp/releases/tag/v${version}"; description = "Tools to efficiently copy, remove and link large filesets"; homepage = "https://github.com/wykurz/rcp"; license = with licenses; [ mit ]; mainProgram = "rcp"; maintainers = with maintainers; [ wykurz ]; # = note: Undefined symbols for architecture x86_64: "_utimensat" broken = stdenv.isDarwin && stdenv.isx86_64; }; }