Commit 709b1eb5 authored by Gaetan Lepage's avatar Gaetan Lepage
Browse files
parent deb423b0
Loading
Loading
Loading
Loading
+59 −46
Original line number Diff line number Diff line
{
  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,22 +110,19 @@ buildPythonPackage rec {
    websockets = [ websockets ];
  };

  nativeCheckInputs =
    [
  nativeCheckInputs = [
    flaky
    matplotlib
    numpy
    pandas
    pytestCheckHook
    ]
    ++ passthru.optional-dependencies.all;
  ] ++ optional-dependencies.all;

  disabledTests =
    [
  disabledTests = [
    # Don't run lint tests
    "test_pydocstyle"
    # https://github.com/python-lsp/python-lsp-server/issues/243
      "test_numpy_completions"
    # "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
@@ -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";
  };
}