commit:     6e1f809fe03d991efebde1c28d2f198ad5c63250
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 30 11:24:38 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 30 12:21:14 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e1f809f

dev-python/parso: Port to py3.10

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/parso/files/parso-0.8.2-py310.patch | 29 ++++++++++++++++++++++++++
 dev-python/parso/parso-0.8.2.ebuild            | 18 ++++++++++++++--
 2 files changed, 45 insertions(+), 2 deletions(-)

diff --git a/dev-python/parso/files/parso-0.8.2-py310.patch 
b/dev-python/parso/files/parso-0.8.2-py310.patch
new file mode 100644
index 00000000000..2f3487dd2f6
--- /dev/null
+++ b/dev-python/parso/files/parso-0.8.2-py310.patch
@@ -0,0 +1,29 @@
+From cbb61fb81955a8cdbb5cdeedc9bcfffa39a5f270 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <[email protected]>
+Date: Thu, 22 Apr 2021 21:04:49 +0200
+Subject: [PATCH] Relax a test regex to match new enum repr in Python 3.10.0a7+
+ (#186)
+
+bpo-40066: Enum: adjust repr() to show only enum and member name (not value,
+nor angle brackets) and str() to show only member name.
+https://bugs.python.org/issue40066
+---
+ test/test_pgen2.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/test_pgen2.py b/test/test_pgen2.py
+index 9b0dd34..85ccacf 100644
+--- a/test/test_pgen2.py
++++ b/test/test_pgen2.py
+@@ -339,7 +339,7 @@ def test_left_recursion():
+ @pytest.mark.parametrize(
+     'grammar, error_match', [
+         ['foo: bar | baz\nbar: NAME\nbaz: NAME\n',
+-         r"foo is ambiguous.*given a PythonTokenTypes\.NAME.*bar or baz"],
++         r"foo is ambiguous.*given a (PythonTokenTypes\.)?NAME.*bar or baz"],
+         ['''foo: bar | baz\nbar: 'x'\nbaz: "x"\n''',
+          r"foo is ambiguous.*given a ReservedString\(x\).*bar or baz"],
+         ['''foo: bar | 'x'\nbar: 'x'\n''',
+-- 
+2.32.0
+

diff --git a/dev-python/parso/parso-0.8.2.ebuild 
b/dev-python/parso/parso-0.8.2.ebuild
index 3ceece3224e..8ab7282e6cf 100644
--- a/dev-python/parso/parso-0.8.2.ebuild
+++ b/dev-python/parso/parso-0.8.2.ebuild
@@ -1,9 +1,9 @@
 # Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
-PYTHON_COMPAT=( python3_{7..9} pypy3 )
+PYTHON_COMPAT=( python3_{8..10} pypy3 )
 
 inherit distutils-r1
 
@@ -17,3 +17,17 @@ KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc x86"
 
 distutils_enable_sphinx docs
 distutils_enable_tests pytest
+
+PATCHES=(
+       "${FILESDIR}"/${P}-py310.patch
+)
+
+python_test() {
+       local deselect=()
+       [[ ${EPYTHON} == python3.10 ]] && deselect+=(
+               # py3.10 changed exception messages
+               test/test_python_errors.py::test_python_exception_matches
+               test/test_python_errors.py::test_default_except_error_postition
+       )
+       epytest ${deselect[@]/#/--deselect }
+}

Reply via email to