diff options
Diffstat (limited to 'pkgs/development/tools/cmake-language-server/default.nix')
-rw-r--r-- | pkgs/development/tools/cmake-language-server/default.nix | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/development/tools/cmake-language-server/default.nix b/pkgs/development/tools/cmake-language-server/default.nix new file mode 100644 index 00000000000..628bb31fbe9 --- /dev/null +++ b/pkgs/development/tools/cmake-language-server/default.nix @@ -0,0 +1,43 @@ +{ stdenv, buildPythonApplication, fetchFromGitHub +, poetry, pygls, pyparsing +, cmake, pytest, pytest-datadir +, fetchpatch +}: + +buildPythonApplication rec { + pname = "cmake-language-server"; + version = "0.1.2"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "regen100"; + repo = pname; + rev = "v${version}"; + sha256 = "0vz7bjxkk0phjhz3h9kj6yr7wnk3g7lqmkqraa0kw12mzcfck837"; + }; + + # can be removed after v0.1.2 + patches = stdenv.lib.optional stdenv.isDarwin (fetchpatch { + url = "https://github.com/regen100/cmake-language-server/commit/0ec120f39127f25898ab110b43819e3e9becb8a3.patch"; + sha256 = "1xbmarvsvzd61fnlap4qscnijli2rw2iqr7cyyvar2jd87z6sfp0"; + }); + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'pygls = "^0.8.1"' 'pygls = "^0.9.0"' + ''; + + nativeBuildInputs = [ poetry ]; + propagatedBuildInputs = [ pygls pyparsing ]; + + checkInputs = [ cmake pytest pytest-datadir ]; + dontUseCmakeConfigure = true; + checkPhase = "pytest"; + + meta = with stdenv.lib; { + homepage = "https://github.com/regen100/cmake-language-server"; + description = "CMake LSP Implementation"; + license = licenses.mit; + maintainers = with maintainers; [ metadark ]; + }; +} |