From d76127f9fef3a9ac265acfc369324c0332890d8f Mon Sep 17 00:00:00 2001 From: Dane Lipscombe Date: Thu, 16 Feb 2023 14:27:44 +1100 Subject: [PATCH] turbo: init at 1.7.0 --- pkgs/tools/misc/turbo/default.nix | 91 +++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 93 insertions(+) create mode 100644 pkgs/tools/misc/turbo/default.nix diff --git a/pkgs/tools/misc/turbo/default.nix b/pkgs/tools/misc/turbo/default.nix new file mode 100644 index 000000000000..5aca983252df --- /dev/null +++ b/pkgs/tools/misc/turbo/default.nix @@ -0,0 +1,91 @@ +{ lib +, fetchFromGitHub +, buildGoModule +, git +, nodejs +, protobuf +, protoc-gen-go +, protoc-gen-go-grpc +, rustPlatform +, pkg-config +, openssl +, extra-cmake-modules +, fontconfig +, go +}: +let + version = "1.7.0"; + src = fetchFromGitHub { + owner = "vercel"; + repo = "turbo"; + rev = "v${version}"; + sha256 = "YTuEv2S3jNV2o7HJML+P6OMazgwgRhUPnd/zaTWfDWs="; + }; + + go-turbo = buildGoModule rec { + inherit src version; + pname = "go-turbo"; + modRoot = "cli"; + + vendorSha256 = "Kx/CLFv23h2TmGe8Jwu+S3QcONfqeHk2fCW1na75c0s="; + + nativeBuildInputs = [ + git + nodejs + protobuf + protoc-gen-go + protoc-gen-go-grpc + ]; + + preBuild = '' + make compile-protos + ''; + + preCheck = '' + # Some tests try to run mkdir $HOME + HOME=$TMP + + # Test_getTraversePath requires that source is a git repo + # pwd: /build/source/cli + pushd .. + git config --global init.defaultBranch main + git init + popd + ''; + + }; +in +rustPlatform.buildRustPackage rec { + pname = "turbo"; + inherit src version; + cargoBuildFlags = [ + "--package" + "turbo" + ]; + RELEASE_TURBO_CLI = "true"; + + cargoSha256 = "ENw6NU3Fedd+OJEEWgL8A54aowNqjn3iv7rxlr+/4ZE="; + RUSTC_BOOTSTRAP = 1; + nativeBuildInputs = [ + pkg-config + extra-cmake-modules + ]; + buildInputs = [ + openssl + fontconfig + ]; + + postInstall = '' + ln -s ${go-turbo}/bin/turbo $out/bin/go-turbo + ''; + + # Browser tests time out with chromium and google-chrome + doCheck = false; + + meta = with lib; { + description = "High-performance build system for JavaScript and TypeScript codebases"; + homepage = "https://turbo.build/"; + maintainers = with maintainers; [ dlip ]; + license = licenses.mpl20; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0ee84cd2bbd1..8b2a76058341 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12783,6 +12783,8 @@ with pkgs; tuptime = callPackage ../tools/system/tuptime { }; + turbo = callPackage ../tools/misc/turbo { }; + turses = callPackage ../applications/networking/instant-messengers/turses { }; tutanota-desktop = callPackage ../applications/networking/mailreaders/tutanota-desktop { };