about summary refs log tree commit diff
path: root/pkgs/development/python-modules/python-lsp-server/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/python-lsp-server/default.nix')
-rw-r--r--pkgs/development/python-modules/python-lsp-server/default.nix112
1 files changed, 59 insertions, 53 deletions
diff --git a/pkgs/development/python-modules/python-lsp-server/default.nix b/pkgs/development/python-modules/python-lsp-server/default.nix
index c79e3f7e8d7bc..54fa536f792e4 100644
--- a/pkgs/development/python-modules/python-lsp-server/default.nix
+++ b/pkgs/development/python-modules/python-lsp-server/default.nix
@@ -1,42 +1,50 @@
 {
   lib,
-  stdenv,
-  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,
-  pyqt5,
-  pytestCheckHook,
-  python-lsp-jsonrpc,
-  pythonOlder,
-  pythonRelaxDepsHook,
   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";
 
@@ -44,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 = ''
@@ -62,8 +70,6 @@ buildPythonPackage rec {
     "pyflakes"
   ];
 
-  nativeBuildInputs = [ setuptools-scm ];
-
   build-system = [ setuptools-scm ];
 
   dependencies = [
@@ -75,7 +81,7 @@ buildPythonPackage rec {
     ujson
   ] ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       autopep8
       flake8
@@ -104,31 +110,24 @@ buildPythonPackage rec {
     websockets = [ websockets ];
   };
 
-  nativeCheckInputs =
-    [
-      flaky
-      matplotlib
-      numpy
-      pandas
-      pytestCheckHook
-    ]
-    ++ passthru.optional-dependencies.all
-    # pyqt5 is broken on aarch64-darwin
-    ++ lib.optionals (!stdenv.isDarwin || !stdenv.isAarch64) [ pyqt5 ];
-
-  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"
-    ]
-    ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
-      # pyqt5 is broken on aarch64-darwin
-      "test_pyqt_completion"
-    ];
+  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"
+  ];
 
   preCheck = ''
     export HOME=$(mktemp -d);
@@ -139,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";
   };
 }