diff --git a/pkgs/development/python-modules/python-lsp-server/default.nix b/pkgs/development/python-modules/python-lsp-server/default.nix index 927f26b3201e..54fa536f792e 100644 --- a/pkgs/development/python-modules/python-lsp-server/default.nix +++ b/pkgs/development/python-modules/python-lsp-server/default.nix @@ -1,39 +1,50 @@ { lib, - autopep8, buildPythonPackage, - docstring-to-markdown, fetchFromGitHub, - flake8, - flaky, - importlib-metadata, + pythonOlder, + + # build-system + setuptools-scm, + + # dependencies + docstring-to-markdown, jedi, - matplotlib, - mccabe, - numpy, - pandas, pluggy, + python-lsp-jsonrpc, + setuptools, + ujson, + importlib-metadata, + + # optional-dependencies + autopep8, + flake8, + mccabe, pycodestyle, pydocstyle, pyflakes, pylint, - pytestCheckHook, - python-lsp-jsonrpc, - pythonOlder, rope, - setuptools, - setuptools-scm, toml, - ujson, - websockets, whatthepatch, yapf, + + # checks + flaky, + matplotlib, + numpy, + pandas, + pytestCheckHook, + websockets, + + testers, + python-lsp-server, }: buildPythonPackage rec { pname = "python-lsp-server"; - version = "1.11.0"; - format = "pyproject"; + version = "1.12.0"; + pyproject = true; disabled = pythonOlder "3.8"; @@ -41,7 +52,7 @@ buildPythonPackage rec { owner = "python-lsp"; repo = "python-lsp-server"; rev = "refs/tags/v${version}"; - hash = "sha256-0DFcnGlyDOK0Lxpr++xV6klhFF9b1fihH5FY/tblr+E="; + hash = "sha256-oFqa7DtFpJmDZrw+GJqrFH3QqnMAu9159q3IWT9vRko="; }; postPatch = '' @@ -59,8 +70,6 @@ buildPythonPackage rec { "pyflakes" ]; - nativeBuildInputs = [ setuptools-scm ]; - build-system = [ setuptools-scm ]; dependencies = [ @@ -72,7 +81,7 @@ buildPythonPackage rec { ujson ] ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ]; - passthru.optional-dependencies = { + optional-dependencies = { all = [ autopep8 flake8 @@ -101,27 +110,24 @@ buildPythonPackage rec { websockets = [ websockets ]; }; - nativeCheckInputs = - [ - flaky - matplotlib - numpy - pandas - pytestCheckHook - ] - ++ passthru.optional-dependencies.all; + nativeCheckInputs = [ + flaky + matplotlib + numpy + pandas + pytestCheckHook + ] ++ optional-dependencies.all; - disabledTests = - [ - # Don't run lint tests - "test_pydocstyle" - # https://github.com/python-lsp/python-lsp-server/issues/243 - "test_numpy_completions" - "test_workspace_loads_pycodestyle_config" - "test_autoimport_code_actions_and_completions_for_notebook_document" - # avoid dependencies on many Qt things just to run one singular test - "test_pyqt_completion" - ]; + disabledTests = [ + # Don't run lint tests + "test_pydocstyle" + # https://github.com/python-lsp/python-lsp-server/issues/243 + # "test_numpy_completions" + "test_workspace_loads_pycodestyle_config" + "test_autoimport_code_actions_and_completions_for_notebook_document" + # avoid dependencies on many Qt things just to run one singular test + "test_pyqt_completion" + ]; preCheck = '' export HOME=$(mktemp -d); @@ -132,12 +138,19 @@ buildPythonPackage rec { "pylsp.python_lsp" ]; - meta = with lib; { + passthru = { + tests.version = testers.testVersion { + package = python-lsp-server; + version = "v${version}"; + }; + }; + + meta = { description = "Python implementation of the Language Server Protocol"; homepage = "https://github.com/python-lsp/python-lsp-server"; changelog = "https://github.com/python-lsp/python-lsp-server/blob/v${version}/CHANGELOG.md"; - license = licenses.mit; - maintainers = with maintainers; [ fab ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; mainProgram = "pylsp"; }; }