flake/packages/luau-lsp.nix

41 lines
1 KiB
Nix

{ pkgs, lib, ...
}:
pkgs.stdenv.mkDerivation (finalAttrs: {
pname = "luau-lsp";
version = "1.38.0";
src = pkgs.fetchFromGitHub {
owner = "JohnnyMorganz";
repo = "luau-lsp";
rev = finalAttrs.version;
hash = "sha256-31EdtCQftxhpp2b7fpM5XqRh+r0rBE/k9SpYEPpGpV0=";
fetchSubmodules = true;
};
nativeBuildInputs = [ pkgs.cmake ]
++ lib.optional pkgs.stdenv.isLinux pkgs.gcc9;
buildPhase = ''
runHook preBuild
cmake ..
cmake --build . --target Luau.LanguageServer.CLI --config Release
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp ./luau-lsp $out/bin/luau-lsp
runHook postInstall
'';
meta = {
description = "Language Server for Luau";
homepage = "https://github.com/JohnnyMorganz/luau-lsp";
downloadPage = "https://github.com/JohnnyMorganz/luau-lsp/releases/tag/${finalAttrs.version}";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ cswimr ];
mainProgram = "luau-lsp";
};
})