diff --git a/pkgs/development/tools/sumneko-lua-language-server/default.nix b/pkgs/development/tools/sumneko-lua-language-server/default.nix new file mode 100644 index 000000000000..05281f1bb83c --- /dev/null +++ b/pkgs/development/tools/sumneko-lua-language-server/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchFromGitHub, ninja, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "sumneko-lua-language-server"; + version = "1.11.2"; + + src = fetchFromGitHub { + owner = "sumneko"; + repo = "lua-language-server"; + rev = version; + sha256 = "1cnzwfqmzlzi6797l37arhhx2l6wsvs3jjgxdxwdbgq3rfz1ncr8"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + ninja + makeWrapper + ]; + + preBuild = '' + cd 3rd/luamake + ''; + + ninjaFlags = [ + "-f ninja/linux.ninja" + ]; + + postBuild = '' + cd ../.. + ./3rd/luamake/luamake rebuild + ''; + + installPhase = '' + mkdir -p $out/bin $out/extras + cp -r ./{locale,meta,script,*.lua} $out/extras/ + cp ./bin/Linux/{bee.so,lpeglabel.so} $out/extras + cp ./bin/Linux/lua-language-server $out/extras/.lua-language-server-unwrapped + makeWrapper $out/extras/.lua-language-server-unwrapped \ + $out/bin/lua-language-server \ + --add-flags "-E $out/extras/main.lua \ + --logpath='~/.cache/sumneko_lua/log' \ + --metapath='~/.cache/sumneko_lua/meta'" + ''; + + meta = with stdenv.lib; { + description = "Lua Language Server coded by Lua "; + homepage = "https://github.com/sumneko/lua-language-server"; + license = licenses.mit; + maintainers = with maintainers; [ mjlbach ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7b17319f106d..fbff117a25f2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28456,6 +28456,8 @@ in sqsh = callPackage ../development/tools/sqsh { }; + sumneko-lua-language-server = callPackage ../development/tools/sumneko-lua-language-server { }; + go-swag = callPackage ../development/tools/go-swag { }; go-swagger = callPackage ../development/tools/go-swagger { };