commit:     e140d3a10f3ed33aefb51c551f62af962a920958
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 20 19:56:56 2022 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Thu Oct 20 20:03:16 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e140d3a1

dev-python/jedi: enable python3.11

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 dev-python/jedi/Manifest                           |  1 +
 dev-python/jedi/files/jedi-0.18.1-python3.11.patch | 16 +++++
 dev-python/jedi/jedi-0.18.1-r1.ebuild              | 84 ++++++++++++++++++++++
 3 files changed, 101 insertions(+)

diff --git a/dev-python/jedi/Manifest b/dev-python/jedi/Manifest
index 88e8d01b0c93..7de7fa4cc6b1 100644
--- a/dev-python/jedi/Manifest
+++ b/dev-python/jedi/Manifest
@@ -1,3 +1,4 @@
 DIST django-stubs-fd057010f6cbf176f57d1099e82be46d39b99cb9.tar.gz 183312 
BLAKE2B 
a68f6139903f5001db994ee0d881f40ab74932e81c3e2c3a0c22dc56e6be681d0fb42ce837603b21e4d0d448ccb25884ef0f69039305f309e82603267cee9f6a
 SHA512 
506322c132f94e6a1e88cdbde6027a566387731fa6ad59934f95c3511f49d90eff2a3138363811be648b096407d418cd1f801df0bc35b1e464ef181e4076ada1
+DIST jedi-0.18.1.gh.tar.gz 466884 BLAKE2B 
c2403b20447b27b1fb19c16d1131299154fcb767453116964b339bf7ef4a1ca20b6c3216c3fbd63c304dd2c0c02a67702d5228e1d847975b778597dc58b489d1
 SHA512 
c72dc4927fe44641ea57c61e68b3c74c3a3f70ddc2990454ba931026c288723e07263918ecbb4ecc6f79716d37e10a1b1448ae8cfc6d52465122b3d1e43bea25
 DIST jedi-0.18.1.tar.gz 466884 BLAKE2B 
c2403b20447b27b1fb19c16d1131299154fcb767453116964b339bf7ef4a1ca20b6c3216c3fbd63c304dd2c0c02a67702d5228e1d847975b778597dc58b489d1
 SHA512 
c72dc4927fe44641ea57c61e68b3c74c3a3f70ddc2990454ba931026c288723e07263918ecbb4ecc6f79716d37e10a1b1448ae8cfc6d52465122b3d1e43bea25
 DIST typeshed-ae9d4f4b21bb5e1239816c301da7b1ea904b44c3.tar.gz 602044 BLAKE2B 
53298918a7e9a1163e76d4c70ad2a2117ee90b49329aa82d82b2aaaeaf000c971872f83ed283af6dc4be068b813876760c8b1b4acb4131865572a4aed3ea9230
 SHA512 
b3b9da66b6c6e03e0b262b3262df31215a5e080468ca9ebf4332ed53d715cd3956db7067fad3ec267042ff704f81ac665c703ef2fd0c5b445d440bd8e52bf1aa

diff --git a/dev-python/jedi/files/jedi-0.18.1-python3.11.patch 
b/dev-python/jedi/files/jedi-0.18.1-python3.11.patch
new file mode 100644
index 000000000000..b708881e4f8d
--- /dev/null
+++ b/dev-python/jedi/files/jedi-0.18.1-python3.11.patch
@@ -0,0 +1,16 @@
+diff --git a/jedi/inference/compiled/subprocess/functions.py 
b/jedi/inference/compiled/subprocess/functions.py
+index 5070c6643..bbc14c392 100644
+--- a/jedi/inference/compiled/subprocess/functions.py
++++ b/jedi/inference/compiled/subprocess/functions.py
+@@ -151,7 +151,11 @@ def _find_module(string, path=None, full_name=None, 
is_global_search=True):
+ 
+         spec = find_spec(string, p)
+         if spec is not None:
++            if spec.origin == "frozen":
++                continue
++
+             loader = spec.loader
++
+             if loader is None and not spec.has_location:
+                 # This is a namespace package.
+                 full_name = string if not path else full_name

diff --git a/dev-python/jedi/jedi-0.18.1-r1.ebuild 
b/dev-python/jedi/jedi-0.18.1-r1.ebuild
new file mode 100644
index 000000000000..3063ef5c6a18
--- /dev/null
+++ b/dev-python/jedi/jedi-0.18.1-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit distutils-r1
+
+TYPESHED_P="typeshed-ae9d4f4b21bb5e1239816c301da7b1ea904b44c3"
+DJANGO_STUBS_P="django-stubs-fd057010f6cbf176f57d1099e82be46d39b99cb9"
+
+DESCRIPTION="Autocompletion library for Python"
+HOMEPAGE="
+       https://github.com/davidhalter/jedi/
+       https://pypi.org/project/jedi/
+"
+SRC_URI="
+       https://github.com/davidhalter/${PN}/archive/v${PV}.tar.gz
+               -> ${P}.gh.tar.gz
+       
https://github.com/davidhalter/typeshed/archive/${TYPESHED_P#typeshed-}.tar.gz
+               -> ${TYPESHED_P}.tar.gz
+       
https://github.com/davidhalter/django-stubs/archive/${DJANGO_STUBS_P#django-stubs-}.tar.gz
+               -> ${DJANGO_STUBS_P/v/}.tar.gz
+"
+
+LICENSE="
+       MIT
+       test? ( Apache-2.0 )
+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 
~sparc ~x86"
+
+RDEPEND="
+       =dev-python/parso-0.8*[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+       # https://github.com/davidhalter/jedi/pull/1889
+       "${FILESDIR}/${P}-python3.11.patch"
+)
+
+# RDEPEND needed because of an import jedi inside conf.py
+distutils_enable_sphinx docs \
+       dev-python/parso \
+       dev-python/sphinx_rtd_theme
+distutils_enable_tests pytest
+
+python_prepare_all() {
+       # upstream includes these as submodules ...
+       rmdir "${S}"/jedi/third_party/{django-stubs,typeshed} || die
+       mv "${WORKDIR}/${DJANGO_STUBS_P/v/}" \
+               "${S}/jedi/third_party/django-stubs" || die
+       mv "${WORKDIR}/${TYPESHED_P}" \
+               "${S}/jedi/third_party/typeshed" || die
+
+       # don't run doctests, don't depend on colorama
+       sed -i "s:'docopt',:: ; s:'colorama',::" setup.py || die
+       sed -i "s: --doctest-modules::" pytest.ini || die
+
+       # test_complete_expanduser relies on $HOME not being empty
+       > "${HOME}"/somefile || die
+
+       distutils-r1_python_prepare_all
+}
+
+python_test() {
+       local EPYTEST_DESELECT=(
+               # fragile
+               test/test_speed.py
+               # assumes pristine virtualenv
+               test/test_inference/test_imports.py::test_os_issues
+       )
+       [[ ${EPYTHON} != python3.8 ]] && EPYTEST_DESELECT+=(
+               # TODO
+               'test/test_integration.py::test_completion[lambdas:112]'
+       )
+
+       # some plugin breaks case-insensitivity on completions
+       local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+       # django and pytest tests are very version dependent
+       epytest -k "not django and not pytest"
+}

Reply via email to