From 93d03e99f4df4b98fc4c111b82175face649e966 Mon Sep 17 00:00:00 2001 From: Andrew Ammerlaan Date: Fri, 23 Jul 2021 15:35:31 +0200 Subject: 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 --- dev-python/python-lsp-server/metadata.xml | 3 + .../python-lsp-server-1.0.1-r1.ebuild | 84 ++++++++++++++++++++++ .../python-lsp-server-1.0.1.ebuild | 70 ------------------ .../python-lsp-server-1.1.0-r1.ebuild | 83 +++++++++++++++++++++ .../python-lsp-server-1.1.0.ebuild | 69 ------------------ 5 files changed, 170 insertions(+), 139 deletions(-) create mode 100644 dev-python/python-lsp-server/python-lsp-server-1.0.1-r1.ebuild delete mode 100644 dev-python/python-lsp-server/python-lsp-server-1.0.1.ebuild create mode 100644 dev-python/python-lsp-server/python-lsp-server-1.1.0-r1.ebuild delete mode 100644 dev-python/python-lsp-server/python-lsp-server-1.1.0.ebuild (limited to 'dev-python/python-lsp-server') diff --git a/dev-python/python-lsp-server/metadata.xml b/dev-python/python-lsp-server/metadata.xml index d18c2963a96b..bad826ef127c 100644 --- a/dev-python/python-lsp-server/metadata.xml +++ b/dev-python/python-lsp-server/metadata.xml @@ -13,4 +13,7 @@ python-lsp-server + + Pull in all optional plugins + 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/pycodestyle-2.7.0[${PYTHON_USEDEP}] + >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}] + >=dev-python/pyflakes-2.3.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/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/pycodestyle-2.7.0[${PYTHON_USEDEP}] + >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}] + >=dev-python/pyflakes-2.3.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 +} diff --git a/dev-python/python-lsp-server/python-lsp-server-1.0.1.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.0.1.ebuild deleted file mode 100644 index 6acffdf397b9..000000000000 --- a/dev-python/python-lsp-server/python-lsp-server-1.0.1.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# 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" - -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/pycodestyle-2.7.0[${PYTHON_USEDEP}] - >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}] - >=dev-python/pyflakes-2.3.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/python-lsp-jsonrpc-1.0.0[${PYTHON_USEDEP}] - dev-python/pluggy[${PYTHON_USEDEP}] - >=dev-python/ujson-3[${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 -} diff --git a/dev-python/python-lsp-server/python-lsp-server-1.1.0-r1.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.1.0-r1.ebuild new file mode 100644 index 000000000000..a81825d5a49e --- /dev/null +++ b/dev-python/python-lsp-server/python-lsp-server-1.1.0-r1.ebuild @@ -0,0 +1,83 @@ +# 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/pycodestyle-2.7.0[${PYTHON_USEDEP}] + >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}] + >=dev-python/pyflakes-2.3.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/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/pycodestyle-2.7.0[${PYTHON_USEDEP}] + >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}] + >=dev-python/pyflakes-2.3.0[${PYTHON_USEDEP}] + =dev-python/pylint-2.5.0[${PYTHON_USEDEP}] + >=dev-python/rope-0.10.5[${PYTHON_USEDEP}] + dev-python/yapf[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_prepare_all() { + # remove pytest-cov dep + sed -i -e '0,/addopts/I!d' setup.cfg || die + + # This test is continuously breaking + sed -i -e 's/test_folding/_&/' test/plugins/test_folding.py || 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 +} diff --git a/dev-python/python-lsp-server/python-lsp-server-1.1.0.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.1.0.ebuild deleted file mode 100644 index 7bfbc16308b2..000000000000 --- a/dev-python/python-lsp-server/python-lsp-server-1.1.0.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# 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" - -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/pycodestyle-2.7.0[${PYTHON_USEDEP}] - >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}] - >=dev-python/pyflakes-2.3.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/python-lsp-jsonrpc-1.0.0[${PYTHON_USEDEP}] - dev-python/pluggy[${PYTHON_USEDEP}] - >=dev-python/ujson-3[${PYTHON_USEDEP}] -" - -distutils_enable_tests pytest - -python_prepare_all() { - # remove pytest-cov dep - sed -i -e '0,/addopts/I!d' setup.cfg || die - - # This test is continuously breaking - sed -i -e 's/test_folding/_&/' test/plugins/test_folding.py || 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 -} -- cgit v1.2.3