lol
at 24.11-pre 72 lines 1.6 kB view raw
1{ lib 2, buildPythonApplication 3, pythonOlder 4, fetchFromGitHub 5, pdm-backend 6, cmake-format 7, pygls 8, cmake 9, pytest-datadir 10, pytestCheckHook 11}: 12 13buildPythonApplication rec { 14 pname = "cmake-language-server"; 15 version = "0.1.10"; 16 format = "pyproject"; 17 18 disabled = pythonOlder "3.8"; 19 20 src = fetchFromGitHub { 21 owner = "regen100"; 22 repo = "cmake-language-server"; 23 rev = "refs/tags/v${version}"; 24 hash = "sha256-9fnyDJm8rUl+7g4FrdMykPpQOcww2M6IPWH/3qVeJX4="; 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 changelog = "https://github.com/regen100/cmake-language-server/releases/tag/v${version}"; 68 license = licenses.mit; 69 maintainers = with maintainers; [ kira-bruneau ]; 70 mainProgram = "cmake-language-server"; 71 }; 72}