at 24.05-pre 70 lines 1.5 kB view raw
1{ lib 2, buildPythonApplication 3, fetchFromGitHub 4, cmake-format 5, pygls 6, cmake 7, pdm-backend 8, pytest-datadir 9, pytestCheckHook 10, pythonOlder 11}: 12 13buildPythonApplication rec { 14 pname = "cmake-language-server"; 15 version = "0.1.8"; 16 format = "pyproject"; 17 18 disabled = pythonOlder "3.7"; 19 20 src = fetchFromGitHub { 21 owner = "regen100"; 22 repo = "cmake-language-server"; 23 rev = "refs/tags/v${version}"; 24 hash = "sha256-7AlF+FqhZR+6lLsR1dxAGHd/GU+mB3ojYLDXVm7Il4M="; 25 }; 26 27 patches = [ 28 # Test timeouts occasionally cause the build to fail 29 ./disable-test-timeouts.patch 30 ]; 31 32 nativeBuildInputs = [ 33 pdm-backend 34 ]; 35 36 propagatedBuildInputs = [ 37 cmake-format 38 pygls 39 ]; 40 41 nativeCheckInputs = [ 42 cmake 43 cmake-format 44 pytest-datadir 45 pytestCheckHook 46 ]; 47 48 # version.py generated by pdm, no idea why it's not present in test phase 49 # https://github.com/regen100/cmake-language-server/blob/68bbc8187b6110a75f498647af7c44df790ffa87/pyproject.toml#L35-L36 50 preCheck = '' 51 echo "__version__ = \"$PDM_BUILD_SCM_VERSION\"" > cmake_language_server/version.py 52 ''; 53 54 postCheck = '' 55 rm cmake_language_server/version.py 56 ''; 57 58 dontUseCmakeConfigure = true; 59 60 pythonImportsCheck = [ 61 "cmake_language_server" 62 ]; 63 64 meta = with lib; { 65 description = "CMake LSP Implementation"; 66 homepage = "https://github.com/regen100/cmake-language-server"; 67 license = licenses.mit; 68 maintainers = with maintainers; [ kira-bruneau ]; 69 }; 70}