diff --git a/pkgs/development/tools/biome/default.nix b/pkgs/development/tools/biome/default.nix new file mode 100644 index 000000000000..f853669bcc38 --- /dev/null +++ b/pkgs/development/tools/biome/default.nix @@ -0,0 +1,63 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, libgit2_1_6 +, zlib +, stdenv +, darwin +, git +}: + +rustPlatform.buildRustPackage rec { + pname = "biome"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "biomejs"; + repo = "biome"; + rev = "cli/v${version}"; + hash = "sha256-oX/LyC6JN0NUc/xi4G9lzKgF9yOlooAt69Gw+eLJxbE="; + }; + + cargoHash = "sha256-4P57fmp5CpGn1wYkQos7PO3YFChup8LrrLExv9S76gs="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + libgit2_1_6 + zlib + ] ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; + + nativeCheckInputs = [ + git + ]; + + cargoBuildFlags = [ "-p=rome_cli" ]; + cargoTestFlags = cargoBuildFlags; + + env = { + BIOME_VERSION = version; + }; + + preCheck = '' + # tests assume git repository + git init + + # tests assume $BIOME_VERSION is unset + unset BIOME_VERSION + ''; + + meta = with lib; { + description = "Toolchain of the web"; + homepage = "https://biomejs.dev/"; + changelog = "https://github.com/biomejs/biome/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ figsoda ]; + mainProgram = "biome"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 99b71f2e582c..38d5591e37ed 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7043,6 +7043,8 @@ with pkgs; biodiff = callPackage ../development/tools/biodiff { }; + biome = callPackage ../development/tools/biome { }; + biosdevname = callPackage ../tools/networking/biosdevname { }; bluetooth_battery = python3Packages.callPackage ../applications/misc/bluetooth_battery { };