diff options
-rw-r--r-- | pkgs/by-name/va/vale-ls/package.nix | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/pkgs/by-name/va/vale-ls/package.nix b/pkgs/by-name/va/vale-ls/package.nix new file mode 100644 index 000000000000..b79f94c7627c --- /dev/null +++ b/pkgs/by-name/va/vale-ls/package.nix @@ -0,0 +1,61 @@ +{ lib +, stdenv +, fetchFromGitHub +, makeWrapper +, rustPlatform +, pkg-config +, openssl +, darwin +, vale +}: + +rustPlatform.buildRustPackage { + pname = "vale-ls"; + version = "0.3.7-unstable-2024-03-13"; + + src = fetchFromGitHub { + owner = "errata-ai"; + repo = "vale-ls"; + rev = "473e16bc88ec48b35e2bd208adc174878c4d5396"; + hash = "sha256-ywJsnWMc9NSjYjsK6SXdMAQl+hcP+KQ7Xp1A99aeqAg="; + }; + + nativeBuildInputs = [ + rustPlatform.bindgenHook + pkg-config + makeWrapper + ]; + + buildInputs = [ + openssl + ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ + SystemConfiguration + ]); + + checkFlags = [ + # The following tests are reaching to the network. + "--skip=vale::tests" + ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [ + # This test does not account for the existence of aarch64-linux machines, + # despite upstream shipping artifacts for that architecture + "--skip=utils::tests::arch" + ]; + + env.OPENSSL_NO_VENDOR = true; + + cargoHash = "sha256-ifKdSTmVWfDZF5Kn9b5JpzDxa160oRTfzjvxeL9POBg="; + + postInstall = '' + wrapProgram $out/bin/vale-ls \ + --prefix PATH : ${lib.makeBinPath [ vale ]} + ''; + + meta = with lib; { + description = "LSP implementation for the Vale command-line tool"; + homepage = "https://github.com/errata-ai/vale-ls"; + license = licenses.mit; + mainProgram = "vale-ls"; + maintainers = with maintainers; [ foo-dogsquared jansol ]; + }; +} + |