diff options
| author | Nowa Ammerlaan <nowa@gentoo.org> | 2025-01-02 15:38:23 +0100 |
|---|---|---|
| committer | Nowa Ammerlaan <nowa@gentoo.org> | 2025-01-02 16:19:53 +0100 |
| commit | 340bf29453b14d83a7c869a189fa05e0209f5e89 (patch) | |
| tree | 6b75c4015f40ee784709860d655dc3029d2e703c /dev-python/python-lsp-server | |
| parent | db189cf66237449e65ad9d966e71140c19da6de0 (diff) | |
| download | gentoo-340bf29453b14d83a7c869a189fa05e0209f5e89.tar.gz gentoo-340bf29453b14d83a7c869a189fa05e0209f5e89.tar.bz2 gentoo-340bf29453b14d83a7c869a189fa05e0209f5e89.zip | |
dev-python/python-lsp-server: patch and enable python 3.13
Closes: https://bugs.gentoo.org/943312
Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org>
Diffstat (limited to 'dev-python/python-lsp-server')
| -rw-r--r-- | dev-python/python-lsp-server/files/python-lsp-server-1.12.0-jedi19-compat.patch | 16 | ||||
| -rw-r--r-- | dev-python/python-lsp-server/python-lsp-server-1.12.0-r1.ebuild | 95 |
2 files changed, 111 insertions, 0 deletions
diff --git a/dev-python/python-lsp-server/files/python-lsp-server-1.12.0-jedi19-compat.patch b/dev-python/python-lsp-server/files/python-lsp-server-1.12.0-jedi19-compat.patch new file mode 100644 index 000000000000..b5dd4c352dbb --- /dev/null +++ b/dev-python/python-lsp-server/files/python-lsp-server-1.12.0-jedi19-compat.patch @@ -0,0 +1,16 @@ +https://github.com/python-lsp/python-lsp-server/pull/609 +diff --git a/test/plugins/test_completion.py b/test/plugins/test_completion.py +index d1ca5ef8..3e768f06 100644 +--- a/test/plugins/test_completion.py ++++ b/test/plugins/test_completion.py +@@ -179,9 +179,7 @@ def test_jedi_completion_with_fuzzy_enabled(config, workspace) -> None: + + assert items + +- expected = "commonprefix(m)" +- if JEDI_VERSION == "0.18.0": +- expected = "commonprefix(list)" ++ expected = "isabs(s)" + assert items[0]["label"] == expected + + # Test we don't throw with big character diff --git a/dev-python/python-lsp-server/python-lsp-server-1.12.0-r1.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.12.0-r1.ebuild new file mode 100644 index 000000000000..8a673c456491 --- /dev/null +++ b/dev-python/python-lsp-server/python-lsp-server-1.12.0-r1.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Python Language Server for the Language Server Protocol" +HOMEPAGE=" + https://github.com/python-lsp/python-lsp-server/ + https://pypi.org/project/python-lsp-server/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="all-plugins" + +PLUGIN_DEP=" + >=dev-python/autopep8-2.0.4[${PYTHON_USEDEP}] + >=dev-python/flake8-7.1[${PYTHON_USEDEP}] + >=dev-python/mccabe-0.7.0[${PYTHON_USEDEP}] + >=dev-python/pycodestyle-2.12.0[${PYTHON_USEDEP}] + >=dev-python/pyflakes-3.2.0[${PYTHON_USEDEP}] + >=dev-python/pylint-3.1[${PYTHON_USEDEP}] + >=dev-python/rope-1.11.0[${PYTHON_USEDEP}] + >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}] + >=dev-python/yapf-0.33.0[${PYTHON_USEDEP}] +" +RDEPEND=" + dev-python/docstring-to-markdown[${PYTHON_USEDEP}] + >=dev-python/jedi-0.17.2[${PYTHON_USEDEP}] + >=dev-python/python-lsp-jsonrpc-1.1.0[${PYTHON_USEDEP}] + dev-python/pluggy[${PYTHON_USEDEP}] + all-plugins? ( + ${PLUGIN_DEP} + ) +" +BDEPEND=" + test? ( + ${PLUGIN_DEP} + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] + dev-python/qtpy[gui,testlib,${PYTHON_USEDEP}] + ) +" + +PATCHES=( + # https://github.com/python-lsp/python-lsp-server/pull/609 + "${FILESDIR}/${PN}-1.12.0-jedi19-compat.patch" +) + +# Note: xdist breaks some tests +distutils_enable_tests pytest + +python_prepare_all() { + # remove pytest-cov dep + sed -i -e '/addopts =/d' pyproject.toml || die + # unpin all the deps + sed -i -e 's:,<[0-9.]*::' pyproject.toml || die + distutils-r1_python_prepare_all +} + +python_test() { + local EPYTEST_DESELECT=( + # broken by presence of pathlib2 + 'test/plugins/test_autoimport.py' + # Requires pyqt5 + 'test/plugins/test_completion.py::test_pyqt_completion' + ) + local EPYTEST_IGNORE=( + # pydocstyle is archived upstream and broken with py3.12 + test/plugins/test_pydocstyle_lint.py + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} + +pkg_postinst() { + optfeature "Automatically format 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 +} |
