{ stdenv, lib, fetchFromGitHub, protobuf, rustPlatform, pkg-config, openssl, extra-cmake-modules, fontconfig, rust-jemalloc-sys, testers, turbo, nix-update-script, IOKit, CoreServices, CoreFoundation, capnproto, }: rustPlatform.buildRustPackage rec { pname = "turbo"; version = "1.11.3"; src = fetchFromGitHub { owner = "vercel"; repo = "turbo"; rev = "v${version}"; hash = "sha256-hjJXbGct9ZmriKdVjB7gwfmFsV1Tv57V7DfUMFZ8Xv0="; }; cargoBuildFlags = [ "--package" "turbo" ]; RELEASE_TURBO_CLI = "true"; cargoHash = "sha256-bAXO4Lqv4ibo+fz3679MjNgP2MMY8TbxhG0+DRy0xcA="; RUSTC_BOOTSTRAP = 1; nativeBuildInputs = [ pkg-config extra-cmake-modules protobuf capnproto ]; buildInputs = [ openssl fontconfig rust-jemalloc-sys ] ++ lib.optionals stdenv.isDarwin [ IOKit CoreServices CoreFoundation ]; # Browser tests time out with chromium and google-chrome doCheck = false; passthru = { updateScript = nix-update-script { extraArgs = ["--version-regex" "^\d+\.\d+\.\d+$"]; }; tests.version = testers.testVersion {package = turbo;}; }; meta = with lib; { description = "High-performance build system for JavaScript and TypeScript codebases"; homepage = "https://turbo.build/"; maintainers = with maintainers; [dlip]; license = licenses.mpl20; }; }