summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2023-11-17 07:51:25 +0100
committerMichał Górny <mgorny@gentoo.org>2023-11-17 08:57:08 +0100
commita39a6324b6e2e2398104c1af5ca24fafed6cb0bb (patch)
treec2ac84acdbef8e7cedfc54cadd7c00b962cd566c
parentdev-python/symengine: Enable py3.12 (diff)
downloadgentoo-a39a6324b6e2e2398104c1af5ca24fafed6cb0bb.tar.gz
gentoo-a39a6324b6e2e2398104c1af5ca24fafed6cb0bb.tar.bz2
gentoo-a39a6324b6e2e2398104c1af5ca24fafed6cb0bb.zip
dev-python/sympy: Enable py3.12
Signed-off-by: Michał Górny <mgorny@gentoo.org>
-rw-r--r--dev-python/sympy/files/sympy-1.12-py312.patch42
-rw-r--r--dev-python/sympy/sympy-1.12.ebuild6
2 files changed, 47 insertions, 1 deletions
diff --git a/dev-python/sympy/files/sympy-1.12-py312.patch b/dev-python/sympy/files/sympy-1.12-py312.patch
new file mode 100644
index 000000000000..13501c3fb34d
--- /dev/null
+++ b/dev-python/sympy/files/sympy-1.12-py312.patch
@@ -0,0 +1,42 @@
+From 8a2c3c4de266f49312eda4c91dcdf5d5464717e8 Mon Sep 17 00:00:00 2001
+From: Pablo Galindo <pablogsal@gmail.com>
+Date: Fri, 9 Jun 2023 11:22:20 +0100
+Subject: [PATCH] Fix factorial parsing for Python 3.12
+
+Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
+---
+ .mailmap | 1 +
+ sympy/parsing/sympy_parser.py | 5 ++++-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/.mailmap b/.mailmap
+index fe496637dd..8a9de2d99d 100644
+--- a/.mailmap
++++ b/.mailmap
+@@ -1496,6 +1496,7 @@ naelsondouglas <naelson17@gmail.com>
+ noam simcha finkelstein <noam.finkelstein@protonmail.com>
+ numbermaniac <5206120+numbermaniac@users.noreply.github.com>
+ oittaa <8972248+oittaa@users.noreply.github.com>
++pablogsal <pablogsal@gmail.com>
+ pekochun <hamburg_hamburger2000@yahoo.co.jp>
+ prshnt19 <prashant.rawat216@gmail.com>
+ rahuldan <rahul02013@gmail.com>
+diff --git a/sympy/parsing/sympy_parser.py b/sympy/parsing/sympy_parser.py
+index 5935f4baf2..862679e644 100644
+--- a/sympy/parsing/sympy_parser.py
++++ b/sympy/parsing/sympy_parser.py
+@@ -627,7 +627,10 @@ def factorial_notation(tokens: List[TOKEN], local_dict: DICT, global_dict: DICT)
+ result: List[TOKEN] = []
+ nfactorial = 0
+ for toknum, tokval in tokens:
+- if toknum == ERRORTOKEN:
++ if toknum == OP and tokval == "!":
++ # In Python 3.12 "!" are OP instead of ERRORTOKEN
++ nfactorial += 1
++ elif toknum == ERRORTOKEN:
+ op = tokval
+ if op == '!':
+ nfactorial += 1
+--
+2.42.1
+
diff --git a/dev-python/sympy/sympy-1.12.ebuild b/dev-python/sympy/sympy-1.12.ebuild
index 54a1c1d88d66..588e766d8a3a 100644
--- a/dev-python/sympy/sympy-1.12.ebuild
+++ b/dev-python/sympy/sympy-1.12.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 virtualx
@@ -50,6 +50,10 @@ RDEPEND="
EPYTEST_XDIST=1
distutils_enable_tests pytest
+PATCHES=(
+ "${FILESDIR}/${P}-py312.patch"
+)
+
src_test() {
virtx distutils-r1_src_test
}