summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-12-15 01:45:29 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-12-15 01:45:29 +0000
commit29290b68cd7ef520c6c75223dc66bdcf59df66a9 (patch)
tree0dc9f891c952391284d2529b536bd111821468d4 /dev-python
parentadbe6f3a634ba64cba32a869a6ac2713fdd69ebf (diff)
downloadbaldeagleos-repo-29290b68cd7ef520c6c75223dc66bdcf59df66a9.tar.gz
baldeagleos-repo-29290b68cd7ef520c6c75223dc66bdcf59df66a9.tar.xz
baldeagleos-repo-29290b68cd7ef520c6c75223dc66bdcf59df66a9.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/PyGithub/PyGithub-1.55.ebuild2
-rw-r--r--dev-python/QtPy/QtPy-1.11.3-r1.ebuild (renamed from dev-python/QtPy/QtPy-1.11.3.ebuild)47
-rw-r--r--dev-python/boto/boto-2.49.0-r4.ebuild1
-rw-r--r--dev-python/boto/files/boto-2.49.0-py310.patch44
-rw-r--r--dev-python/httpretty/httpretty-1.1.4.ebuild4
-rw-r--r--dev-python/ipykernel/Manifest1
-rw-r--r--dev-python/ipykernel/ipykernel-6.4.2-r1.ebuild (renamed from dev-python/ipykernel/ipykernel-6.4.2.ebuild)7
-rw-r--r--dev-python/ipykernel/ipykernel-6.5.0-r1.ebuild (renamed from dev-python/ipykernel/ipykernel-6.5.0.ebuild)7
-rw-r--r--dev-python/ipykernel/ipykernel-6.6.0.ebuild61
-rw-r--r--dev-python/moto/Manifest1
-rw-r--r--dev-python/moto/moto-2.2.18.ebuild4
-rw-r--r--dev-python/moto/moto-2.2.19.ebuild87
-rw-r--r--dev-python/pyside2/files/pyside2-5.15.2-python310.patch12
-rw-r--r--dev-python/pyside2/pyside2-5.15.2-r1.ebuild2
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.2-python310.patch104
-rw-r--r--dev-python/shiboken2/shiboken2-5.15.2-r1.ebuild1
-rw-r--r--dev-python/snakeoil/Manifest1
-rw-r--r--dev-python/snakeoil/snakeoil-0.9.9.ebuild31
-rw-r--r--dev-python/snakeoil/snakeoil-9999.ebuild2
-rw-r--r--dev-python/spyder/Manifest4
-rw-r--r--dev-python/spyder/spyder-5.2.1.ebuild (renamed from dev-python/spyder/spyder-5.2.0.ebuild)4
-rw-r--r--dev-python/symengine/Manifest1
-rw-r--r--dev-python/symengine/symengine-0.8.1.ebuild55
-rw-r--r--dev-python/sympy/Manifest1
-rw-r--r--dev-python/sympy/sympy-1.9.ebuild61
25 files changed, 504 insertions, 41 deletions
diff --git a/dev-python/PyGithub/PyGithub-1.55.ebuild b/dev-python/PyGithub/PyGithub-1.55.ebuild
index dc0359dd1d88..a1c79f4e6f83 100644
--- a/dev-python/PyGithub/PyGithub-1.55.ebuild
+++ b/dev-python/PyGithub/PyGithub-1.55.ebuild
@@ -2,8 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
inherit distutils-r1
DESCRIPTION="Python library to access the Github API v3"
diff --git a/dev-python/QtPy/QtPy-1.11.3.ebuild b/dev-python/QtPy/QtPy-1.11.3-r1.ebuild
index dacb05456055..3c10390426cd 100644
--- a/dev-python/QtPy/QtPy-1.11.3.ebuild
+++ b/dev-python/QtPy/QtPy-1.11.3-r1.ebuild
@@ -23,14 +23,7 @@ _IUSE_QT_MODULES="
IUSE="+pyqt5 pyside2 ${_IUSE_QT_MODULES}"
unset _IUSE_QT_MODULES
-# PySide2 does not support python3_10, nor is it likely that it will in the
-# future since upstream appears to be focussing on PySide6 for Qt6 instead
-# (which is compatible with python3_10). So if we want to use python3_10
-# we have to force disable pyside2.
-REQUIRED_USE="
- || ( pyqt5 pyside2 )
- python_targets_python3_10? ( pyqt5 !pyside2 )
-"
+REQUIRED_USE="|| ( pyqt5 pyside2 )"
# These flags are currently *not* common to both the PySide2 and PyQt5 ebuild
# Disable them for now, please check periodically if this is still up to date.
@@ -73,15 +66,13 @@ RDEPEND="
webengine? ( dev-python/PyQtWebEngine[${PYTHON_USEDEP}] )
)
pyside2? (
- $(python_gen_cond_dep '
- dev-python/pyside2[${PYTHON_USEDEP}]
- dev-python/pyside2[designer?,gui?,help?,location?,multimedia?]
- dev-python/pyside2[network?,opengl(+)?,positioning?,printsupport?]
- dev-python/pyside2[sensors?,serialport(+)?,speech?,sql?,svg?]
- dev-python/pyside2[testlib?,webchannel?,webengine?,websockets?]
- dev-python/pyside2[widgets?,x11extras?,xml?,xmlpatterns?]
- declarative? ( dev-python/pyside2[qml,quick] )
- ' python3_{7..9} )
+ dev-python/pyside2[${PYTHON_USEDEP}]
+ dev-python/pyside2[designer?,gui?,help?,location?,multimedia?]
+ dev-python/pyside2[network?,opengl(+)?,positioning?,printsupport?]
+ dev-python/pyside2[sensors?,serialport(+)?,speech?,sql?,svg?]
+ dev-python/pyside2[testlib?,webchannel?,webengine?,websockets?]
+ dev-python/pyside2[widgets?,x11extras?,xml?,xmlpatterns?]
+ declarative? ( dev-python/pyside2[qml,quick] )
)
"
@@ -100,15 +91,13 @@ BDEPEND="
dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
)
pyside2? (
- $(python_gen_cond_dep '
- dev-python/pyside2[${PYTHON_USEDEP}]
- dev-python/pyside2[3d,charts,concurrent,datavis,designer,gui,help]
- dev-python/pyside2[location,multimedia,network,opengl(+),positioning]
- dev-python/pyside2[printsupport,qml,quick,script,scripttools,scxml]
- dev-python/pyside2[sensors,serialport(+),speech,sql,svg,testlib]
- dev-python/pyside2[webchannel,webengine,websockets,widgets,x11extras]
- dev-python/pyside2[xml,xmlpatterns]
- ' python3_{7..9} )
+ dev-python/pyside2[${PYTHON_USEDEP}]
+ dev-python/pyside2[3d,charts,concurrent,datavis,designer,gui,help]
+ dev-python/pyside2[location,multimedia,network,opengl(+),positioning]
+ dev-python/pyside2[printsupport,qml,quick,script,scripttools,scxml]
+ dev-python/pyside2[sensors,serialport(+),speech,sql,svg,testlib]
+ dev-python/pyside2[webchannel,webengine,websockets,widgets,x11extras]
+ dev-python/pyside2[xml,xmlpatterns]
)
)
"
@@ -142,11 +131,7 @@ python_test() {
QT_API="pyqt5" epytest
fi
if use pyside2; then
- if [[ "${EPYTHON}" == "python3.10" ]]; then
- return
- else
- QT_API="pyside2" epytest
- fi
+ QT_API="pyside2" epytest
fi
}
diff --git a/dev-python/boto/boto-2.49.0-r4.ebuild b/dev-python/boto/boto-2.49.0-r4.ebuild
index 0a1dd83fce42..0fa4a9e94db2 100644
--- a/dev-python/boto/boto-2.49.0-r4.ebuild
+++ b/dev-python/boto/boto-2.49.0-r4.ebuild
@@ -24,6 +24,7 @@ PATCHES=(
"${FILESDIR}"/${P}-py3-httplib-strict.patch
"${FILESDIR}"/${P}-py3-server-port.patch
"${FILESDIR}"/${P}-unbundle-six.patch
+ "${FILESDIR}"/${P}-py310.patch
)
RDEPEND=">=dev-python/six-1.12.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/boto/files/boto-2.49.0-py310.patch b/dev-python/boto/files/boto-2.49.0-py310.patch
new file mode 100644
index 000000000000..7b427f1f15e3
--- /dev/null
+++ b/dev-python/boto/files/boto-2.49.0-py310.patch
@@ -0,0 +1,44 @@
+diff --git a/boto/dynamodb/types.py b/boto/dynamodb/types.py
+index d9aaaa4c..3f8d8601 100644
+--- a/boto/dynamodb/types.py
++++ b/boto/dynamodb/types.py
+@@ -27,7 +27,7 @@ Python types and vice-versa.
+ import base64
+ from decimal import (Decimal, DecimalException, Context,
+ Clamped, Overflow, Inexact, Underflow, Rounded)
+-from collections import Mapping
++from collections.abc import Mapping
+ from boto.dynamodb.exceptions import DynamoDBNumberError
+ from boto.compat import filter, map, six, long_type
+
+diff --git a/boto/mws/connection.py b/boto/mws/connection.py
+index 687fae74..3a1f5f80 100644
+--- a/boto/mws/connection.py
++++ b/boto/mws/connection.py
+@@ -21,7 +21,7 @@
+ import xml.sax
+ import hashlib
+ import string
+-import collections
++import collections.abc
+ from boto.connection import AWSQueryConnection
+ from boto.exception import BotoServerError
+ import boto.mws.exception
+@@ -109,7 +109,7 @@ def http_body(field):
+ def destructure_object(value, into, prefix, members=False):
+ if isinstance(value, boto.mws.response.ResponseElement):
+ destructure_object(value.__dict__, into, prefix, members=members)
+- elif isinstance(value, collections.Mapping):
++ elif isinstance(value, collections.abc.Mapping):
+ for name in value:
+ if name.startswith('_'):
+ continue
+@@ -117,7 +117,7 @@ def destructure_object(value, into, prefix, members=False):
+ members=members)
+ elif isinstance(value, six.string_types):
+ into[prefix] = value
+- elif isinstance(value, collections.Iterable):
++ elif isinstance(value, collections.abc.Iterable):
+ for index, element in enumerate(value):
+ suffix = (members and '.member.' or '.') + str(index + 1)
+ destructure_object(element, into, prefix + suffix,
diff --git a/dev-python/httpretty/httpretty-1.1.4.ebuild b/dev-python/httpretty/httpretty-1.1.4.ebuild
index 205b688b6291..d06e29ac0e10 100644
--- a/dev-python/httpretty/httpretty-1.1.4.ebuild
+++ b/dev-python/httpretty/httpretty-1.1.4.ebuild
@@ -16,11 +16,11 @@ KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86"
RDEPEND="
dev-python/urllib3[${PYTHON_USEDEP}]"
+# eventlet is used only to test compat, and it doesn't support py3.10
# redis skipped as it requires a redis server running
-DEPEND="
+BDEPEND="
test? (
>=dev-python/boto3-1.17.72[${PYTHON_USEDEP}]
- dev-python/eventlet[${PYTHON_USEDEP}]
dev-python/freezegun[${PYTHON_USEDEP}]
dev-python/httplib2[${PYTHON_USEDEP}]
>=dev-python/httpx-0.18.1[${PYTHON_USEDEP}]
diff --git a/dev-python/ipykernel/Manifest b/dev-python/ipykernel/Manifest
index 699305938a6c..bf8c87536f41 100644
--- a/dev-python/ipykernel/Manifest
+++ b/dev-python/ipykernel/Manifest
@@ -1,2 +1,3 @@
DIST ipykernel-6.4.2.tar.gz 121253 BLAKE2B 26f8f94df823dd7a4ac41cac574e70ae98eed64f88bbcd8ce600ce6dfe1c43c224d65b5d0f9586ad05829692142e37fbb685a5d577047791831f6138b8309556 SHA512 56f0a15a1f06628e8f74749e4bad4a65dcc78ba7ff45e4fa5802d232e427e4ec152a6b6697302488d2e05d6b0cfa0cbc106ea2a593ab43de9d9defa9c169d5a6
DIST ipykernel-6.5.0.tar.gz 122962 BLAKE2B fa36ea41d7f2dc8d0d75144f421ea2a72dd50dcda6c6a91f625f18c35ed2ebb950aadfb1715dd57a1fda77bfb49e360bca87f0bd8b9ee8380399d41691db2b9a SHA512 440407818ed6f388f10a727a9be1a2588bf8c9699d66e1b954a1f64575c08b5bddb3978dd13f5ab26220a210ce7177e2be0374d48d3968df681d2d5311ce42d1
+DIST ipykernel-6.6.0.tar.gz 123747 BLAKE2B b1e836ac08e24baf3311e34e1323362bec94f8a59ba4cd824703f03370031226f9af41f864930c6fb59216d185e3c7e8798d6b91e88aa6ca0c214df33c6d7d37 SHA512 bf55e26a4bca0d02f4bbb87ce53a224d22a4765596f0f5d7a6d576bfa100436f676df59fa934e1d6ec66f8d802a1c7f787a9a31b906ecaa1ffd8a77fa3d96127
diff --git a/dev-python/ipykernel/ipykernel-6.4.2.ebuild b/dev-python/ipykernel/ipykernel-6.4.2-r1.ebuild
index 4267e6e02df5..0689a520fd8e 100644
--- a/dev-python/ipykernel/ipykernel-6.4.2.ebuild
+++ b/dev-python/ipykernel/ipykernel-6.4.2-r1.ebuild
@@ -46,3 +46,10 @@ src_prepare() {
sed -i -e 's:^TIMEOUT = .*:TIMEOUT = 120:' ipykernel/tests/*.py || die
distutils-r1_src_prepare
}
+
+src_install() {
+ distutils-r1_src_install
+ # Use python3 in kernel.json configuration, bug #784764
+ sed -i -e '/python3.[0-9]\+/s//python3/' \
+ "${ED}"/usr/share/jupyter/kernels/python3/kernel.json || die
+}
diff --git a/dev-python/ipykernel/ipykernel-6.5.0.ebuild b/dev-python/ipykernel/ipykernel-6.5.0-r1.ebuild
index 30d280edad2d..0e500df647ee 100644
--- a/dev-python/ipykernel/ipykernel-6.5.0.ebuild
+++ b/dev-python/ipykernel/ipykernel-6.5.0-r1.ebuild
@@ -53,3 +53,10 @@ src_prepare() {
sed -i -e 's:^TIMEOUT = .*:TIMEOUT = 120:' ipykernel/tests/*.py || die
distutils-r1_src_prepare
}
+
+src_install() {
+ distutils-r1_src_install
+ # Use python3 in kernel.json configuration, bug #784764
+ sed -i -e '/python3.[0-9]\+/s//python3/' \
+ "${ED}"/usr/share/jupyter/kernels/python3/kernel.json || die
+}
diff --git a/dev-python/ipykernel/ipykernel-6.6.0.ebuild b/dev-python/ipykernel/ipykernel-6.6.0.ebuild
new file mode 100644
index 000000000000..22cc2b1e41c6
--- /dev/null
+++ b/dev-python/ipykernel/ipykernel-6.6.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+PYTHON_REQ_USE="threads(+)"
+inherit distutils-r1
+
+DESCRIPTION="IPython Kernel for Jupyter"
+HOMEPAGE="https://github.com/ipython/ipykernel"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ <dev-python/importlib_metadata-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/argcomplete-1.12.3[${PYTHON_USEDEP}]
+ ' python3_8 pypy3)
+ >=dev-python/debugpy-1.0.0[${PYTHON_USEDEP}]
+ <dev-python/debugpy-2.0[${PYTHON_USEDEP}]
+ >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1.0[${PYTHON_USEDEP}]
+ <dev-python/traitlets-6.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter_client-8.0[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.2[${PYTHON_USEDEP}]
+ <www-servers/tornado-7.0[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-inline-0.1.0[${PYTHON_USEDEP}]
+ <dev-python/matplotlib-inline-0.2.0[${PYTHON_USEDEP}]
+"
+# RDEPEND seems specifically needed in BDEPEND, at least jupyter
+# bug #816486
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nose_warnings_filters[${PYTHON_USEDEP}]
+ dev-python/ipyparallel[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.5.0-drop-pytest-cov.patch
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e 's:^TIMEOUT = .*:TIMEOUT = 120:' ipykernel/tests/*.py || die
+ distutils-r1_src_prepare
+}
+
+src_install() {
+ distutils-r1_src_install
+ # Use python3 in kernel.json configuration, bug #784764
+ sed -i -e '/python3.[0-9]\+/s//python3/' \
+ "${ED}"/usr/share/jupyter/kernels/python3/kernel.json || die
+}
diff --git a/dev-python/moto/Manifest b/dev-python/moto/Manifest
index e25eb2e00a59..e2fa903e6118 100644
--- a/dev-python/moto/Manifest
+++ b/dev-python/moto/Manifest
@@ -5,3 +5,4 @@ DIST moto-2.2.15.tar.gz 1962356 BLAKE2B 469f9c0eb36552b475b5e76fe286a6e50ae6379a
DIST moto-2.2.16.tar.gz 1982590 BLAKE2B 016760c1eebd418ddb281f9cf438d9e13c868409ca1465a2a8b8292c714b7a3e4a6d47bef7a506e5c8d4128282f4f68cfea30eb61940464be4a5e27e0749e035 SHA512 bca5d5a8efa6ba204caf0cfcae700ee4079ac0a1aca22eb4adfa09f3e81f0bb43daa24088a55578022fc7b25ae14c9f41701d9557f2dd09b818fdd25ba4c3e78
DIST moto-2.2.17.tar.gz 2013217 BLAKE2B 6fe6dd23e96fe8ba210fc9bbb400ced7c27aa6626097c523579482d58709fbf2d22e217bdab604017ee17c45b4093c8106e15e5894484face28c07bba85d42ea SHA512 73dfa0f15afd299e2c5b4c7833a73b1a7537248b8b332258868bac01890c1861e9a62b6fb634d795d4e37e5505cc51008f1048154044a8238049de5b21f31251
DIST moto-2.2.18.tar.gz 2077837 BLAKE2B acb4c428e6cc00711e186a209d61e00366954dabf9ad750f7d639d822daaf7e35399ab8a317fa32756113d41bff27d236be79b7c99b4f2ddbd8fb415144cd985 SHA512 5d416b59b9a3bd97b98ea5196bcfc25accb2bed83e9782cda48acf8ec52a9e304e9fe5edfdd5dda60376df06b7a9c0709acec08d058a99127cc34ef2905ba5b3
+DIST moto-2.2.19.tar.gz 2083677 BLAKE2B e8471c4acccd213a80b4636a1da2a404f1ea2c10750a80059999212f8ab721ab900c08e29ebb069c271063bf2b67dd837fd311ff25f304956a8551bbc7eb936e SHA512 cd549fad44820900efc28e8d6834c588dac57c44a09214f6f5e51894207e9b1f88300975d60390c14252be29d66696dbe13d484ede87c23c6d16f4c39ba7f2a2
diff --git a/dev-python/moto/moto-2.2.18.ebuild b/dev-python/moto/moto-2.2.18.ebuild
index 00f8634ca7c0..4d826b63d833 100644
--- a/dev-python/moto/moto-2.2.18.ebuild
+++ b/dev-python/moto/moto-2.2.18.ebuild
@@ -25,8 +25,8 @@ RDEPEND="
>=dev-python/idna-2.5[${PYTHON_USEDEP}]
>=dev-python/jinja-2.10.1[${PYTHON_USEDEP}]
>=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/boto3-1.9.201[${PYTHON_USEDEP}]
- >=dev-python/botocore-1.12.201[${PYTHON_USEDEP}]
+ <dev-python/boto3-1.20.24[${PYTHON_USEDEP}]
+ <dev-python/botocore-1.23.24[${PYTHON_USEDEP}]
dev-python/flask[${PYTHON_USEDEP}]
dev-python/flask-cors[${PYTHON_USEDEP}]
dev-python/more-itertools[${PYTHON_USEDEP}]
diff --git a/dev-python/moto/moto-2.2.19.ebuild b/dev-python/moto/moto-2.2.19.ebuild
new file mode 100644
index 000000000000..4d826b63d833
--- /dev/null
+++ b/dev-python/moto/moto-2.2.19.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+inherit distutils-r1
+
+DESCRIPTION="Mock library for boto"
+HOMEPAGE="https://github.com/spulec/moto"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-xray-sdk-python-0.93[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/backports-tempfile[${PYTHON_USEDEP}]' python3_{6,7})
+ dev-python/boto[${PYTHON_USEDEP}]
+ dev-python/cfn-lint[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}]
+ dev-python/cookies[${PYTHON_USEDEP}]
+ >=dev-python/docker-py-2.5.1[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.5[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}]
+ >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/boto3-1.20.24[${PYTHON_USEDEP}]
+ <dev-python/botocore-1.23.24[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-cors[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/pretty-yaml[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/python-jose[${PYTHON_USEDEP}]
+ dev-python/python-sshpubkeys[${PYTHON_USEDEP}]
+ >=dev-python/responses-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ >=dev-python/sure-1.4.11[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # unpin indirect dep on ecdsa that's supposed to workaround pip bugs
+ sed -i -e '/ecdsa/s:<0.15::' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
+ tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
+ tests/test_swf/responses/test_decision_tasks.py::test_respond_decision_task_completed_with_schedule_activity_task_boto3
+ tests/test_swf/responses/test_timeouts.py::test_activity_task_heartbeat_timeout_boto3
+ tests/test_swf/responses/test_timeouts.py::test_decision_task_start_to_close_timeout_boto3
+ tests/test_swf/responses/test_timeouts.py::test_workflow_execution_start_to_close_timeout_boto3
+ # Needs network (or docker?) but not marked as such, bug #807031
+ # TODO: report upstream
+ tests/test_batch/test_batch_jobs.py::test_terminate_job
+ tests/test_batch/test_batch_jobs.py::test_cancel_running_job
+ tests/test_batch/test_batch_jobs.py::test_dependencies
+ tests/test_batch/test_batch_jobs.py::test_container_overrides
+ tests/test_cloudformation/test_cloudformation_custom_resources.py::test_create_custom_lambda_resource__verify_cfnresponse_failed
+ tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function
+ tests/test_sqs/test_integration.py::test_invoke_function_from_sqs_exception
+ tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_exception
+ )
+
+ # pytest-django causes freezegun try to mangle stuff inside django
+ # which fails when django is not really used
+ epytest -p no:django -m 'not network'
+}
diff --git a/dev-python/pyside2/files/pyside2-5.15.2-python310.patch b/dev-python/pyside2/files/pyside2-5.15.2-python310.patch
new file mode 100644
index 000000000000..cb2af4537cac
--- /dev/null
+++ b/dev-python/pyside2/files/pyside2-5.15.2-python310.patch
@@ -0,0 +1,12 @@
+diff -upr libpyside/feature_select.cpp libpyside/feature_select.cpp
+--- a/libpyside/feature_select.cpp 2020-11-11 14:51:30.000000000 +0200
++++ b/libpyside/feature_select.cpp 2021-12-01 15:39:40.356426568 +0200
+@@ -405,6 +405,8 @@ static inline PyObject *SelectFeatureSet
+ if (!SelectFeatureSetSubtype(sub_type, select_id))
+ break;
+ }
++ // PYSIDE-1436: Clear all caches for the type and subtypes.
++ PyType_Modified(type);
+ }
+ return type->tp_dict;
+ }
diff --git a/dev-python/pyside2/pyside2-5.15.2-r1.ebuild b/dev-python/pyside2/pyside2-5.15.2-r1.ebuild
index 5431212ec0f8..09c3ba0f2b17 100644
--- a/dev-python/pyside2/pyside2-5.15.2-r1.ebuild
+++ b/dev-python/pyside2/pyside2-5.15.2-r1.ebuild
@@ -115,6 +115,8 @@ DEPEND="${RDEPEND}
test? ( x11-misc/xvfb-run )
"
+PATCHES=( "${FILESDIR}/${P}-python310.patch" )
+
src_configure() {
# See COLLECT_MODULE_IF_FOUND macros in CMakeLists.txt
local mycmakeargs=(
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.2-python310.patch b/dev-python/shiboken2/files/shiboken2-5.15.2-python310.patch
new file mode 100644
index 000000000000..c4f582ff71de
--- /dev/null
+++ b/dev-python/shiboken2/files/shiboken2-5.15.2-python310.patch
@@ -0,0 +1,104 @@
+diff -upr libshiboken/pep384impl.cpp libshiboken/pep384impl.cpp
+--- a/libshiboken/pep384impl.cpp 2020-11-11 14:51:30.000000000 +0200
++++ b/libshiboken/pep384impl.cpp 2021-12-01 15:17:21.444888977 +0200
+@@ -751,14 +751,14 @@ _Pep_PrivateMangle(PyObject *self, PyObj
+ #endif // IS_PY2
+ Shiboken::AutoDecRef privateobj(PyObject_GetAttr(
+ reinterpret_cast<PyObject *>(Py_TYPE(self)), Shiboken::PyMagicName::name()));
+-#ifndef Py_LIMITED_API
+- return _Py_Mangle(privateobj, name);
+-#else
+- // For some reason, _Py_Mangle is not in the Limited API. Why?
+- size_t plen = PyUnicode_GET_LENGTH(privateobj);
++
++ // PYSIDE-1436: _Py_Mangle is no longer exposed; implement it always.
++ // The rest of this function is our own implementation of _Py_Mangle.
++ // Please compare the original function in compile.c .
++ size_t plen = PyUnicode_GET_LENGTH(privateobj.object());
+ /* Strip leading underscores from class name */
+ size_t ipriv = 0;
+- while (PyUnicode_READ_CHAR(privateobj, ipriv) == '_')
++ while (PyUnicode_READ_CHAR(privateobj.object(), ipriv) == '_')
+ ipriv++;
+ if (ipriv == plen) {
+ Py_INCREF(name);
+@@ -787,7 +787,6 @@ _Pep_PrivateMangle(PyObject *self, PyObj
+ if (amount > big_stack)
+ free(resbuf);
+ return result;
+-#endif // else Py_LIMITED_API
+ }
+
+ /*****************************************************************************
+diff -upr libshiboken/pep384impl.h libshiboken/pep384impl.h
+--- a/libshiboken/pep384impl.h 2020-11-11 14:51:30.000000000 +0200
++++ b/libshiboken/pep384impl.h 2021-12-01 15:13:58.899521842 +0200
+@@ -40,6 +40,11 @@
+ #ifndef PEP384IMPL_H
+ #define PEP384IMPL_H
+
++// PYSIDE-1436: Adapt to Python 3.10
++#if PY_VERSION_HEX < 0x030900A4
++# define Py_SET_REFCNT(obj, refcnt) ((Py_REFCNT(obj) = (refcnt)), (void)0)
++#endif
++
+ extern "C"
+ {
+
+@@ -327,7 +332,7 @@ LIBSHIBOKEN_API PyObject *PyRun_String(c
+ // But this is no problem as we check it's validity for every version.
+
+ #define PYTHON_BUFFER_VERSION_COMPATIBLE (PY_VERSION_HEX >= 0x03030000 && \
+- PY_VERSION_HEX < 0x0309FFFF)
++ PY_VERSION_HEX < 0x030AFFFF)
+ #if !PYTHON_BUFFER_VERSION_COMPATIBLE
+ # error Please check the buffer compatibility for this python version!
+ #endif
+diff -upr libshiboken/sbkstring.cpp libshiboken/sbkstring.cpp
+--- a/libshiboken/sbkstring.cpp 2020-11-11 14:51:30.000000000 +0200
++++ b/libshiboken/sbkstring.cpp 2021-12-01 15:14:47.703201473 +0200
+@@ -247,7 +247,7 @@ static void finalizeStaticStrings()
+ {
+ auto &set = staticStrings();
+ for (PyObject *ob : set) {
+- Py_REFCNT(ob) = 1;
++ Py_SET_REFCNT(ob, 1);
+ Py_DECREF(ob);
+ }
+ set.clear();
+diff -upr shibokenmodule/files.dir/shibokensupport/signature/mapping.py shibokenmodule/files.dir/shibokensupport/signature/mapping.py
+--- a/shibokenmodule/files.dir/shibokensupport/signature/mapping.py 2020-11-11 14:51:30.000000000 +0200
++++ b/shibokenmodule/files.dir/shibokensupport/signature/mapping.py 2021-12-01 15:15:14.560100869 +0200
+@@ -300,6 +300,7 @@ type_map.update({
+ "zero(object)": None,
+ "zero(str)": "",
+ "zero(typing.Any)": None,
++ "zero(Any)": None,
+ })
+
+ type_map.update({
+diff -upr shibokenmodule/files.dir/shibokensupport/signature/parser.py shibokenmodule/files.dir/shibokensupport/signature/parser.py
+--- a/shibokenmodule/files.dir/shibokensupport/signature/parser.py 2020-11-11 14:51:30.000000000 +0200
++++ b/shibokenmodule/files.dir/shibokensupport/signature/parser.py 2021-12-01 15:25:43.267843740 +0200
+@@ -43,10 +43,11 @@ import sys
+ import re
+ import warnings
+ import types
++import typing
+ import keyword
+ import functools
+ from shibokensupport.signature.mapping import (type_map, update_mapping,
+- namespace, typing, _NotCalled, ResultVariable, ArrayLikeVariable)
++ namespace, _NotCalled, ResultVariable, ArrayLikeVariable)
+ from shibokensupport.signature.lib.tool import (SimpleNamespace,
+ build_brace_pattern)
+
+@@ -222,7 +223,7 @@ def _resolve_arraytype(thing, line):
+ def to_string(thing):
+ if isinstance(thing, str):
+ return thing
+- if hasattr(thing, "__name__"):
++ if hasattr(thing, "__name__") and thing.__module__ != "typing":
+ dot = "." in str(thing)
+ name = get_name(thing)
+ return thing.__module__ + "." + name if dot else name
diff --git a/dev-python/shiboken2/shiboken2-5.15.2-r1.ebuild b/dev-python/shiboken2/shiboken2-5.15.2-r1.ebuild
index 25022f443947..159504b55854 100644
--- a/dev-python/shiboken2/shiboken2-5.15.2-r1.ebuild
+++ b/dev-python/shiboken2/shiboken2-5.15.2-r1.ebuild
@@ -60,6 +60,7 @@ DEPEND="${RDEPEND}
"
DOCS=( AUTHORS )
+PATCHES=( "${FILESDIR}/${P}-python310.patch" )
# Ensure the path returned by get_llvm_prefix() contains clang as well.
llvm_check_deps() {
diff --git a/dev-python/snakeoil/Manifest b/dev-python/snakeoil/Manifest
index 94199528025e..5564721e6776 100644
--- a/dev-python/snakeoil/Manifest
+++ b/dev-python/snakeoil/Manifest
@@ -1,2 +1,3 @@
DIST snakeoil-0.9.5.tar.gz 266086 BLAKE2B 635d2d821e47a92a668b2e95364d6587f0f74c21438356e708d6b16ed6c027df39a28f73d261d8ae06eb32de471124cd5ba5df0fc899f59dad5f7d2363391e00 SHA512 0762d90932bdf995160b3410e224660dae2cce327cdc30d5093ca9e3d16d3e910f88e409a87d2d7da211b850f7d0b7d9c70f053462dd9a651e4202b8ca018105
DIST snakeoil-0.9.7.tar.gz 261551 BLAKE2B 6739541d1e40b3ac5c4908e6bb92b5b40957f49119307d6046fd17327394ae0406c01dc10396cb568ceb3757ba3367b930441d08079e9be635eeb6f14bd02e3a SHA512 c2626d8050bf24b4ce3f6fed5c6b8993fa9a5ebb40dd664c7008caffe4b26237edeecd3de8fe90f3a1c5756de3d770c3b9e1ef2e95cc052a5f8fcf22058925f6
+DIST snakeoil-0.9.9.tar.gz 264344 BLAKE2B 160f45dad3a53371063c0c86c186a8baf6370751cf455d84f6e9b9334e6e6f0aa76962803daff031f050d5d8b05b85ebcb05a2b8b9e957babac6e01f127a722f SHA512 bada12556fd2c63fabc8340444f470e08c68ffe56612ae14f08f155c11bd1d4b9657a885cfdee7454faf758309f5287792adf2cf5bd7ab411c7fd6b4982f229e
diff --git a/dev-python/snakeoil/snakeoil-0.9.9.ebuild b/dev-python/snakeoil/snakeoil-0.9.9.ebuild
new file mode 100644
index 000000000000..cf8f728cfd9e
--- /dev/null
+++ b/dev-python/snakeoil/snakeoil-0.9.9.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+PYTHON_REQ_USE="threads(+)"
+inherit distutils-r1
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/pkgcore/snakeoil.git"
+ inherit git-r3
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+fi
+
+DESCRIPTION="misc common functionality and useful optimizations"
+HOMEPAGE="https://github.com/pkgcore/snakeoil"
+
+LICENSE="BSD BSD-2 MIT"
+SLOT="0"
+
+RDEPEND="
+ dev-python/lazy-object-proxy[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? ( >=dev-python/pytest-6 )"
+
+[[ ${PV} == 9999 ]] && BDEPEND+=" dev-python/cython[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
diff --git a/dev-python/snakeoil/snakeoil-9999.ebuild b/dev-python/snakeoil/snakeoil-9999.ebuild
index 74842cfb66c8..cf8f728cfd9e 100644
--- a/dev-python/snakeoil/snakeoil-9999.ebuild
+++ b/dev-python/snakeoil/snakeoil-9999.ebuild
@@ -11,7 +11,7 @@ if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/pkgcore/snakeoil.git"
inherit git-r3
else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
fi
diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest
index d6c6ac781c22..afa3615b7a48 100644
--- a/dev-python/spyder/Manifest
+++ b/dev-python/spyder/Manifest
@@ -1,8 +1,8 @@
DIST spyder-4.2.5.tar.gz 11539071 BLAKE2B 9d7a98da018aae934803d640995fe2dfa6bbb20bfc7140bd00f5e7a00a09c47922fefd8df84f4b217a50176ee190515da6f4cbf498a03cae68e2ac4f5ec70664 SHA512 081b047a45b7522a69b1b21a221ab5cdef47f87f36ed4423ff63297d205f924c1627517c50622acb2d10efa094bc506fed4ec88f861775d3f58e81ac6ef017ac
DIST spyder-5.0.5.tar.gz 20606379 BLAKE2B 52f05ffcf0b6aabdac23a055af1c674c6aa80a7d4f3608779df1d46e0e51de63a71b4e97db286dc92e071cbb44a0dc827aa750d8ca538e6764b5e780f493d615 SHA512 17654ee76eb51c5f5b9f494d009af3d7813f869f27f22ceb8ad8ca96dcedcbcd6b86c7a3895bb63eba3cc60e4a57ab94128abb8d21f05c4672b8bb8d545fe1ff
DIST spyder-5.1.5.tar.gz 23849672 BLAKE2B a0a4db5105d4ecbb76bf3c996ea8ea17142bc4f9dfca989098ffdee32b620c711b343746e5dc5dce0c6c0a092a20b47d6bb28181c363f81af394bb8bccb5b6e2 SHA512 2204fe46ad3e4e14bebb51ef6a53074b657f6d970553decd0b2f9d0a7fba71b2f14b4efc3248bb4fb944860e85851e4a8add475ff12c6466e864be75b8cc38bb
-DIST spyder-5.2.0.tar.gz 23901277 BLAKE2B ce4846ce054ff484a30d38d836a2da23908e0793cb5ecaeaefe1b4171dcb038facfc19e8d80ca840b538b4effd97c9b8541c9e0af86e74f75acb5237b049c154 SHA512 9298c845a17f348bccbe93451f03aef0d4ee2bde2d3025ac7ed695b3e3c3941cb9852f7c56d676ca022a37020a647c93977e0845fe6f5686dd2598236a9c7d9c
+DIST spyder-5.2.1.tar.gz 23903864 BLAKE2B 04b8a81e04bf2f7c6f8a53bc417aeb3708cf67eeeb1bdf7f0b9879dc1848c7c1f48ad8f7bbbce21bef7d12f257f33c69325af77268e9c89d1f4558148fe26929 SHA512 0c2dcdc3a123af48d9d4db35ead0dd773dca7d3c39b763c732709f767d0efa89eed0284a6df2352d8cf2dc202aaccaffa70390e8b3b0b7cb961ff0a8c5ae0244
DIST spyder-docs-5eb83118155a3765de4a0f863b936bcbe73bb7aa.tar.gz 85362596 BLAKE2B 7294dcd0f169958da132b141379b9b1cf497095981a86416fb98d98f98e30a425fe2e628a523785f932bbc06a2ba1ecddb45bae0df009887db928f879e08cdef SHA512 45f45546b83afb3036348e89ee3eded4d8ecee36ce58fe697da14677fbff8fa2dfe170be7385ecf10e1989817780c07b5676d545ee34e87a8f252929ad72882e
DIST spyder-docs-78b25754c69a20643258821146e398ad5535c920.tar.gz 69167467 BLAKE2B d2815d552002f329b5fac59329fba3b3b0cd592bcbdacc0878966919e44dbab29548533661e60a1b9b8fd763d57d1e4c2f761782ace1b0a814a5f0cec1f66af9 SHA512 10764367fd5f830d7a3620b9d9e7ec4ab74539c1f48326c0c40f7caff74a50401addc7609fe1558c57dac4649d0a214c0d2d77cecd100bd8574151134e49634d
-DIST spyder-docs-879e8a59a522444f1866485290933ed398a30c81.tar.gz 90033271 BLAKE2B fe1f1b2d9284c7d75ed90ebe496dbacc7c5cedb7202c6fa2031f7e5a59675080f5dbbc61293b8ed3e6b676e24fd8896f60c18821f9d31b57595a0f36076b4b8a SHA512 61d099c38efd588689ce1acb9d559fa9d0ca76a6e12cb6ed70b626aa445b9efacb9358393fbf9096987862ee57fb4b52a7b72461b46baea52b8447903fac587c
DIST spyder-docs-a3a579ce6e7e42c9d9bbd88ac4e76650b7093e5c.tar.gz 88791917 BLAKE2B bdcf52965b592f4a88ee988afcca71ed73b0499397c8c0b7ff36c38d4408f4b76ff285b3d9739d1c126322fdd8c1c6b93f3017edcaf30563da02d8f509d09fe4 SHA512 2717dad17db836330820578c9082505b7f1126fef2a76284d03a443f3317e3a9a294f69e50f075a29580c4ad1bfbd23dcd02fcef93f32645ae5d52ecfb0b8f10
+DIST spyder-docs-cd0c65d943595da438410559811a5809bf0227a3.tar.gz 90033347 BLAKE2B 11c17ff2e7fd58ca29c927add366490e0e9a218551b2d5b5be8b2e2eaa955cec52983273bfc3630a9b96a76c5650aa2b36a18a44cbcf78ac624758c8f41ed816 SHA512 d0814775026d76156c5c5a3d3a00b764b0803a71416e72c6b974d60dde0b661f06a4cc0940cd3f391a1903a07ceb078918267d332a94e09773906fec4c15eea2
diff --git a/dev-python/spyder/spyder-5.2.0.ebuild b/dev-python/spyder/spyder-5.2.1.ebuild
index 6153a2ea5fd0..78d65a47b8c7 100644
--- a/dev-python/spyder/spyder-5.2.0.ebuild
+++ b/dev-python/spyder/spyder-5.2.1.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
PYTHON_COMPAT=( python3_{6,7,8,9,10} )
DISTUTILS_USE_SETUPTOOLS=rdepend
@@ -9,7 +9,7 @@ DISTUTILS_USE_SETUPTOOLS=rdepend
inherit optfeature xdg distutils-r1
# Commit of documentation to fetch
-DOCS_PV="879e8a59a522444f1866485290933ed398a30c81"
+DOCS_PV="cd0c65d943595da438410559811a5809bf0227a3"
DESCRIPTION="The Scientific Python Development Environment"
HOMEPAGE="
diff --git a/dev-python/symengine/Manifest b/dev-python/symengine/Manifest
index dadd6715653c..376b7f28db12 100644
--- a/dev-python/symengine/Manifest
+++ b/dev-python/symengine/Manifest
@@ -1 +1,2 @@
DIST symengine.py-0.7.2.tar.gz 107747 BLAKE2B cacd11f316df5132b6bbee356fd7a4c2d3fa30e80b144c5d8982fec1b6856ca3c839ef7a6f8daf4e70a27462fc43870d05fa76ece085e5577a1672b8e9910127 SHA512 afde47e5f6274a02c6ca138a6316bf0f7ec1c7585acaf4ab19ba849280dfee9ba937c3f8f5117e70f2a6377224f6dab9757958272f4facbafdc11d7965ee7a84
+DIST symengine.py-0.8.1.tar.gz 108857 BLAKE2B ff721982af3448d63074e599d56d38eef3002b4e8073fc22740ae61b288b863ed856d849675cbb1286f1b9bdd2263aa1e531635a0b074a7de6909a604e6b57e9 SHA512 73af12f686dcb495aef06964c76e6f31ef242bbba2e3b2fd545594fbf1902487edd021cc25b0a8324a7ac014e90ee85f64e388e092d36e8796db4c1ed53e75c7
diff --git a/dev-python/symengine/symengine-0.8.1.ebuild b/dev-python/symengine/symengine-0.8.1.ebuild
new file mode 100644
index 000000000000..312ddc112159
--- /dev/null
+++ b/dev-python/symengine/symengine-0.8.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+MY_P=${PN}.py-${PV}
+DESCRIPTION="Python wrappers to the symengine C++ library"
+HOMEPAGE="https://github.com/symengine/symengine.py/"
+SRC_URI="
+ https://github.com/symengine/symengine.py/archive/v${PV}.tar.gz
+ -> ${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ dev-util/cmake
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/sympy[${PYTHON_USEDEP}]
+ )
+"
+# See bug #786582 for symengine constraint
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=sci-libs/symengine-$(ver_cut 1-2)
+"
+
+distutils_enable_tests pytest
+
+# the C library installs the same docs
+DOCS=()
+
+src_prepare() {
+ default
+
+ # Don't install tests
+ > "${S}/symengine/tests/CMakeLists.txt" || die
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ epytest
+}
+
+python_install() {
+ distutils-r1_python_install
+ python_optimize
+}
diff --git a/dev-python/sympy/Manifest b/dev-python/sympy/Manifest
index eae3e3ac1e7c..f549c6299d54 100644
--- a/dev-python/sympy/Manifest
+++ b/dev-python/sympy/Manifest
@@ -1 +1,2 @@
DIST sympy-1.8.tar.gz 7167842 BLAKE2B 878c6daf0584c9da54f82b9c68c62715792db428ab4ebfb355f0368c52edb254947d1ce1919e651279b767295ecb00a76b8cbbaa1fbe9c97915221c7403c3ded SHA512 61141e1d0a6105e725fb415edbdf981b3aa95debcfe73f9da5ca36afc7a70e91b5c28ed45454054c1b9a8d45e42bfe724e5b20da717746c301fd095da17f4db7
+DIST sympy-1.9.tar.gz 7476018 BLAKE2B 5ab9920bf6d16eaed3af30100e7593551a4dce29dc76605ccf87d55e8a7c14514b5733c9456353403cfc96008fd5d046ce04f44bb7e69f844d545bdd3e55e7e0 SHA512 139712219ba6bf420ba89b3f8d086ab8883c5ab965e9308ba9ee665ac3ac69a9b16fa30c6f5dfbc77dd34873ff3ff95c0d058954d7f9d853f5e9537efc24dd3c
diff --git a/dev-python/sympy/sympy-1.9.ebuild b/dev-python/sympy/sympy-1.9.ebuild
new file mode 100644
index 000000000000..59f4bb9d28e8
--- /dev/null
+++ b/dev-python/sympy/sympy-1.9.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Computer Algebra System in pure Python"
+HOMEPAGE="https://www.sympy.org/"
+SRC_URI="https://github.com/sympy/sympy/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="aesara examples imaging ipython latex mathml opengl pdf png pyglet symengine test texmacs"
+
+RDEPEND="
+ dev-python/mpmath[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ aesara? ( dev-python/aesara[${PYTHON_USEDEP}] )
+ imaging? ( dev-python/pillow[${PYTHON_USEDEP}] )
+ ipython? ( dev-python/ipython[${PYTHON_USEDEP}] )
+ latex? (
+ virtual/latex-base
+ dev-texlive/texlive-fontsextra
+ png? ( app-text/dvipng )
+ pdf? ( app-text/ghostscript-gpl )
+ )
+ mathml? ( dev-libs/libxml2:2[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+ pyglet? ( dev-python/pyglet[${PYTHON_USEDEP}] )
+ symengine? ( dev-python/symengine[${PYTHON_USEDEP}] )
+ texmacs? ( app-office/texmacs )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ virtx esetup.py test
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS README.md )
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+
+ if use texmacs; then
+ exeinto /usr/libexec/TeXmacs/bin/
+ doexe data/TeXmacs/bin/tm_sympy
+ insinto /usr/share/TeXmacs/plugins/sympy/
+ doins -r data/TeXmacs/progs
+ fi
+}