diff options
| author | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2021-07-23 15:35:31 +0200 |
|---|---|---|
| committer | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2021-07-23 15:49:07 +0200 |
| commit | 93d03e99f4df4b98fc4c111b82175face649e966 (patch) | |
| tree | 0172a59756c76358457285c9ec8fe78b0994a16a /dev-python/python-lsp-server/python-lsp-server-1.0.1-r1.ebuild | |
| parent | dcc9c56b49dea98aed98344bc575bc0ae7beeefa (diff) | |
| download | gentoo-93d03e99f4df4b98fc4c111b82175face649e966.tar.gz gentoo-93d03e99f4df4b98fc4c111b82175face649e966.tar.bz2 gentoo-93d03e99f4df4b98fc4c111b82175face649e966.zip | |
dev-python/python-lsp-server: introduce all-plugins USE flag
Spyder requires all optional plugins for pylsp to be installed.
Previously we handled this in the spyder ebuild. However,
different versions of pylsp can be (in)compatible with
different versions of these plugins. Which means that we run
into problems with spyder if the version dependecny information
for version X is recorded in the spyder ebuild, but version Y
of pylsp is installed. The obvious solution is to record these
dependencies in the pylsp ebuild instead, however to not pull in
*everything* unconditionally we also introduce the USE flag.
Package-Manager: Portage-3.0.20, Repoman-3.0.3
RepoMan-Options: --force
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Diffstat (limited to 'dev-python/python-lsp-server/python-lsp-server-1.0.1-r1.ebuild')
| -rw-r--r-- | dev-python/python-lsp-server/python-lsp-server-1.0.1-r1.ebuild | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/dev-python/python-lsp-server/python-lsp-server-1.0.1-r1.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.0.1-r1.ebuild new file mode 100644 index 000000000000..664b3167fc9e --- /dev/null +++ b/dev-python/python-lsp-server/python-lsp-server-1.0.1-r1.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) + +DISTUTILS_USE_SETUPTOOLS=rdepend +inherit distutils-r1 optfeature + +DESCRIPTION="Python Language Server for the Language Server Protocol" +HOMEPAGE="https://github.com/python-lsp/python-lsp-server" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" + +IUSE="all-plugins" + +BDEPEND=" + test? ( + dev-python/autopep8[${PYTHON_USEDEP}] + dev-python/flaky[${PYTHON_USEDEP}] + >=dev-python/flake8-3.8.0[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + >=dev-python/mccabe-0.6.0[${PYTHON_USEDEP}] + <dev-python/mccabe-0.7.0[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] + >=dev-python/pycodestyle-2.7.0[${PYTHON_USEDEP}] + >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}] + >=dev-python/pyflakes-2.3.0[${PYTHON_USEDEP}] + <dev-python/pyflakes-2.4.0[${PYTHON_USEDEP}] + >=dev-python/pylint-2.5.0[${PYTHON_USEDEP}] + dev-python/QtPy[gui,testlib,${PYTHON_USEDEP}] + >=dev-python/rope-0.10.5[${PYTHON_USEDEP}] + dev-python/yapf[${PYTHON_USEDEP}] + )" + +RDEPEND=" + >=dev-python/jedi-0.17.2[${PYTHON_USEDEP}] + <dev-python/jedi-0.19.0[${PYTHON_USEDEP}] + >=dev-python/python-lsp-jsonrpc-1.0.0[${PYTHON_USEDEP}] + dev-python/pluggy[${PYTHON_USEDEP}] + all-plugins? ( + dev-python/autopep8[${PYTHON_USEDEP}] + >=dev-python/flake8-3.8.0[${PYTHON_USEDEP}] + >=dev-python/mccabe-0.6.0[${PYTHON_USEDEP}] + <dev-python/mccabe-0.7.0[${PYTHON_USEDEP}] + >=dev-python/pycodestyle-2.7.0[${PYTHON_USEDEP}] + >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}] + >=dev-python/pyflakes-2.3.0[${PYTHON_USEDEP}] + <dev-python/pyflakes-2.4.0[${PYTHON_USEDEP}] + >=dev-python/pylint-2.5.0[${PYTHON_USEDEP}] + >=dev-python/rope-0.10.5[${PYTHON_USEDEP}] + dev-python/yapf[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}/pyls-fix-test-with-pylint28.patch" +) + +distutils_enable_tests pytest + +python_prepare_all() { + # remove pytest-cov dep + sed -i -e '0,/addopts/I!d' setup.cfg || die + + distutils-r1_python_prepare_all +} + +pkg_postinst() { + optfeature "Automatically formats Python code to conform to the PEP 8 style guide" dev-python/autopep8 + optfeature "A wrapper around PyFlakes, pep8 & mccabe" dev-python/flake8 + optfeature "flake8 plugin: McCabe complexity checker" dev-python/mccabe + optfeature "Python style guide checker (fka pep8)" dev-python/pycodestyle + optfeature "Python docstring style checker" dev-python/pydocstyle + optfeature "Passive checker for Python programs" dev-python/pyflakes + optfeature "Python code static checker" dev-python/pylint + optfeature "Python refactoring library" dev-python/rope + optfeature "A formatter for Python files" dev-python/yapf +} |
