summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [feature/flatten] <gitlab@liguros.net>2020-10-07 19:38:29 +0000
committerLiguros - Gitlab CI/CD [feature/flatten] <gitlab@liguros.net>2020-10-07 19:38:29 +0000
commit9da7df13740f64e2000902f47d6156530aa20121 (patch)
tree11f9b51c961f2798a23147c7a39d0ad0f507595d /dev-python
parent568d119714e0f74093597d4a41a9da029d092171 (diff)
downloadbaldeagleos-repo-9da7df13740f64e2000902f47d6156530aa20121.tar.gz
baldeagleos-repo-9da7df13740f64e2000902f47d6156530aa20121.tar.xz
baldeagleos-repo-9da7df13740f64e2000902f47d6156530aa20121.zip
Updating liguros repo
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/clang-python/Manifest1
-rw-r--r--dev-python/clang-python/clang-python-11.0.0_rc6.ebuild40
-rw-r--r--dev-python/graphviz/Manifest1
-rw-r--r--dev-python/graphviz/graphviz-0.14.2.ebuild33
-rw-r--r--dev-python/libvirt-python/Manifest2
-rw-r--r--dev-python/libvirt-python/libvirt-python-6.2.0.ebuild47
-rw-r--r--dev-python/libvirt-python/libvirt-python-6.5.0.ebuild46
-rw-r--r--dev-python/lit/Manifest1
-rw-r--r--dev-python/lit/lit-11.0.0_rc6.ebuild39
-rw-r--r--dev-python/markdown/Manifest1
-rw-r--r--dev-python/markdown/files/markdown-3.3-pygments-2.7.patch89
-rw-r--r--dev-python/markdown/markdown-3.3.ebuild47
-rw-r--r--dev-python/mypy/Manifest1
-rw-r--r--dev-python/mypy/files/mypy-0.782-conftest.patch24
-rw-r--r--dev-python/mypy/files/mypy-0.782-py39-fixes.patch138
-rw-r--r--dev-python/mypy/files/mypy-0.782-pytest-6.patch210
-rw-r--r--dev-python/mypy/metadata.xml7
-rw-r--r--dev-python/mypy/mypy-0.782.ebuild58
-rw-r--r--dev-python/pylast/Manifest1
-rw-r--r--dev-python/pylast/pylast-4.0.0.ebuild33
-rw-r--r--dev-python/pytest-qt/pytest-qt-3.3.0.ebuild2
-rw-r--r--dev-python/python-language-server/python-language-server-0.34.1.ebuild2
-rw-r--r--dev-python/qtawesome/qtawesome-0.7.2.ebuild2
-rw-r--r--dev-python/sexpdata/sexpdata-0.0.3-r1.ebuild1
-rw-r--r--dev-python/sqlparse/Manifest1
-rw-r--r--dev-python/sqlparse/sqlparse-0.4.0.ebuild22
-rw-r--r--dev-python/tqdm/Manifest1
-rw-r--r--dev-python/tqdm/tqdm-4.50.1.ebuild58
-rw-r--r--dev-python/ujson/Manifest1
-rw-r--r--dev-python/ujson/ujson-4.0.0.ebuild24
-rw-r--r--dev-python/xarray/xarray-0.16.0.ebuild2
31 files changed, 836 insertions, 99 deletions
diff --git a/dev-python/clang-python/Manifest b/dev-python/clang-python/Manifest
index f07ccef25789..c9465e59a278 100644
--- a/dev-python/clang-python/Manifest
+++ b/dev-python/clang-python/Manifest
@@ -2,4 +2,5 @@ DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff21988870
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0-rc3.tar.gz 122766783 BLAKE2B 052fdc864fed52692141284ebdc41d52d21fbeaf24ac5ed3e67701537baa683bae61b1c06de68322e0578a27a1f5a8856088cdc001d2b8d34d2ec88ae65ff739 SHA512 a28ce74775373c63fe23b3116cd25db0efb95c6fdb60e56f2522659a404a59576f3d9429a109cb0f90534927259289aa1c712673f36f92272d642bf8dce5699f
DIST llvmorg-11.0.0-rc4.tar.gz 122768150 BLAKE2B e92417b6e1775a10c196534518036de6393e3cb9e0e656d4f864e7870be8fb0dad3f4cf170345e653ba60f36172df117977d5dfebe3d9ee7ec2c160d3dc9c5cd SHA512 ed2aee9f6d0bb887f27840158e9f95d94c9ad3981a0388a33fcd3e405f5072134a02999075238b6a2b8803149aa08ac790214605b186c2cc2d4827ba53c00de1
+DIST llvmorg-11.0.0-rc6.tar.gz 122769521 BLAKE2B 0d03f385447902846dcb8150bda85ac0ab42153f63bb653befc18ed1cba357493065777750447b0ac71c077f61ea8c8f7a4c313ea5f3079926ffd012ace0debd SHA512 249b8e685cfc45a651f4dbd777b10298251c77476b57f9657860644ded612f810224d16879225d17b7a6ac9d584d63d53a33ac114c38e1cf86dd9e8d0faed9a9
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/dev-python/clang-python/clang-python-11.0.0_rc6.ebuild b/dev-python/clang-python/clang-python-11.0.0_rc6.ebuild
new file mode 100644
index 000000000000..8509078f7309
--- /dev/null
+++ b/dev-python/clang-python/clang-python-11.0.0_rc6.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7,8,9} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for sys-devel/clang"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( clang/bindings/python )
+llvm.org_set_globals
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+RDEPEND="
+ >=sys-devel/clang-${PV}:*
+ !sys-devel/llvm:0[clang(-),python(-)]
+ !sys-devel/clang:0[python(-)]
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}"
+
+python_test() {
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/graphviz/Manifest b/dev-python/graphviz/Manifest
index 4091d45c8f3c..ab9aba84810d 100644
--- a/dev-python/graphviz/Manifest
+++ b/dev-python/graphviz/Manifest
@@ -1 +1,2 @@
DIST graphviz-0.14.1.zip 183737 BLAKE2B f4dd100d6fcdfcfc266a7dc77f89b8647ac16d4d56629555ec94b54347b0d91b531ec25ac7ed9c13b0470f6bc49c68a9101791e5fe8b815ab0cd18a9c6f93e7d SHA512 ce2731acecee823afaf086955b316aba956a666b5d528c1ecdee388bf26ee02f502d48d650ed3a8aebcb75ecbff750049c1ca50e27644f74f57fb34b65e42c9a
+DIST graphviz-0.14.2.zip 184157 BLAKE2B 668c200964867f416e2b15454793fdd0673a110461a85764699727b0430c812e18fb4285e031f5f611ff86bd205cbf927c695015d55ac169a594e616ab74067a SHA512 a8bcf395ebed7c43f5355bc167aae157c6eddb127860a6fb58eba0d882235e04a33a5bcf589245f484e3af9dce5eff8a5893ced73203901c92afd92c4f5b05be
diff --git a/dev-python/graphviz/graphviz-0.14.2.ebuild b/dev-python/graphviz/graphviz-0.14.2.ebuild
new file mode 100644
index 000000000000..b12ff93264b3
--- /dev/null
+++ b/dev-python/graphviz/graphviz-0.14.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7,8,9} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple Python interface for Graphviz"
+HOMEPAGE="https://graphviz.readthedocs.io/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+
+RDEPEND="media-gfx/graphviz"
+BDEPEND="
+ app-arch/unzip
+ test? ( ${RDEPEND}
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-1.8[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -e 's:--cov --cov-report=term --cov-report=html::' \
+ -i setup.cfg || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/libvirt-python/Manifest b/dev-python/libvirt-python/Manifest
index a5ae81b192f2..20884982c2fb 100644
--- a/dev-python/libvirt-python/Manifest
+++ b/dev-python/libvirt-python/Manifest
@@ -1,4 +1,2 @@
-DIST libvirt-python-6.2.0.tar.gz 196971 BLAKE2B e11c82bd98c62072c14992c485339337bcc3639bbd56154185834c145f76984ced9f09f7f05c302609ce6629a8d13db77debd6f3d85e8fdb00c818bbe51cc552 SHA512 91f6940f60670221c914ee7ffc8d89a74222bcacbbf1afd5f679479f1e1bcec563f297a8e8359d6f51a1eee29162e39e2a276f5277fcec551d50f112e304a947
-DIST libvirt-python-6.5.0.tar.gz 198753 BLAKE2B 90951af538c664f5da20cfced6b81dc2b06d36e723b3c41a0b2763bf0d73d3036d7e84a2db57f20fa2bd1ede8fb01c45dad9e5097a9f6008579dae319f825898 SHA512 a69c75b615f674bbb89fdb3e5cfc3dddfde68adffd0599e9d03f1552bb765823dc003859fe713ac0a324835c61f909bd43518571ddde8f99c37bee2416f094eb
DIST libvirt-python-6.7.0.tar.gz 208597 BLAKE2B 335bd89133b688586a55193635b4b75dabe6dd4a741a450e49067ac8a9b9d9da54787b50c23bc6d5322a7fecbe513422f02450e09d541cb112ccfd499ce18101 SHA512 7d5a7f87abc01285c2030c9408838d4e1496d0d0316b9ab775749e49719fa66c20114aad2bd281d6783e2cb4d47ceac5ac60ac584e881288d0b0d9cc76d5b2cb
DIST libvirt-python-6.8.0.tar.gz 210034 BLAKE2B 667c2713bf9c0936f444c5b621f5af4e5273deda31496bc01c8834286a0ec0eb1c056006549cc5d129ef597264f8582acee62db3a2fd375daa4ebbceacb8fcc1 SHA512 6d2f82fafd414047cff16f0ad655fefd69c8c0da04be07d27da44e3ab17dd03e4e4ff102be1c30948c361268f57ea312978f9198fd128bfb54a3c1a07150e6af
diff --git a/dev-python/libvirt-python/libvirt-python-6.2.0.ebuild b/dev-python/libvirt-python/libvirt-python-6.2.0.ebuild
deleted file mode 100644
index 6c0057c70a60..000000000000
--- a/dev-python/libvirt-python/libvirt-python-6.2.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{5,6,7,8,9} )
-
-MY_P="${P/_rc/-rc}"
-
-inherit distutils-r1
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://libvirt.org/git/libvirt-python.git"
- SRC_URI=""
- KEYWORDS="amd64 x86"
- RDEPEND="app-emulation/libvirt:=[-python(-)]"
-else
- SRC_URI="https://libvirt.org/sources/python/${MY_P}.tar.gz"
- KEYWORDS="amd64 ~arm64 ~ppc64 x86"
- RDEPEND="app-emulation/libvirt:0/${PV}"
-fi
-S="${WORKDIR}/${P%_rc*}"
-
-DESCRIPTION="libvirt Python bindings"
-HOMEPAGE="https://www.libvirt.org"
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- test? ( dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}] )"
-
-python_test() {
- esetup.py test
-}
-
-python_install_all() {
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/libvirt-python/libvirt-python-6.5.0.ebuild b/dev-python/libvirt-python/libvirt-python-6.5.0.ebuild
deleted file mode 100644
index 412e71c095a1..000000000000
--- a/dev-python/libvirt-python/libvirt-python-6.5.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{5,6,7,8,9} )
-
-DISTUTILS_USE_SETUPTOOLS=no
-
-MY_P="${P/_rc/-rc}"
-
-inherit distutils-r1
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://libvirt.org/git/libvirt-python.git"
- RDEPEND="app-emulation/libvirt:=[-python(-)]"
-else
- SRC_URI="https://libvirt.org/sources/python/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
- RDEPEND="app-emulation/libvirt:0/${PV}"
-fi
-S="${WORKDIR}/${P%_rc*}"
-
-DESCRIPTION="libvirt Python bindings"
-HOMEPAGE="https://www.libvirt.org"
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-DEPEND="virtual/pkgconfig"
-BDEPEND="test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
-)"
-
-distutils_enable_tests setup.py
-
-python_install_all() {
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index f07ccef25789..c9465e59a278 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -2,4 +2,5 @@ DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff21988870
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0-rc3.tar.gz 122766783 BLAKE2B 052fdc864fed52692141284ebdc41d52d21fbeaf24ac5ed3e67701537baa683bae61b1c06de68322e0578a27a1f5a8856088cdc001d2b8d34d2ec88ae65ff739 SHA512 a28ce74775373c63fe23b3116cd25db0efb95c6fdb60e56f2522659a404a59576f3d9429a109cb0f90534927259289aa1c712673f36f92272d642bf8dce5699f
DIST llvmorg-11.0.0-rc4.tar.gz 122768150 BLAKE2B e92417b6e1775a10c196534518036de6393e3cb9e0e656d4f864e7870be8fb0dad3f4cf170345e653ba60f36172df117977d5dfebe3d9ee7ec2c160d3dc9c5cd SHA512 ed2aee9f6d0bb887f27840158e9f95d94c9ad3981a0388a33fcd3e405f5072134a02999075238b6a2b8803149aa08ac790214605b186c2cc2d4827ba53c00de1
+DIST llvmorg-11.0.0-rc6.tar.gz 122769521 BLAKE2B 0d03f385447902846dcb8150bda85ac0ab42153f63bb653befc18ed1cba357493065777750447b0ac71c077f61ea8c8f7a4c313ea5f3079926ffd012ace0debd SHA512 249b8e685cfc45a651f4dbd777b10298251c77476b57f9657860644ded612f810224d16879225d17b7a6ac9d584d63d53a33ac114c38e1cf86dd9e8d0faed9a9
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/dev-python/lit/lit-11.0.0_rc6.ebuild b/dev-python/lit/lit-11.0.0_rc6.ebuild
new file mode 100644
index 000000000000..f3959b4c536a
--- /dev/null
+++ b/dev-python/lit/lit-11.0.0_rc6.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{5,6,7,8,9} )
+
+inherit distutils-r1 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ sys-devel/llvm )"
+
+# TODO: move the manpage generation here (from sys-devel/llvm)
+
+src_prepare() {
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/markdown/Manifest b/dev-python/markdown/Manifest
index 55adf34a7a05..f365e761b8c8 100644
--- a/dev-python/markdown/Manifest
+++ b/dev-python/markdown/Manifest
@@ -1,3 +1,4 @@
DIST Markdown-2.6.11.tar.gz 274132 BLAKE2B 0d14d308c97d925db83d71f3b9be5622e77ee4a159fced15c811390b39950e81bff9ffc567f32e878cbc44014640ab0a2f596258cfd0dce6b66029105cec7370 SHA512 4e7dd3e04f181fa2751a359aede301fb29a23b9af74867ff9d1d0fdd051dcd16d04a5891e37aff0b309649c5fd13363802ec7e10fc33896e9453991efcab4a66
DIST Markdown-3.1.1.tar.gz 294136 BLAKE2B 9fd024f64f7aaa774a49f60e312e47bbc2ff0f368f083e4dfd0c38d1f12839dfcf3455f1d0c8cb0b9c851fe0d3a779c70784859f1682703bd6022d57b6548235 SHA512 78f089f2eef5c73d683ac96fd20c87145e243d12b0f230b9b0228b995035fbb084dde40be788679c63637f05956487ad520cc9dd61d133926bf13521aa600090
DIST Markdown-3.2.2.tar.gz 299658 BLAKE2B c5a0337b6633ac3d795885d138ee3c078e36fdcacee659d8908ecdb839e0496c06ac8c721efd16183f03026ebf681e8382cdadd28d910abf5c021fdef9237e2a SHA512 72ce79b0daed4df2d09a458dad24da3e303143307640fb15d15cb10edc6c641d422dcf5043380c1572c4b9ed8f5fc11ec52e28928d8215d687309e4ce9ae3d7c
+DIST Markdown-3.3.tar.gz 315253 BLAKE2B 35fbe7f03b9261e1506bb5b2ebb19cfd37e6f1ad2ad6f5464b90c850bec642a5518a6470db640bbf6ded8b589bdfbd83bd0482724b6be6e89dba133d0122d721 SHA512 3f6e29b917135638fba703c3711c8f7baec544293a93bcf3554cad7dbd6a9678a49408c202e70f2cd41813f6a7ec0ff856e1c3888355b1321eb2801eb9552a1c
diff --git a/dev-python/markdown/files/markdown-3.3-pygments-2.7.patch b/dev-python/markdown/files/markdown-3.3-pygments-2.7.patch
new file mode 100644
index 000000000000..be94fe028755
--- /dev/null
+++ b/dev-python/markdown/files/markdown-3.3-pygments-2.7.patch
@@ -0,0 +1,89 @@
+From c2904eac1a6daf8a3aaef6af0791b101e1971544 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 7 Oct 2020 15:01:07 +0200
+Subject: [PATCH] Update tests for pygments-2.7.1
+
+Closes #1030
+---
+ .../extensions/test_code_hilite.py | 22 +++++++++----------
+ .../extensions/test_fenced_code.py | 2 +-
+ tox.ini | 2 +-
+ 3 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/tests/test_syntax/extensions/test_code_hilite.py b/tests/test_syntax/extensions/test_code_hilite.py
+index 8d5512d..3e36ae5 100644
+--- a/tests/test_syntax/extensions/test_code_hilite.py
++++ b/tests/test_syntax/extensions/test_code_hilite.py
+@@ -205,7 +205,7 @@ class TestCodeHiliteClass(TestCase):
+ def test_codehilite_linenos_inline(self):
+ if has_pygments:
+ expected = (
+- '<div class="codehilite"><pre><span></span><code><span class="lineno">1 </span>plain text\n'
++ '<div class="codehilite"><pre><span></span><code><span class="linenos">1</span>plain text\n'
+ '</code></pre></div>'
+ )
+ else:
+@@ -259,7 +259,7 @@ class TestCodeHiliteClass(TestCase):
+ def test_codehilite_linenostart(self):
+ if has_pygments:
+ expected = (
+- '<div class="codehilite"><pre><span></span><code><span class="lineno">42 </span>plain text\n'
++ '<div class="codehilite"><pre><span></span><code><span class="linenos">42</span>plain text\n'
+ '</code></pre></div>'
+ )
+ else:
+@@ -274,9 +274,9 @@ class TestCodeHiliteClass(TestCase):
+ if has_pygments:
+ expected = (
+ '<div class="codehilite"><pre><span></span><code>'
+- '<span class="lineno">1 </span><span class="hll">line 1\n'
+- '</span><span class="lineno">2 </span>line 2\n'
+- '<span class="lineno">3 </span><span class="hll">line 3\n'
++ '<span class="linenos">1</span><span class="hll">line 1\n'
++ '</span><span class="linenos">2</span>line 2\n'
++ '<span class="linenos">3</span><span class="hll">line 3\n'
+ '</span></code></pre></div>'
+ )
+ else:
+@@ -291,9 +291,9 @@ class TestCodeHiliteClass(TestCase):
+ def test_codehilite_linenos_linenostep(self):
+ if has_pygments:
+ expected = (
+- '<div class="codehilite"><pre><span></span><code><span class="lineno"> </span>line 1\n'
+- '<span class="lineno">2 </span>line 2\n'
+- '<span class="lineno"> </span>line 3\n'
++ '<div class="codehilite"><pre><span></span><code><span class="linenos"> </span>line 1\n'
++ '<span class="linenos">2</span>line 2\n'
++ '<span class="linenos"> </span>line 3\n'
+ '</code></pre></div>'
+ )
+ else:
+@@ -308,9 +308,9 @@ class TestCodeHiliteClass(TestCase):
+ def test_codehilite_linenos_linenospecial(self):
+ if has_pygments:
+ expected = (
+- '<div class="codehilite"><pre><span></span><code><span class="lineno">1 </span>line 1\n'
+- '<span class="lineno special">2 </span>line 2\n'
+- '<span class="lineno">3 </span>line 3\n'
++ '<div class="codehilite"><pre><span></span><code><span class="linenos">1</span>line 1\n'
++ '<span class="linenos special">2</span>line 2\n'
++ '<span class="linenos">3</span>line 3\n'
+ '</code></pre></div>'
+ )
+ else:
+diff --git a/tests/test_syntax/extensions/test_fenced_code.py b/tests/test_syntax/extensions/test_fenced_code.py
+index e5de0b7..8fa75f7 100644
+--- a/tests/test_syntax/extensions/test_fenced_code.py
++++ b/tests/test_syntax/extensions/test_fenced_code.py
+@@ -629,7 +629,7 @@ class TestFencedCode(TestCase):
+ if self.has_pygments:
+ expected = (
+ '<div class="python codehilite" style="background: #f8f8f8">'
+- '<pre style="line-height: 125%"><span></span><code>'
++ '<pre style="line-height: 125%; margin: 0;"><span></span><code>'
+ '<span style="color: #408080; font-style: italic"># Some python code</span>\n'
+ '</code></pre></div>'
+ )
+--
+2.28.0
+
diff --git a/dev-python/markdown/markdown-3.3.ebuild b/dev-python/markdown/markdown-3.3.ebuild
new file mode 100644
index 000000000000..d5df89d4bab8
--- /dev/null
+++ b/dev-python/markdown/markdown-3.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{5,6,7,8,9} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of the markdown markup language"
+HOMEPAGE="
+ https://python-markdown.github.io/
+ https://pypi.org/project/Markdown/
+ https://github.com/Python-Markdown/markdown"
+SRC_URI="mirror://pypi/M/${PN^}/${P^}.tar.gz"
+S="${WORKDIR}/${P^}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc"
+
+# importlib_metadata is only necessary for <python:3.8 according to setup.py
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/importlib_metadata[${PYTHON_USEDEP}]
+ ' python3_{6,7} pypy3)
+"
+BDEPEND="
+ test? (
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/pytidylib[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/markdown-3.3-pygments-2.7.patch
+)
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ use doc && dodoc -r docs/
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest
index 523c9a998a2e..767904fcde5a 100644
--- a/dev-python/mypy/Manifest
+++ b/dev-python/mypy/Manifest
@@ -1,2 +1,3 @@
DIST mypy-0.781.tar.gz 2056785 BLAKE2B aa95d71400d5d46223a141adae5a8d797d2f076d3b6b48a7c09db6f7f3f2193d571368759f0ca307331d8e8c241b0322e758716a10fabccca3aaa6b733a63347 SHA512 dd3173115720510b278d15f5083a57fdb41582dfcaaf16e587116e41e87d608f4e226b61a978f4b41ef6b5ec6d3d9279facd65c0a74888b367171dcbe25550f2
+DIST mypy-0.782.tar.gz 2529814 BLAKE2B c75771fb40524c2c8675236eaaddd6e39d13b4fd4f6f15f279b2e0be75eb0630987cb90f31bd7c65c4a322de4915d3a260e8f6f375b49157fea4b6362316f333 SHA512 f94433f79ea76b53ebb70589ca04ba3f39847050f73cf6deac00a3db13d742613a8ecb1a11fb84a878458025c6776b236b074e93e577c1b597e31d1300974767
DIST mypy-typeshed-0.781-e199c2e.tar.gz 541588 BLAKE2B f663d0feccffb315efd1b6e3ebc54bbe3cf4c7873c240ed54c7be1042807e2213326db8756b5a540fd9bf5ae95a2c0850e8cb35ae2e849ec3e9a628367fabe72 SHA512 57f3159d909799838779c04ccc6541322c27c01efb026c26a145676fa75076f64b8cd3e99f7488501582c743e1102cad59320512d52d4a058d8731c54c0705cd
diff --git a/dev-python/mypy/files/mypy-0.782-conftest.patch b/dev-python/mypy/files/mypy-0.782-conftest.patch
new file mode 100644
index 000000000000..08da1b1b690a
--- /dev/null
+++ b/dev-python/mypy/files/mypy-0.782-conftest.patch
@@ -0,0 +1,24 @@
+diff --git a/conftest.py b/conftest.py
+new file mode 100644
+index 00000000..83a6689f
+--- /dev/null
++++ b/conftest.py
+@@ -0,0 +1,18 @@
++import os.path
++
++pytest_plugins = [
++ 'mypy.test.data',
++]
++
++
++def pytest_configure(config):
++ mypy_source_root = os.path.dirname(os.path.abspath(__file__))
++ if os.getcwd() != mypy_source_root:
++ os.chdir(mypy_source_root)
++
++
++# This function name is special to pytest. See
++# http://doc.pytest.org/en/latest/writing_plugins.html#initialization-command-line-and-configuration-hooks
++def pytest_addoption(parser) -> None:
++ parser.addoption('--bench', action='store_true', default=False,
++ help='Enable the benchmark test runs')
diff --git a/dev-python/mypy/files/mypy-0.782-py39-fixes.patch b/dev-python/mypy/files/mypy-0.782-py39-fixes.patch
new file mode 100644
index 000000000000..16c12daecae5
--- /dev/null
+++ b/dev-python/mypy/files/mypy-0.782-py39-fixes.patch
@@ -0,0 +1,138 @@
+From 13ae58ffe8bedb7da9f4c657297f0d61e681d671 Mon Sep 17 00:00:00 2001
+From: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
+Date: Sun, 30 Aug 2020 18:11:57 -0700
+Subject: [PATCH] mypy: get CI green for py39 (#9376)
+
+Due to Python 3.9's new parser, this has a different (and better) error
+message on Python 3.9.
+
+This is effectively a test of typed_ast / ast, so I don't think it
+matters too much. I'm happy to alternatively just get rid of the test
+altogether, or if people feel strongly, come up with a way to run the
+test when run with older Pythons.
+
+Co-authored-by: hauntsaninja <>
+---
+ .travis.yml | 3 ---
+ mypy/test/testcheck.py | 2 ++
+ test-data/unit/check-kwargs.test | 7 -------
+ test-data/unit/check-python39.test | 9 +++++++++
+ 4 files changed, 11 insertions(+), 10 deletions(-)
+ create mode 100644 test-data/unit/check-python39.test
+
+diff --git a/mypy/test/testcheck.py b/mypy/test/testcheck.py
+index 49a85861b6..39a35c7280 100644
+--- a/mypy/test/testcheck.py
++++ b/mypy/test/testcheck.py
+@@ -94,6 +94,8 @@
+ # Tests that use Python 3.8-only AST features (like expression-scoped ignores):
+ if sys.version_info >= (3, 8):
+ typecheck_files.append('check-python38.test')
++if sys.version_info >= (3, 9):
++ typecheck_files.append('check-python39.test')
+
+ # Special tests for platforms with case-insensitive filesystems.
+ if sys.platform in ('darwin', 'win32'):
+diff --git a/test-data/unit/check-kwargs.test b/test-data/unit/check-kwargs.test
+index 1dd450caae..a587be3e06 100644
+--- a/test-data/unit/check-kwargs.test
++++ b/test-data/unit/check-kwargs.test
+@@ -53,13 +53,6 @@ f(b=[], a=A())
+ class A: pass
+ [builtins fixtures/list.pyi]
+
+-[case testGivingSameKeywordArgumentTwice]
+-import typing
+-def f(a: 'A', b: 'B') -> None: pass
+-f(a=A(), b=B(), a=A()) # E: keyword argument repeated
+-class A: pass
+-class B: pass
+-
+ [case testGivingArgumentAsPositionalAndKeywordArg]
+ import typing
+ def f(a: 'A', b: 'B' = None) -> None: pass
+diff --git a/test-data/unit/check-python39.test b/test-data/unit/check-python39.test
+new file mode 100644
+index 0000000000..0e9ec683ae
+--- /dev/null
++++ b/test-data/unit/check-python39.test
+@@ -0,0 +1,9 @@
++[case testGivingSameKeywordArgumentTwice]
++# This test was originally in check-kwargs.test
++# Python 3.9's new parser started producing a different error message here. Since this isn't the
++# most important test, to deal with this we'll only run this test with Python 3.9 and later.
++import typing
++def f(a: 'A', b: 'B') -> None: pass
++f(a=A(), b=B(), a=A()) # E: "f" gets multiple values for keyword argument "a"
++class A: pass
++class B: pass
+From da4430119255ac9205c96d54deb2e2ebed0ce8ce Mon Sep 17 00:00:00 2001
+From: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
+Date: Fri, 31 Jul 2020 09:58:15 -0700
+Subject: [PATCH] mypyc: ignore deprecation (#9107)
+
+PyUnicode_AsUnicodeAndSize has been deprecated since 3.3
+
+Python 3.9 has compiler warnings for this deprecated function, and we
+compile with Werror, causing Python 3.9 builds to fail.
+
+I've just copied over the relevant deprecation ignoring code from the
+original getargs.c (including the TODO, but I can remove that)
+
+Co-authored-by: hauntsaninja <>
+---
+ mypyc/lib-rt/getargs.c | 27 +++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+diff --git a/mypyc/lib-rt/getargs.c b/mypyc/lib-rt/getargs.c
+index 32b387c8ab..e6b1a0c937 100644
+--- a/mypyc/lib-rt/getargs.c
++++ b/mypyc/lib-rt/getargs.c
+@@ -18,6 +18,29 @@
+ * and is responsible for decrefing them.
+ */
+
++// These macro definitions are copied from pyport.h in Python 3.9 and later
++// https://bugs.python.org/issue19569
++#if defined(__clang__)
++#define _Py_COMP_DIAG_PUSH _Pragma("clang diagnostic push")
++#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS \
++ _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"")
++#define _Py_COMP_DIAG_POP _Pragma("clang diagnostic pop")
++#elif defined(__GNUC__) \
++ && ((__GNUC__ >= 5) || (__GNUC__ == 4) && (__GNUC_MINOR__ >= 6))
++#define _Py_COMP_DIAG_PUSH _Pragma("GCC diagnostic push")
++#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS \
++ _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
++#define _Py_COMP_DIAG_POP _Pragma("GCC diagnostic pop")
++#elif defined(_MSC_VER)
++#define _Py_COMP_DIAG_PUSH __pragma(warning(push))
++#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS __pragma(warning(disable: 4996))
++#define _Py_COMP_DIAG_POP __pragma(warning(pop))
++#else
++#define _Py_COMP_DIAG_PUSH
++#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS
++#define _Py_COMP_DIAG_POP
++#endif
++
+ #include "Python.h"
+ #include "pythonsupport.h"
+
+@@ -756,6 +779,9 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags,
+ case 'u': /* raw unicode buffer (Py_UNICODE *) */
+ case 'Z': /* raw unicode buffer or None */
+ {
++ // TODO: Raise DeprecationWarning
++_Py_COMP_DIAG_PUSH
++_Py_COMP_DIAG_IGNORE_DEPR_DECLS
+ Py_UNICODE **p = va_arg(*p_va, Py_UNICODE **);
+
+ if (*format == '#') {
+@@ -795,6 +821,7 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags,
+ arg, msgbuf, bufsize);
+ }
+ break;
++_Py_COMP_DIAG_POP
+ }
+
+ case 'e': {/* encoded string */
diff --git a/dev-python/mypy/files/mypy-0.782-pytest-6.patch b/dev-python/mypy/files/mypy-0.782-pytest-6.patch
new file mode 100644
index 000000000000..0252d1138807
--- /dev/null
+++ b/dev-python/mypy/files/mypy-0.782-pytest-6.patch
@@ -0,0 +1,210 @@
+From 3e77959eacf3d445a0cb4db5a4bc6dcf606fc040 Mon Sep 17 00:00:00 2001
+From: Lawrence Chan <llchan@users.noreply.github.com>
+Date: Tue, 4 Aug 2020 18:14:55 -0500
+Subject: [PATCH] Use pytest Node.from_parent if available (#9263)
+
+* Use pytest Node.from_parent if available
+
+* Use pytest Node.from_parent unconditionally (requires pytest 5.4+)
+
+* Bump pytest test requirements
+
+* Require pytest 6.0 and remove unused type ignores
+
+* Make flake8 happy
+---
+ mypy/test/data.py | 37 ++++++++++++++++++++++--------------
+ mypy/test/helpers.py | 2 +-
+ mypy/test/testfinegrained.py | 2 +-
+ mypy/test/testipc.py | 2 +-
+ mypy/test/testparse.py | 2 +-
+ mypy/test/testpep561.py | 2 +-
+ mypy/test/testpythoneval.py | 2 +-
+ mypyc/test/testutil.py | 2 +-
+ pytest.ini | 3 +--
+ test-requirements.txt | 9 ++++-----
+ 10 files changed, 35 insertions(+), 28 deletions(-)
+
+diff --git a/mypy/test/data.py b/mypy/test/data.py
+index 5484fd99e9..a4f2d798b1 100644
+--- a/mypy/test/data.py
++++ b/mypy/test/data.py
+@@ -9,7 +9,7 @@
+ from abc import abstractmethod
+ import sys
+
+-import pytest # type: ignore # no pytest in typeshed
++import pytest
+ from typing import List, Tuple, Set, Optional, Iterator, Any, Dict, NamedTuple, Union
+
+ from mypy.test.config import test_data_prefix, test_temp_dir, PREFIX
+@@ -160,9 +160,12 @@ def parse_test_case(case: 'DataDrivenTestCase') -> None:
+ case.expected_fine_grained_targets = targets
+
+
+-class DataDrivenTestCase(pytest.Item): # type: ignore # inheriting from Any
++class DataDrivenTestCase(pytest.Item):
+ """Holds parsed data-driven test cases, and handles directory setup and teardown."""
+
++ # Override parent member type
++ parent = None # type: DataSuiteCollector
++
+ input = None # type: List[str]
+ output = None # type: List[str] # Output for the first pass
+ output2 = None # type: Dict[int, List[str]] # Output for runs 2+, indexed by run number
+@@ -266,7 +269,7 @@ def repr_failure(self, excinfo: Any, style: Optional[Any] = None) -> str:
+ # call exit() and they already print out a stack trace.
+ excrepr = excinfo.exconly()
+ else:
+- self.parent._prunetraceback(excinfo)
++ self.parent._prunetraceback(excinfo) # type: ignore[no-untyped-call]
+ excrepr = excinfo.getrepr(style='short')
+
+ return "data: {}:{}:\n{}".format(self.file, self.line, excrepr)
+@@ -510,7 +513,9 @@ def pytest_pycollect_makeitem(collector: Any, name: str,
+ # Non-None result means this obj is a test case.
+ # The collect method of the returned DataSuiteCollector instance will be called later,
+ # with self.obj being obj.
+- return DataSuiteCollector(name, parent=collector)
++ return DataSuiteCollector.from_parent( # type: ignore[no-untyped-call]
++ parent=collector, name=name
++ )
+ return None
+
+
+@@ -535,19 +540,23 @@ def split_test_cases(parent: 'DataSuiteCollector', suite: 'DataSuite',
+ for i in range(1, len(cases), 6):
+ name, writescache, only_when, platform_flag, skip, data = cases[i:i + 6]
+ platform = platform_flag[1:] if platform_flag else None
+- yield DataDrivenTestCase(parent, suite, file,
+- name=add_test_name_suffix(name, suite.test_name_suffix),
+- writescache=bool(writescache),
+- only_when=only_when,
+- platform=platform,
+- skip=bool(skip),
+- data=data,
+- line=line_no)
++ yield DataDrivenTestCase.from_parent(
++ parent=parent,
++ suite=suite,
++ file=file,
++ name=add_test_name_suffix(name, suite.test_name_suffix),
++ writescache=bool(writescache),
++ only_when=only_when,
++ platform=platform,
++ skip=bool(skip),
++ data=data,
++ line=line_no,
++ )
+ line_no += data.count('\n') + 1
+
+
+-class DataSuiteCollector(pytest.Class): # type: ignore # inheriting from Any
+- def collect(self) -> Iterator[pytest.Item]: # type: ignore
++class DataSuiteCollector(pytest.Class):
++ def collect(self) -> Iterator[pytest.Item]:
+ """Called by pytest on each of the object returned from pytest_pycollect_makeitem"""
+
+ # obj is the object for which pytest_pycollect_makeitem returned self.
+diff --git a/mypy/test/helpers.py b/mypy/test/helpers.py
+index 46c01114c4..91c5ff6ab2 100644
+--- a/mypy/test/helpers.py
++++ b/mypy/test/helpers.py
+@@ -10,7 +10,7 @@
+ from mypy import defaults
+ import mypy.api as api
+
+-import pytest # type: ignore # no pytest in typeshed
++import pytest
+
+ # Exporting Suite as alias to TestCase for backwards compatibility
+ # TODO: avoid aliasing - import and subclass TestCase directly
+diff --git a/mypy/test/testfinegrained.py b/mypy/test/testfinegrained.py
+index 596391da44..d4ed18cab0 100644
+--- a/mypy/test/testfinegrained.py
++++ b/mypy/test/testfinegrained.py
+@@ -35,7 +35,7 @@
+ from mypy.config_parser import parse_config_file
+ from mypy.find_sources import create_source_list
+
+-import pytest # type: ignore # no pytest in typeshed
++import pytest
+
+ # Set to True to perform (somewhat expensive) checks for duplicate AST nodes after merge
+ CHECK_CONSISTENCY = False
+diff --git a/mypy/test/testipc.py b/mypy/test/testipc.py
+index 1d4829d561..7dd829a590 100644
+--- a/mypy/test/testipc.py
++++ b/mypy/test/testipc.py
+@@ -3,7 +3,7 @@
+
+ from mypy.ipc import IPCClient, IPCServer
+
+-import pytest # type: ignore
++import pytest
+ import sys
+ import time
+
+diff --git a/mypy/test/testparse.py b/mypy/test/testparse.py
+index e990a403a5..e9ff6839bc 100644
+--- a/mypy/test/testparse.py
++++ b/mypy/test/testparse.py
+@@ -2,7 +2,7 @@
+
+ import sys
+
+-from pytest import skip # type: ignore[import]
++from pytest import skip
+
+ from mypy import defaults
+ from mypy.test.helpers import assert_string_arrays_equal, parse_options
+diff --git a/mypy/test/testpep561.py b/mypy/test/testpep561.py
+index a8eabd7702..aadf01ae5f 100644
+--- a/mypy/test/testpep561.py
++++ b/mypy/test/testpep561.py
+@@ -1,6 +1,6 @@
+ from contextlib import contextmanager
+ import os
+-import pytest # type: ignore
++import pytest
+ import re
+ import subprocess
+ from subprocess import PIPE
+diff --git a/mypy/test/testpythoneval.py b/mypy/test/testpythoneval.py
+index 7586a3854e..e7e9f16183 100644
+--- a/mypy/test/testpythoneval.py
++++ b/mypy/test/testpythoneval.py
+@@ -18,7 +18,7 @@
+ import sys
+ from tempfile import TemporaryDirectory
+
+-import pytest # type: ignore # no pytest in typeshed
++import pytest
+
+ from typing import List
+
+diff --git a/mypyc/test/testutil.py b/mypyc/test/testutil.py
+index 18ab39a103..c1ce8626ba 100644
+--- a/mypyc/test/testutil.py
++++ b/mypyc/test/testutil.py
+@@ -7,7 +7,7 @@
+ import shutil
+ from typing import List, Callable, Iterator, Optional, Tuple
+
+-import pytest # type: ignore[import]
++import pytest
+
+ from mypy import build
+ from mypy.errors import CompileError
+diff --git a/pytest.ini b/pytest.ini
+index 81586a2370..ed76809091 100644
+--- a/pytest.ini
++++ b/pytest.ini
+@@ -1,6 +1,5 @@
+ [pytest]
+-# testpaths is new in 2.8
+-minversion = 2.8
++minversion = 6.0.0
+
+ testpaths = mypy/test mypyc/test
+
diff --git a/dev-python/mypy/metadata.xml b/dev-python/mypy/metadata.xml
index bf0901d0fe04..ece7c31ff7f1 100644
--- a/dev-python/mypy/metadata.xml
+++ b/dev-python/mypy/metadata.xml
@@ -5,9 +5,16 @@
<email>ikelos@gentoo.org</email>
<name>Mike Auty</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<stabilize-allarches/>
<upstream>
<remote-id type="github">python/mypy</remote-id>
+ <remote-id type="pypi">mypy</remote-id>
+ <bugs-to>https://github.com/python/mypy/issues</bugs-to>
+ <doc>https://mypy.readthedocs.io/</doc>
</upstream>
<origin>gentoo-staging</origin>
</pkgmetadata>
diff --git a/dev-python/mypy/mypy-0.782.ebuild b/dev-python/mypy/mypy-0.782.ebuild
new file mode 100644
index 000000000000..ecd647af8be6
--- /dev/null
+++ b/dev-python/mypy/mypy-0.782.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7,8,9} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="Optional static typing for Python"
+HOMEPAGE="https://www.mypy-lang.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# stubgen collides with this package: https://bugs.gentoo.org/585594
+RDEPEND="
+ !dev-util/stubgen
+ >=dev-python/psutil-4[${PYTHON_USEDEP}]
+ >=dev-python/typed-ast-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/typed-ast-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-3.7.4[${PYTHON_USEDEP}]
+ >=dev-python/mypy_extensions-0.4.3[${PYTHON_USEDEP}]
+ <dev-python/mypy_extensions-0.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/attrs-18.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-1.18[${PYTHON_USEDEP}]
+ >=dev-python/py-1.5.2[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-16.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # The first two patches are backports from upstream commits
+ # They should be removed during the next bump
+ "${FILESDIR}/${P}-py39-fixes.patch"
+ "${FILESDIR}/${P}-pytest-6.patch"
+ # Needed to collect all tests
+ # https://github.com/python/mypy/pull/9543
+ "${FILESDIR}/${P}-conftest.patch"
+)
+
+distutils_enable_sphinx docs/source dev-python/sphinx_rtd_theme
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # https://github.com/python/mypy/commit/2f291f2e312dd3bf2c05c45da0b032b240bfd7ab
+ # Avoid a big patch by deleting the file manually
+ rm test-data/samples/crawl.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/pylast/Manifest b/dev-python/pylast/Manifest
index 5f044ed1002e..92f5bf29dd8a 100644
--- a/dev-python/pylast/Manifest
+++ b/dev-python/pylast/Manifest
@@ -1 +1,2 @@
DIST pylast-3.3.0.tar.gz 40209 BLAKE2B 45725d8424a54ac03b53a6c7fe79febb0038c07ee6c2685d7b66f29933f91fb4ea55818be1d02f8fb1126758acd1d9ce3366e8a7d84fe3082b9b3003a9b948b3 SHA512 8b0c089896d7efb37bdf3a701d150b0f94f386715eb73122a4a7618f5b1a514f9f7577e8c7c84eacb36b18e69aa064220403a578d0544344ab11e87e1b46695a
+DIST pylast-4.0.0.tar.gz 40044 BLAKE2B 89402027494d608bffc4738857d8a7728175cf29a68af259aec1d6ab3755c5e02268bbacac2ff9bd8d8c6490b86ae200aeed59f34c764a4c2f90ea59cb732070 SHA512 093845c718269ed5a0b5223182e60192a71e2fed9270fec453b96b0b2a5488a0c5a8f6386edb42ed183b97cb7ea00397b4491ff72cbf72f9e7d42dc90fae66e7
diff --git a/dev-python/pylast/pylast-4.0.0.ebuild b/dev-python/pylast/pylast-4.0.0.ebuild
new file mode 100644
index 000000000000..abf181225133
--- /dev/null
+++ b/dev-python/pylast/pylast-4.0.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7,8,9} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to last.fm and other api-compatible websites"
+HOMEPAGE="https://github.com/pylast/pylast"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+BDEPEND="
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ test? ( dev-python/flaky[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
+
+python_test() {
+ distutils_install_for_testing
+ pytest -vv || die "tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pytest-qt/pytest-qt-3.3.0.ebuild b/dev-python/pytest-qt/pytest-qt-3.3.0.ebuild
index e7cca9705ff7..31b4f1138986 100644
--- a/dev-python/pytest-qt/pytest-qt-3.3.0.ebuild
+++ b/dev-python/pytest-qt/pytest-qt-3.3.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
DEPEND="dev-python/QtPy[gui,testlib,${PYTHON_USEDEP}]"
diff --git a/dev-python/python-language-server/python-language-server-0.34.1.ebuild b/dev-python/python-language-server/python-language-server-0.34.1.ebuild
index 643dfd551782..69f650667c75 100644
--- a/dev-python/python-language-server/python-language-server-0.34.1.ebuild
+++ b/dev-python/python-language-server/python-language-server-0.34.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 x86"
+KEYWORDS="amd64 x86"
BDEPEND="dev-python/versioneer[${PYTHON_USEDEP}]"
diff --git a/dev-python/qtawesome/qtawesome-0.7.2.ebuild b/dev-python/qtawesome/qtawesome-0.7.2.ebuild
index e5d4ddd0589d..d4a9129153c7 100644
--- a/dev-python/qtawesome/qtawesome-0.7.2.ebuild
+++ b/dev-python/qtawesome/qtawesome-0.7.2.ebuild
@@ -17,7 +17,7 @@ SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
RDEPEND="media-fonts/fontawesome
dev-python/QtPy[${PYTHON_USEDEP}]
diff --git a/dev-python/sexpdata/sexpdata-0.0.3-r1.ebuild b/dev-python/sexpdata/sexpdata-0.0.3-r1.ebuild
index 2a764bdf741a..575ef9b71c23 100644
--- a/dev-python/sexpdata/sexpdata-0.0.3-r1.ebuild
+++ b/dev-python/sexpdata/sexpdata-0.0.3-r1.ebuild
@@ -4,6 +4,7 @@
EAPI=6
PYTHON_COMPAT=( python3_{5,6,7,8,9} )
+DISTUTILS_USE_SETUPTOOLS=no
inherit distutils-r1
diff --git a/dev-python/sqlparse/Manifest b/dev-python/sqlparse/Manifest
index d0bf568fbc40..e682baca7cb0 100644
--- a/dev-python/sqlparse/Manifest
+++ b/dev-python/sqlparse/Manifest
@@ -1 +1,2 @@
DIST sqlparse-0.3.1.tar.gz 67572 BLAKE2B 27c9267de1a269a4574019d457a3dad53ad805e56a57ba73e294c229a7852b7ca04557fb45d07566e94eba7593257ad7eb413b1e0ec04d1044838d5039dc8ba8 SHA512 4c56a528b43578a7a48fc31cee369215b15761d9903ea1d8e034c69f0eb6431dd15362aab13af25a36fccb361436f1cba746bcbb515cbab5d30319629dd2ddfb
+DIST sqlparse-0.4.0.tar.gz 67191 BLAKE2B 748a30102b104ecd951d2e39b626e7351a7d141c756b3ae47451ccbbcef16f32201592aeee5bbf7a82a601e02f2faae8a569134b37b0660e54149e9ba56e096f SHA512 3314fe6ee7694a01c7ab00469ca6de90d3e954c5da39d2d8e2e085608b0b1ff304757378aa473d0687a16d064d952d0cd987237340e2f169604533d6757a61f3
diff --git a/dev-python/sqlparse/sqlparse-0.4.0.ebuild b/dev-python/sqlparse/sqlparse-0.4.0.ebuild
new file mode 100644
index 000000000000..d3c96ffa5c3b
--- /dev/null
+++ b/dev-python/sqlparse/sqlparse-0.4.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{5,6,7,8,9} )
+inherit distutils-r1
+
+MY_PN="${PN##python-}"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="A non-validating SQL parser module for Python"
+HOMEPAGE="https://github.com/andialbrecht/sqlparse"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${P#python-}
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+LICENSE="BSD-2"
+
+distutils_enable_sphinx docs/source
+distutils_enable_tests pytest
diff --git a/dev-python/tqdm/Manifest b/dev-python/tqdm/Manifest
index 8f2e3b0cb996..419c55bfbd1b 100644
--- a/dev-python/tqdm/Manifest
+++ b/dev-python/tqdm/Manifest
@@ -1,2 +1,3 @@
DIST tqdm-4.48.2.tar.gz 148978 BLAKE2B 2423a3d23b86ec6b535a2157d0fbaea6921f95873fb2507a08ff57de0fdcf8fcbfb030210393f5410437ee9977da3ad2011f07a866b3f91a057e338082325976 SHA512 849e4dad4bd0819b328e906af8a8f7acf2ebfd559c9ae3ebf822bc64c1b1a5c96e44b9b69d3dedf6387c44cf9eed559f1377ea29f71fadfc8f056c52685425e9
DIST tqdm-4.49.0.tar.gz 151935 BLAKE2B 790e2912a402795af9aba2e4db80cf41a7cb08267dad5946d89b4d9fb8b8c7a1dd65f33dcaf315bbe82862c0c2934b2dd2b8cee894c592d5a61ac61dd8c5126f SHA512 44197eb09b90551eb66c8b2e0dc97f6864fc91654465e7d478ece6ecd610242d8e378c6814f9d3e1cf05b2db1aa533743535051ad456ec5ef6d477be906ee217
+DIST tqdm-4.50.1.tar.gz 153435 BLAKE2B 5dda14bc4007e2820dc1899d352dccfd72988ce0ec84b556404d4a92f13cf51f340b7e745c39d01076485adcc6331eaf86e49c37d441ab667e4ee9e07019b238 SHA512 4db3ab73ca387961e0522fb5521bbad0420f1cf99a38a5192f048e08a30aeddd20d39ca2d7cd24dbd29e2342018fe65d55a2d0b275d188bf41f7592b8b77cd32
diff --git a/dev-python/tqdm/tqdm-4.50.1.ebuild b/dev-python/tqdm/tqdm-4.50.1.ebuild
new file mode 100644
index 000000000000..9b6164953dcf
--- /dev/null
+++ b/dev-python/tqdm/tqdm-4.50.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{5,6,7,8,9} pypy3 )
+
+inherit distutils-r1
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/tqdm/tqdm"
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+fi
+
+DESCRIPTION="Add a progress meter to your loops in a second"
+HOMEPAGE="https://github.com/tqdm/tqdm"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="examples"
+
+distutils_enable_tests nose
+
+python_prepare_all() {
+ sed -r \
+ -e "s:'nose'(,[[:space:]]*|)::" \
+ -e "s:'flake8'(,[[:space:]]*|)::" \
+ -e "s:'coverage'(,[[:space:]]*|)::" \
+ -i setup.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # tests_main.py requires the package to be installed
+ distutils_install_for_testing
+ # Skip unpredictable performance tests
+ nosetests tqdm -v --ignore 'tests_perf.py' \
+ || die "tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ doman "${BUILD_DIR}"/lib/tqdm/tqdm.1
+ rm "${BUILD_DIR}"/lib/tqdm/tqdm.1 || die
+ distutils-r1_python_install --skip-build
+}
+
+python_install_all() {
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/ujson/Manifest b/dev-python/ujson/Manifest
index f554ca77cc54..0d95bb098005 100644
--- a/dev-python/ujson/Manifest
+++ b/dev-python/ujson/Manifest
@@ -1,3 +1,4 @@
DIST ujson-1.35.tar.gz 192027 BLAKE2B 320058e7142f2264bee8b02a411bedb3b32d1c2fc86157eb47272f75cb401e6c75ce7d9e3dba5092cd1db99dbded8804347d4c7be11eaedb47bc8b4b8125fbd3 SHA512 931d8f574fc4920c9ded48369774666060e951f40982606ce9f1d9de3420004042af7d797075a54d92a2b25c4f313572a5e1a30f3bc8ce387ef8f3881193eee7
DIST ujson-3.1.0.tar.gz 7128419 BLAKE2B 544afb68e23fe942a6bb241f6948998d61a42d61799dff257f139510e4e97e9bba5c4742e1ed1f0b0e78dfcde0589f0b255c92fc5f3059b6cdd86279aabfe141 SHA512 c40953a4b5b55e894e42fccded618a9f2ed771904e1d1e90a28f4691a53fbd8b2fab3dc98a36b6e0637d2ef40ac87ebf9f2d8fce33cd3bc4e68bf7c18c7a33c3
DIST ujson-3.2.0.tar.gz 7128952 BLAKE2B 7e4c409eb8e87d542d37595439ded5c85e934e87a18987e18dce5ab0aebd5f9431b8a2c12ebaa467da928c3158d03325a40a9ae65230e39c93106d65b098c407 SHA512 8915e17acbd9650964dc9ae4f8a89021af921fac8f77f5456fdb8c0d6ceaa02767891d070c515c926deef76efb210a969c573e387ae62c15b2c8be761f6adb70
+DIST ujson-4.0.0.tar.gz 7128856 BLAKE2B 48b487e056dc6972b456b09458ac246baf80e9069187e76e59de9e36d67676d0e13e4efc13f8214bac5bde89e4b393b24c7d471d4ac42bfbbe224965512720bb SHA512 fdd0c3c829a5c082edf5441028d608c828f5301c97228e8ca80ce483d7e52c438e9f8995c948e4e82f0e7e4bc4e757e391d0adea5f59e3a97f9f28625fdb0914
diff --git a/dev-python/ujson/ujson-4.0.0.ebuild b/dev-python/ujson/ujson-4.0.0.ebuild
new file mode 100644
index 000000000000..37c1a7ff0cf4
--- /dev/null
+++ b/dev-python/ujson/ujson-4.0.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{5,6,7,8,9} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Ultra fast JSON encoder and decoder for Python"
+HOMEPAGE="https://pypi.org/project/ujson/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ test? ( dev-python/pytz[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/xarray/xarray-0.16.0.ebuild b/dev-python/xarray/xarray-0.16.0.ebuild
index 2d083c9fca7d..48ad9082f490 100644
--- a/dev-python/xarray/xarray-0.16.0.ebuild
+++ b/dev-python/xarray/xarray-0.16.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/numpy-1.15[${PYTHON_USEDEP}]