{ lib , rustPlatform , fetchFromGitHub , pkg-config , installShellFiles , bzip2 , openssl , stdenv , darwin }: rustPlatform.buildRustPackage rec { pname = "cargo-make"; version = "0.37.23"; src = fetchFromGitHub { owner = "sagiegurari"; repo = "cargo-make"; rev = version; hash = "sha256-yYZasrnfxpLf0z6GndLYhkIFfVNjTkx4zdfHYX6WyXk="; }; cargoHash = "sha256-X4FhUqhf58wbl3A8nlXAqnYkkaXajxxqRyJn5K7BVqM="; nativeBuildInputs = [ pkg-config installShellFiles ]; buildInputs = [ bzip2 openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; postInstall = '' installShellCompletion extra/shell/*.bash ''; # Some tests fail because they need network access. # However, Travis ensures a proper build. # See also: # https://travis-ci.org/sagiegurari/cargo-make doCheck = false; meta = with lib; { description = "Rust task runner and build tool"; homepage = "https://github.com/sagiegurari/cargo-make"; changelog = "https://github.com/sagiegurari/cargo-make/blob/${version}/CHANGELOG.md"; license = licenses.asl20; maintainers = with maintainers; [ figsoda xrelkd ]; mainProgram = "cargo-make"; }; }