gentoo/dev-python/python-lsp-server/python-lsp-server-1.0.1-r1.ebuild
Andrew Ammerlaan 93d03e99f4
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>
2021-07-23 15:49:07 +02:00

85 lines
2.7 KiB
Bash

# 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
}