python3Packages.python-lsp-server: make some dependencies optional

This commit is contained in:
figsoda 2021-08-22 09:08:17 -04:00
parent 3cc7e2f037
commit 3e3938a665

View file

@ -22,6 +22,15 @@
, setuptools
, ujson
, yapf
, withAutopep8 ? true
, withFlake8 ? true
, withMccabe ? true
, withPycodestyle ? true
, withPydocstyle ? true
, withPyflakes ? true
, withPylint ? true
, withRope ? true
, withYapf ? true
}:
buildPythonPackage rec {
@ -37,21 +46,20 @@ buildPythonPackage rec {
};
propagatedBuildInputs = [
autopep8
flake8
jedi
mccabe
pluggy
pycodestyle
pydocstyle
pyflakes
pylint
python-lsp-jsonrpc
rope
setuptools
ujson
yapf
];
] ++ lib.optional withAutopep8 autopep8
++ lib.optional withFlake8 flake8
++ lib.optional withMccabe mccabe
++ lib.optional withPycodestyle pycodestyle
++ lib.optional withPydocstyle pydocstyle
++ lib.optional withPyflakes pyflakes
++ lib.optional withPylint pylint
++ lib.optional withRope rope
++ lib.optional withYapf yapf;
checkInputs = [
flaky
@ -62,6 +70,19 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTests = lib.optional (!withPycodestyle) "test_workspace_loads_pycodestyle_config";
disabledTestPaths = lib.optional (!withAutopep8) "test/plugins/test_autopep8_format.py"
++ lib.optional (!withRope) "test/plugins/test_completion.py"
++ lib.optional (!withFlake8) "test/plugins/test_flake8_lint.py"
++ lib.optional (!withMccabe) "test/plugins/test_mccabe_lint.py"
++ lib.optional (!withPycodestyle) "test/plugins/test_pycodestyle_lint.py"
++ lib.optional (!withPydocstyle) "test/plugins/test_pydocstyle_lint.py"
++ lib.optional (!withPyflakes) "test/plugins/test_pyflakes_lint.py"
++ lib.optional (!withPylint) "test/plugins/test_pylint_lint.py"
++ lib.optional (!withRope) "test/plugins/test_rope_rename.py"
++ lib.optional (!withYapf) "test/plugins/test_yapf_format.py";
postPatch = ''
substituteInPlace setup.cfg \
--replace "--cov-report html --cov-report term --junitxml=pytest.xml" "" \