summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-03-26 09:02:29 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-03-26 09:02:29 +0000
commit2fc33273150b3b4dd196028483446c6ee98cee2d (patch)
treeea3b0df33042ef40fe1efc79369f61352d6d0bf1 /dev-python
parent6d02d2a34f1f9fab7c0997458e000437629755dd (diff)
downloadbaldeagleos-repo-2fc33273150b3b4dd196028483446c6ee98cee2d.tar.gz
baldeagleos-repo-2fc33273150b3b4dd196028483446c6ee98cee2d.tar.xz
baldeagleos-repo-2fc33273150b3b4dd196028483446c6ee98cee2d.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/automat/automat-22.10.0.ebuild7
-rw-r--r--dev-python/cherrypy/cherrypy-18.8.0.ebuild8
-rw-r--r--dev-python/discogs-client/discogs-client-2.6.ebuild5
-rw-r--r--dev-python/discogs-client/discogs-client-9999.ebuild5
-rw-r--r--dev-python/dogpile-cache/dogpile-cache-1.1.8.ebuild7
-rw-r--r--dev-python/filelock/Manifest1
-rw-r--r--dev-python/filelock/filelock-3.10.5.ebuild29
-rw-r--r--dev-python/flask-compress/flask-compress-1.13.ebuild9
-rw-r--r--dev-python/flask-gravatar/flask-gravatar-0.5.0.ebuild10
-rw-r--r--dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild10
-rw-r--r--dev-python/flask/flask-2.2.3.ebuild7
-rw-r--r--dev-python/genshi/genshi-0.7.7.ebuild6
-rw-r--r--dev-python/gmpy/gmpy-2.1.5.ebuild8
-rw-r--r--dev-python/jack-client/jack-client-0.5.4.ebuild10
-rw-r--r--dev-python/jellyfish/Manifest1
-rw-r--r--dev-python/jellyfish/jellyfish-0.10.0.ebuild30
-rw-r--r--dev-python/js2py/js2py-0.74.ebuild9
-rw-r--r--dev-python/mako/mako-1.2.4.ebuild7
-rw-r--r--dev-python/markupsafe/markupsafe-2.1.2.ebuild9
-rw-r--r--dev-python/nbxmpp/Manifest1
-rw-r--r--dev-python/nbxmpp/nbxmpp-4.2.2.ebuild35
-rw-r--r--dev-python/nototools/Manifest2
-rw-r--r--dev-python/nototools/nototools-0.2.17.ebuild9
-rw-r--r--dev-python/paste/paste-3.5.2.ebuild7
-rw-r--r--dev-python/pebble/pebble-5.0.3.ebuild7
-rw-r--r--dev-python/pikepdf/Manifest1
-rw-r--r--dev-python/pikepdf/pikepdf-7.1.2.ebuild58
-rw-r--r--dev-python/platformdirs/Manifest1
-rw-r--r--dev-python/platformdirs/platformdirs-3.2.0.ebuild49
-rw-r--r--dev-python/pmw/pmw-2.0.1-r3.ebuild9
-rw-r--r--dev-python/pretty-yaml/pretty-yaml-21.10.1.ebuild7
-rw-r--r--dev-python/psycopg/psycopg-2.9.4.ebuild7
-rw-r--r--dev-python/puremagic/Manifest1
-rw-r--r--dev-python/puremagic/puremagic-1.14.ebuild27
-rw-r--r--dev-python/puremagic/puremagic-1.15.ebuild2
-rw-r--r--dev-python/py-amqp/py-amqp-5.1.1-r1.ebuild6
-rw-r--r--dev-python/pyaudio/pyaudio-0.2.13.ebuild8
-rw-r--r--dev-python/pycparser/pycparser-2.21-r1.ebuild70
-rw-r--r--dev-python/pycparser/pycparser-2.21-r2.ebuild2
-rw-r--r--dev-python/pygments/pygments-2.14.0.ebuild7
-rw-r--r--dev-python/pygresql/pygresql-5.2.4.ebuild8
-rw-r--r--dev-python/pyjwt/pyjwt-2.6.0.ebuild7
-rw-r--r--dev-python/pyopenssl/pyopenssl-23.0.0.ebuild9
-rw-r--r--dev-python/pysvg/pysvg-0.2.2_p3-r1.ebuild9
-rw-r--r--dev-python/pytables/pytables-3.8.0-r1.ebuild8
-rw-r--r--dev-python/python-netlink/Manifest2
-rw-r--r--dev-python/python-netlink/python-netlink-0.1.ebuild7
-rw-r--r--dev-python/pytrie/Manifest2
-rw-r--r--dev-python/pytrie/pytrie-0.4.0-r1.ebuild8
-rw-r--r--dev-python/pytz/Manifest1
-rw-r--r--dev-python/pytz/files/pytz-2023.2-system-tzinfo.patch51
-rw-r--r--dev-python/pytz/metadata.xml4
-rw-r--r--dev-python/pytz/pytz-2023.2-r1.ebuild51
-rw-r--r--dev-python/pytz/pytz-2023.2.ebuild34
-rw-r--r--dev-python/pywavelets/pywavelets-1.4.1.ebuild8
-rw-r--r--dev-python/qdarkstyle/qdarkstyle-3.1.ebuild7
-rw-r--r--dev-python/secretstorage/secretstorage-3.3.3.ebuild8
-rw-r--r--dev-python/socketio-client-nexus/Manifest2
-rw-r--r--dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild8
-rw-r--r--dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild9
-rw-r--r--dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.10.1.ebuild9
-rw-r--r--dev-python/stomp-py/stomp-py-8.1.0.ebuild10
-rw-r--r--dev-python/tappy/tappy-3.1-r1.ebuild7
-rw-r--r--dev-python/termcolor/termcolor-2.2.0.ebuild4
-rw-r--r--dev-python/trimesh/Manifest1
-rw-r--r--dev-python/trimesh/trimesh-3.21.2.ebuild65
-rw-r--r--dev-python/unidecode/unidecode-1.3.6.ebuild7
-rw-r--r--dev-python/wand/wand-0.6.11.ebuild7
-rw-r--r--dev-python/webob/webob-1.8.7-r1.ebuild9
-rw-r--r--dev-python/webtest/webtest-3.0.0-r1.ebuild8
-rw-r--r--dev-python/whoosh/whoosh-2.7.4-r2.ebuild6
-rw-r--r--dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild7
-rw-r--r--dev-python/wtforms/wtforms-3.0.1-r1.ebuild9
-rw-r--r--dev-python/wxpython/wxpython-4.2.0.ebuild10
-rw-r--r--dev-python/zconfig/zconfig-3.6.1.ebuild7
75 files changed, 560 insertions, 343 deletions
diff --git a/dev-python/automat/automat-22.10.0.ebuild b/dev-python/automat/automat-22.10.0.ebuild
index d59a7ba279b0..017076e51b72 100644
--- a/dev-python/automat/automat-22.10.0.ebuild
+++ b/dev-python/automat/automat-22.10.0.ebuild
@@ -4,18 +4,17 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P^}
DESCRIPTION="Self-service finite-state machines for the programmer on the go"
HOMEPAGE="
https://github.com/glyph/automat/
https://pypi.org/project/Automat/
"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN^}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/cherrypy/cherrypy-18.8.0.ebuild b/dev-python/cherrypy/cherrypy-18.8.0.ebuild
index 21de42924a55..06146f2b3f48 100644
--- a/dev-python/cherrypy/cherrypy-18.8.0.ebuild
+++ b/dev-python/cherrypy/cherrypy-18.8.0.ebuild
@@ -4,20 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="CherryPy"
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_PN="CherryPy"
-MY_P=${MY_PN}-${PV}
DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
HOMEPAGE="
https://cherrypy.dev/
https://github.com/cherrypy/cherrypy/
https://pypi.org/project/CherryPy/
"
-SRC_URI="mirror://pypi/${MY_PN::1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/discogs-client/discogs-client-2.6.ebuild b/dev-python/discogs-client/discogs-client-2.6.ebuild
index 5eda68c48260..85441d8100a7 100644
--- a/dev-python/discogs-client/discogs-client-2.6.ebuild
+++ b/dev-python/discogs-client/discogs-client-2.6.ebuild
@@ -4,6 +4,8 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="python3-discogs-client"
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
inherit distutils-r1
@@ -12,9 +14,8 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/joalla/discogs_client.git"
inherit git-r3
else
- SRC_URI="mirror://pypi/p/python3-${PN}/python3-${P}.tar.gz"
+ inherit pypi
KEYWORDS="amd64 ~x86"
- S="${WORKDIR}/python3-${P}"
fi
DESCRIPTION="Continuation of the official Python API client for Discogs"
diff --git a/dev-python/discogs-client/discogs-client-9999.ebuild b/dev-python/discogs-client/discogs-client-9999.ebuild
index 81721e1f678a..0c53cb71c6e3 100644
--- a/dev-python/discogs-client/discogs-client-9999.ebuild
+++ b/dev-python/discogs-client/discogs-client-9999.ebuild
@@ -4,6 +4,8 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="python3-discogs-client"
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
inherit distutils-r1
@@ -12,9 +14,8 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/joalla/discogs_client.git"
inherit git-r3
else
- SRC_URI="mirror://pypi/p/python3-${PN}/python3-${P}.tar.gz"
+ inherit pypi
KEYWORDS="~amd64 ~x86"
- S="${WORKDIR}/python3-${P}"
fi
DESCRIPTION="Continuation of the official Python API client for Discogs"
diff --git a/dev-python/dogpile-cache/dogpile-cache-1.1.8.ebuild b/dev-python/dogpile-cache/dogpile-cache-1.1.8.ebuild
index 3433f12cbf9b..6e62e209e2a7 100644
--- a/dev-python/dogpile-cache/dogpile-cache-1.1.8.ebuild
+++ b/dev-python/dogpile-cache/dogpile-cache-1.1.8.ebuild
@@ -4,18 +4,17 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P/-/.}
DESCRIPTION="A locking API for expiring values while a single thread generates a new value"
HOMEPAGE="
https://github.com/sqlalchemy/dogpile.cache/
https://pypi.org/project/dogpile.cache/
"
-SRC_URI="mirror://pypi/${PN:0:1}/dogpile.cache/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/filelock/Manifest b/dev-python/filelock/Manifest
index a28503585286..101ce1453ea6 100644
--- a/dev-python/filelock/Manifest
+++ b/dev-python/filelock/Manifest
@@ -2,5 +2,6 @@ DIST filelock-3.10.0.tar.gz 10006 BLAKE2B c9fa59baf698f2bca16e315909b25a85a8f19c
DIST filelock-3.10.2.tar.gz 10259 BLAKE2B 9d36408d7c86347cb985c5dcaaf8640ba30437ce9026c3857f412ae0f68f5d11c009a81541ec3d55a43d7083d04d53d244e39267012d1bc17148f6c1106b7787 SHA512 b92ccabdcfade9daafdc895f16e92f0b1b2b204d9f4b7bc22f79e9b1ae38c56bdf7842536ab2fefca91744c62f6df5e93fb4c410a1f7e78a1158352de60988ce
DIST filelock-3.10.3.tar.gz 10283 BLAKE2B bbe49a0dcb2947668bbb5392ac4aa79cc1aa5325fc5214866a57f92c91c041ca4a3767d4f81d11d079ee86d71faf91c65b7c297c604618b53eed490281eaaf07 SHA512 9d94ea7800636d28e2861285ca2771430ef60306a64f842bd753d4201d0ab96f51b2b73d15c8fc5b146653fa7a6b9a268d6ddeec182dd0b400e0c18d47e91dca
DIST filelock-3.10.4.tar.gz 10285 BLAKE2B 7cfd908f2e30e610d635b874611aabbdf6d4d835fc27ad3bf360cb71603ea94eb30e5e98b6802724a617fb4aca57c015e5980400796cfd53d2a251b46e668246 SHA512 7f1c535c13353715efd9d64caca30347ccd5ec18b758c1edacc4a31a2c1cad7dbc43a59c331b88315563e3b2009859a980251492df8058d82240cdd1853f25f9
+DIST filelock-3.10.5.tar.gz 10473 BLAKE2B 8cd19ef5a7bf1d49affcb02a7a1e864f7be40b4ba1bf05d5bf926b33466ea355bd34244f561596bafbe73315baa1ff2012cad0a85575bb336331ac4b84010658 SHA512 4c577ce6f99bd8f59d846182abff1c1be5fa310d97e73c36436a317d7af76187a38725d4a8524d2e1b272de95a297dfba9d0e1f8dfd3e6bab0d97f6bd05661b6
DIST filelock-3.9.1.tar.gz 9720 BLAKE2B 4225d718f5c6e7c81e5db5d6ac2af42ce78a6c61b59f85bf8c2aafd71509b4811542e7a7648ffa2b14f3b3e762d975296c095e322e6c6ccf8fa5f1839213531d SHA512 7a240b0014a6570099106c72b376c47b7b23cddc3e70f78e2560ccccfcee31d1078d894c2e3ec6fed2f983859543a84cac03f8834df9e64fcb0a966308f7503e
DIST py-filelock-3.9.0.gh.tar.gz 205047 BLAKE2B 3995f7ad27bb09ca75310c4ada7645f2dd16c09ddb39663394f315443851037f2f9cf08eecb507eba521479696ad1004978d3fdd300a7128ac3354fce2e57d5f SHA512 1235ae9ebdb4c84b0c30e68be91e01eb1acbfcd15c85202fa54a3b91e4e507f221926f8886e1ec91acd4f71d2d88c08f536529b4cebfd2de4fb90118f5dc242e
diff --git a/dev-python/filelock/filelock-3.10.5.ebuild b/dev-python/filelock/filelock-3.10.5.ebuild
new file mode 100644
index 000000000000..b3a0af7951e1
--- /dev/null
+++ b/dev-python/filelock/filelock-3.10.5.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2018-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A platform independent file lock for Python"
+HOMEPAGE="
+ https://github.com/tox-dev/py-filelock/
+ https://pypi.org/project/filelock/
+"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/flask-compress/flask-compress-1.13.ebuild b/dev-python/flask-compress/flask-compress-1.13.ebuild
index 1a9ba6654422..4f8415ffc840 100644
--- a/dev-python/flask-compress/flask-compress-1.13.ebuild
+++ b/dev-python/flask-compress/flask-compress-1.13.ebuild
@@ -4,20 +4,17 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="Flask-Compress"
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
-
-MY_PN="Flask-Compress"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="Compress responses in your Flask app with gzip"
HOMEPAGE="
https://github.com/colour-science/flask-compress/
https://pypi.org/project/Flask-Compress/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/flask-gravatar/flask-gravatar-0.5.0.ebuild b/dev-python/flask-gravatar/flask-gravatar-0.5.0.ebuild
index 9cdb23bc943f..70bafdf5706e 100644
--- a/dev-python/flask-gravatar/flask-gravatar-0.5.0.ebuild
+++ b/dev-python/flask-gravatar/flask-gravatar-0.5.0.ebuild
@@ -3,16 +3,14 @@
EAPI=7
-MY_PN="Flask-Gravatar"
-MY_P=${MY_PN}-${PV}
-
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
+PYPI_NO_NORMALIZE=1
+PYPI_PN="Flask-Gravatar"
+
+inherit distutils-r1 pypi
DESCRIPTION="Small extension for Flask to make usage of Gravatar service easy"
HOMEPAGE="https://github.com/zzzsochi/Flask-Gravatar/"
-SRC_URI="mirror://pypi/F/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild b/dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild
index f23cb06022b5..22ec6252a4e9 100644
--- a/dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild
+++ b/dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild
@@ -3,17 +3,15 @@
EAPI=8
-MY_PN="Flask-Sphinx-Themes"
-MY_P="${MY_PN}-${PV}"
-
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="Flask-Sphinx-Themes"
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
+
+inherit distutils-r1 pypi
DESCRIPTION="Sphinx Themes for Flask related projects and Flask itself"
HOMEPAGE="https://github.com/pallets/flask-sphinx-themes https://pypi.org/project/Flask-Sphinx-Themes/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/flask/flask-2.2.3.ebuild b/dev-python/flask/flask-2.2.3.ebuild
index cd3734e69dfa..26fae687f3a7 100644
--- a/dev-python/flask/flask-2.2.3.ebuild
+++ b/dev-python/flask/flask-2.2.3.ebuild
@@ -4,6 +4,8 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
inherit distutils-r1
@@ -14,15 +16,12 @@ HOMEPAGE="
https://github.com/pallets/flask/
https://pypi.org/project/Flask/
"
-MY_PN="Flask"
-MY_P="${MY_PN}-${PV}"
if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/mitsuhiko/flask.git"
inherit git-r3
else
- SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+ inherit pypi
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
- S="${WORKDIR}/${MY_P}"
fi
LICENSE="BSD"
diff --git a/dev-python/genshi/genshi-0.7.7.ebuild b/dev-python/genshi/genshi-0.7.7.ebuild
index 12f2baf5d084..984752d5851d 100644
--- a/dev-python/genshi/genshi-0.7.7.ebuild
+++ b/dev-python/genshi/genshi-0.7.7.ebuild
@@ -4,14 +4,14 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python toolkit for stream-based generation of output for the web"
HOMEPAGE="https://genshi.edgewall.org/ https://pypi.org/project/Genshi/"
-SRC_URI="mirror://pypi/G/${PN^}/${P^}.tar.gz"
-S="${WORKDIR}/${P^}"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/gmpy/gmpy-2.1.5.ebuild b/dev-python/gmpy/gmpy-2.1.5.ebuild
index 45c3b41af346..4632ccf51bf7 100644
--- a/dev-python/gmpy/gmpy-2.1.5.ebuild
+++ b/dev-python/gmpy/gmpy-2.1.5.ebuild
@@ -4,20 +4,16 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_PN="gmpy2"
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
-
-MY_PN="${PN}2"
-MY_P="${MY_PN}-${PV/_beta/b}"
+inherit distutils-r1 pypi
DESCRIPTION="Python bindings for GMP, MPC, MPFR and MPIR libraries"
HOMEPAGE="
https://github.com/aleaxit/gmpy/
https://pypi.org/project/gmpy2/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="LGPL-3+"
SLOT="2"
diff --git a/dev-python/jack-client/jack-client-0.5.4.ebuild b/dev-python/jack-client/jack-client-0.5.4.ebuild
index 35c90a94e345..6931f5caa127 100644
--- a/dev-python/jack-client/jack-client-0.5.4.ebuild
+++ b/dev-python/jack-client/jack-client-0.5.4.ebuild
@@ -5,18 +5,16 @@ EAPI=8
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="JACK-Client"
-inherit distutils-r1 virtualx
-
-MY_PN="JACK-Client"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 virtualx pypi
DESCRIPTION="JACK Audio Connection Kit client for Python"
HOMEPAGE="
https://pypi.org/project/JACK-Client/
https://github.com/spatialaudio/jackclient-python
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
LICENSE="MIT"
SLOT="0"
@@ -32,8 +30,6 @@ RDEPEND="${BDEPEND}
dev-python/numpy[${PYTHON_USEDEP}]
virtual/jack"
-S="${WORKDIR}"/${MY_P}
-
# sphinx_last_updated_by_git not in the tree yet
#distutils_enable_sphinx doc dev-python/sphinx-last-updated-by-git
distutils_enable_tests pytest
diff --git a/dev-python/jellyfish/Manifest b/dev-python/jellyfish/Manifest
index fa2d2b3cc630..42c7b8c86e9d 100644
--- a/dev-python/jellyfish/Manifest
+++ b/dev-python/jellyfish/Manifest
@@ -1 +1,2 @@
+DIST jellyfish-0.10.0.tar.gz 125949 BLAKE2B 6d6d532e56d9a93d17fd999ab9811592ec070a9913a261a9a2350624ee2d8831b7587854fc3f467e03875f325a2ea1fd7d6c66b2e8295a87f43560ea3c8dad99 SHA512 e28fef7ed2c3408c40ff9b8384c8252fd48f026f5683efead50b4fcc41063c0f1d402ed399ed0b69e512a1c86633eb9c7bad44d7093e5b63ca1ed1bc1594518c
DIST jellyfish-0.9.0.tar.gz 132588 BLAKE2B e7490da91d1a53b775ef145151c6dba5b16c938f59773e205b5cf01e1a262d36bb07a49d8c5d823fa722e2d244fc8af1bf9a603911411461a97b155cfdd0ce83 SHA512 1faa3ea03ec8b26085b5db34339f0aea061d3e4897f29235eca56995bea36ae8c152ae0ab0c67279dab4844d92d89293e2de2126c1d449407652b77da258e9f0
diff --git a/dev-python/jellyfish/jellyfish-0.10.0.ebuild b/dev-python/jellyfish/jellyfish-0.10.0.ebuild
new file mode 100644
index 000000000000..f962139836dc
--- /dev/null
+++ b/dev-python/jellyfish/jellyfish-0.10.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module for doing approximate and phonetic matching of strings"
+HOMEPAGE="
+ https://github.com/jamesturk/jellyfish/
+ https://pypi.org/project/jellyfish/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~riscv ~x86"
+
+distutils_enable_tests pytest
+
+src_test() {
+ rm -r jellyfish || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ epytest --pyargs jellyfish.test
+}
diff --git a/dev-python/js2py/js2py-0.74.ebuild b/dev-python/js2py/js2py-0.74.ebuild
index 20d7786868a6..bd39c91d0b86 100644
--- a/dev-python/js2py/js2py-0.74.ebuild
+++ b/dev-python/js2py/js2py-0.74.ebuild
@@ -3,20 +3,17 @@
EAPI=8
-MY_PN=Js2Py
-MY_P=${MY_PN}-${PV}
-
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="Js2Py"
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="JavaScript to Python Translator & JavaScript interpreter in Python"
HOMEPAGE="http://piter.io/projects/js2py/
https://github.com/PiotrDabkowski/Js2Py/
https://pypi.org/project/Js2Py/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/mako/mako-1.2.4.ebuild b/dev-python/mako/mako-1.2.4.ebuild
index 16274aeda896..3bc5bb682352 100644
--- a/dev-python/mako/mako-1.2.4.ebuild
+++ b/dev-python/mako/mako-1.2.4.ebuild
@@ -4,19 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P^}
DESCRIPTION="A Python templating language"
HOMEPAGE="
https://www.makotemplates.org/
https://github.com/sqlalchemy/mako/
https://pypi.org/project/Mako/
"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${PN^}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/markupsafe/markupsafe-2.1.2.ebuild b/dev-python/markupsafe/markupsafe-2.1.2.ebuild
index 5ef03994e4cf..a0606f33c5b3 100644
--- a/dev-python/markupsafe/markupsafe-2.1.2.ebuild
+++ b/dev-python/markupsafe/markupsafe-2.1.2.ebuild
@@ -4,12 +4,11 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="MarkupSafe"
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
-
-MY_PN="MarkupSafe"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="Implements a XML/HTML/XHTML Markup safe string for Python"
HOMEPAGE="
@@ -17,8 +16,6 @@ HOMEPAGE="
https://github.com/pallets/markupsafe/
https://pypi.org/project/MarkupSafe/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/nbxmpp/Manifest b/dev-python/nbxmpp/Manifest
index 9fd9b911bdf6..c651283ffd4f 100644
--- a/dev-python/nbxmpp/Manifest
+++ b/dev-python/nbxmpp/Manifest
@@ -1,3 +1,4 @@
DIST python-nbxmpp-3.2.5.tar.bz2 132029 BLAKE2B 846f3b47c3a9a95cf1fa1b557a007fd4901fb4acaa3160ea4b9b1cdff1e9d2c3e64bc5251b739d816f3f1c449c350d1ac44c14cbef87d14fe5a6450418451007 SHA512 577f8c7b0f5a7c69b4d980bff93f0a208ab0a660d731eb95ec63b76583194b94bd9d9f6b10fcac3951a6e6afb5d0c4da2140cbc17ef653f19ec6957b5d2e5f04
DIST python-nbxmpp-4.2.0.tar.bz2 133803 BLAKE2B db63b5ca085a90913ba6cac07c214e2528bf629bab24f7256ee751fb3ae4ddf417a9d09c509a259d468fff81feaf890b639bb9145b02c957fe777101bfbe7afb SHA512 8927b867ece2be1a2610cc5221615f026bd84b242a2d257740079f86aaa61c7f6208e90c8051f570d5539189476c68a316f840240ae0a6372311f353182b2940
DIST python-nbxmpp-4.2.1.tar.bz2 134008 BLAKE2B bfd412bcef465eb59f7f5b6311d7786f24585be80932b74b2d2e75999320c24bef7438d10cbb81cd87f00dbb6733859e19c2c8b032374c3ff0c75d678f5a1439 SHA512 3ff7b29e374057c646b153a1bb987b5df830a3392988b97c2b27466054d50d09109893399a02ef11da7f7e7a9386c987d289205f0d1bd4af56e495b19c7c3026
+DIST python-nbxmpp-4.2.2.tar.bz2 133951 BLAKE2B 4ef9d7a6b2f1a548eac3d97eee322badbce5c69114441145ee525df45c5291771de3171e6591c0962dfe077fd9bc9fc83b8caeaefaeb13e0eb65b4ebcb5d37c7 SHA512 6edf469354ad1bb1eeb2545f67b4e7cf2362becfb2cc8c2caa6f050d56c0c15ac2fd29d52095d673199da7170ccfddbf7e8d8f98c47882ab75d14d19f71a81d9
diff --git a/dev-python/nbxmpp/nbxmpp-4.2.2.ebuild b/dev-python/nbxmpp/nbxmpp-4.2.2.ebuild
new file mode 100644
index 000000000000..570d6eeeb400
--- /dev/null
+++ b/dev-python/nbxmpp/nbxmpp-4.2.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1
+
+MY_P=python-nbxmpp-${PV}
+DESCRIPTION="Python library to use Jabber/XMPP networks in a non-blocking way"
+HOMEPAGE="
+ https://dev.gajim.org/gajim/python-nbxmpp/
+ https://pypi.org/project/nbxmpp/
+"
+SRC_URI="
+ https://dev.gajim.org/gajim/python-nbxmpp/-/archive/${PV}/${MY_P}.tar.bz2
+"
+S=${WORKDIR}/${MY_P}
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-libs/gobject-introspection
+ net-libs/libsoup:3.0[introspection]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/precis-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.42[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/nototools/Manifest b/dev-python/nototools/Manifest
index 84a1cd5125b6..8a2f1f21963b 100644
--- a/dev-python/nototools/Manifest
+++ b/dev-python/nototools/Manifest
@@ -1 +1 @@
-DIST nototools-0.2.17.tar.gz 9743805 BLAKE2B ba601b4c9c4df7fc264dd88c60e50c1db08c21bc07f3ab408f91f445a801bd96ed193e5f9cb320378f6411027b1be004d718233d531bb2ec600badfaffd2d876 SHA512 a5b733c47ce61f6cb18f9772e8fee04f8ee2a3d834afa3f71a5f1c8110124224b9d325db75976104dd880b7c0538568574b2e497faa8f4d5541451e9c3e40cd3
+DIST notofonttools-0.2.17.tar.gz 9743805 BLAKE2B ba601b4c9c4df7fc264dd88c60e50c1db08c21bc07f3ab408f91f445a801bd96ed193e5f9cb320378f6411027b1be004d718233d531bb2ec600badfaffd2d876 SHA512 a5b733c47ce61f6cb18f9772e8fee04f8ee2a3d834afa3f71a5f1c8110124224b9d325db75976104dd880b7c0538568574b2e497faa8f4d5541451e9c3e40cd3
diff --git a/dev-python/nototools/nototools-0.2.17.ebuild b/dev-python/nototools/nototools-0.2.17.ebuild
index 9f6e975510e4..e00c2b51b7cc 100644
--- a/dev-python/nototools/nototools-0.2.17.ebuild
+++ b/dev-python/nototools/nototools-0.2.17.ebuild
@@ -3,16 +3,13 @@
EAPI=8
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+PYPI_PN="notofonttools"
-inherit distutils-r1
-
-MY_PN="notofonttools"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="Noto fonts support tools and scripts plus web site generation"
HOMEPAGE="https://github.com/googlefonts/nototools"
#SRC_URI="https://github.com/googlefonts/nototools/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0 OFL-1.1"
SLOT="0"
@@ -27,8 +24,6 @@ RDEPEND="
>=dev-python/pyclipper-1.2.1[${PYTHON_USEDEP}]
"
-S="${WORKDIR}/${MY_P}"
-
# Some tests weren't ported to python3 yet and lots of failures
RESTRICT="test"
diff --git a/dev-python/paste/paste-3.5.2.ebuild b/dev-python/paste/paste-3.5.2.ebuild
index ebaa066019c1..9ac6a1dce7c8 100644
--- a/dev-python/paste/paste-3.5.2.ebuild
+++ b/dev-python/paste/paste-3.5.2.ebuild
@@ -4,19 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P="Paste-${PV}"
DESCRIPTION="Tools for using a Web Server Gateway Interface stack"
HOMEPAGE="
https://pythonpaste.readthedocs.io/en/latest/
https://github.com/cdent/paste/
https://pypi.org/project/Paste/
"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN^}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/pebble/pebble-5.0.3.ebuild b/dev-python/pebble/pebble-5.0.3.ebuild
index 5515da80d498..75d5607b6326 100644
--- a/dev-python/pebble/pebble-5.0.3.ebuild
+++ b/dev-python/pebble/pebble-5.0.3.ebuild
@@ -4,19 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P^}
DESCRIPTION="Threading and multiprocessing eye-candy"
HOMEPAGE="
https://pebble.readthedocs.io/
https://github.com/noxdafox/pebble/
https://pypi.org/project/Pebble/
"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN^}/${MY_P}.tar.gz"
-S=${WORKDIR}/${P^}
LICENSE="LGPL-3+"
SLOT="0"
diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest
index 41f40b84aa30..5b8f6ccc5e70 100644
--- a/dev-python/pikepdf/Manifest
+++ b/dev-python/pikepdf/Manifest
@@ -1 +1,2 @@
DIST pikepdf-7.1.1.tar.gz 2911088 BLAKE2B 0c65830ce4ec8f36814dd2a523dcc753380df7b6e4ce176b0e61e1e7f5f8bbfa01c9ef1ab093cbfeaf7dd1c67ada4e7dca53cf6da8b04cbceca825276179627b SHA512 e59bf20008df058aa2bbccedf71294ffc39a7aa774eeebcc33214ec7864be461959317bbd92f3df415690bb4ef3bbb63f9c05c613bcb9023b680637c07f3bd75
+DIST pikepdf-7.1.2.tar.gz 2911232 BLAKE2B 14b6b90617b7bd30f6a595337751f586cbe7d94e46fb4adbc233d542b6b96853b4cd0fb815e956a9865c97f14800065c9793c340f9de814a23f7a4c90903012f SHA512 2e8b75627d296689b044bec1a33740e8a3de5fbb8fdfe3aa64e4ddd2a8c2f3f327c9b553e41364d2bfc5d821ff2a84f79fed917626930a543edf94286b85bcab
diff --git a/dev-python/pikepdf/pikepdf-7.1.2.ebuild b/dev-python/pikepdf/pikepdf-7.1.2.ebuild
new file mode 100644
index 000000000000..158f4464edcd
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-7.1.2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to work with pdf files based on qpdf"
+HOMEPAGE="
+ https://github.com/pikepdf/pikepdf/
+ https://pypi.org/project/pikepdf/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+DEPEND="
+ >=app-text/qpdf-11.1.1:0=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/deprecation[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pillow-9.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
+ >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{8..10})
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fragile to system load
+ tests/test_image_access.py::test_random_image
+)
+
+src_prepare() {
+ sed -e '/-n auto/d' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/platformdirs/Manifest b/dev-python/platformdirs/Manifest
index 461a808cb35f..ce351d78b048 100644
--- a/dev-python/platformdirs/Manifest
+++ b/dev-python/platformdirs/Manifest
@@ -1 +1,2 @@
DIST platformdirs-3.1.1.tar.gz 14712 BLAKE2B ddb070cc3c572b03eaa356599d2a0e408f7f0a650378e60b4a7b4fcd740fb9117c73491451588b26d42a4db9b971dbc690f9ddae34ec03e42248120ff5e4e64e SHA512 537557370a05f78279c88cdda4b5abfbe1d2e6d91d69c4dd4049c6b1a8ac3e44a830d787e2b86af85c346e0244a6ba26233db061d7c8d0a3fbd141962609930d
+DIST platformdirs-3.2.0.tar.gz 15017 BLAKE2B ce9f180965e0736ae83170b3a055dbb58e2ce59b84a414cd212f0f2f27a6a0a194636d315a30e344046ee1da85f2de3d2e7c58c02a329c4a36129fa617d8feb6 SHA512 2e4613f563b7014b526e1f81f561726a0060983b0e998ce46d070b2f4f4ec26ad46d6a3cd242fb14a420e6439207b9c9eeb31daac7ec65005abc3a74131e5cf8
diff --git a/dev-python/platformdirs/platformdirs-3.2.0.ebuild b/dev-python/platformdirs/platformdirs-3.2.0.ebuild
new file mode 100644
index 000000000000..2c65d0f2dfcc
--- /dev/null
+++ b/dev-python/platformdirs/platformdirs-3.2.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
+HOMEPAGE="
+ https://pypi.org/project/platformdirs/
+ https://github.com/platformdirs/platformdirs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ test? (
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "hatchling' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "${PN}"
+ version = "${PV}"
+ description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".'
+ EOF
+ # sigh
+ cat > src/platformdirs/version.py <<-EOF || die
+ __version__ = version = '${PV}'
+ __version_tuple__ = version_tuple = (${PV//./, })
+ EOF
+}
diff --git a/dev-python/pmw/pmw-2.0.1-r3.ebuild b/dev-python/pmw/pmw-2.0.1-r3.ebuild
index c98251549364..00a83c5ac8f2 100644
--- a/dev-python/pmw/pmw-2.0.1-r3.ebuild
+++ b/dev-python/pmw/pmw-2.0.1-r3.ebuild
@@ -4,18 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
PYTHON_REQ_USE="tk"
-inherit distutils-r1 virtualx
-
-MY_PN="Pmw"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 virtualx pypi
DESCRIPTION="Toolkit for building high-level compound Python widgets using the Tkinter module"
HOMEPAGE="http://pmw.sourceforge.net/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="py3"
diff --git a/dev-python/pretty-yaml/pretty-yaml-21.10.1.ebuild b/dev-python/pretty-yaml/pretty-yaml-21.10.1.ebuild
index 918b319e69ac..b5bbe2e191b1 100644
--- a/dev-python/pretty-yaml/pretty-yaml-21.10.1.ebuild
+++ b/dev-python/pretty-yaml/pretty-yaml-21.10.1.ebuild
@@ -4,13 +4,12 @@
EAPI=8
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
+PYPI_PN="pyaml"
+
+inherit distutils-r1 pypi
-MY_P=pyaml-${PV}
DESCRIPTION="PyYAML-based module to produce pretty and readable YAML-serialized data"
HOMEPAGE="https://github.com/mk-fg/pretty-yaml"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_P%-*}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="WTFPL-2"
SLOT="0"
diff --git a/dev-python/psycopg/psycopg-2.9.4.ebuild b/dev-python/psycopg/psycopg-2.9.4.ebuild
index 819ec22246e7..ec9b3889ae50 100644
--- a/dev-python/psycopg/psycopg-2.9.4.ebuild
+++ b/dev-python/psycopg/psycopg-2.9.4.ebuild
@@ -5,15 +5,12 @@ EAPI=8
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+PYPI_PN="psycopg2"
-MY_PN="${PN}2"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="PostgreSQL database adapter for Python"
HOMEPAGE="https://www.psycopg.org https://pypi.org/project/psycopg2/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-3+"
SLOT="2"
diff --git a/dev-python/puremagic/Manifest b/dev-python/puremagic/Manifest
index ada560b5e1c6..2c3d8b8d2363 100644
--- a/dev-python/puremagic/Manifest
+++ b/dev-python/puremagic/Manifest
@@ -1,2 +1 @@
-DIST puremagic-1.14.gh.tar.gz 295823 BLAKE2B b505f34d6744a0c9aa3a0c43846c150c9e1101884a825507b0941da84b181c1ed620dcf5457a5e60ec1fa5c93203d755297c4e3b37d311537dc6a248daf3031e SHA512 00d008f70849179a67a1794740cb34bd28386036e54a9c3f54aefb24c7fb6adccb624e0546ca86863e913c7178b6590473c3ce4fda906e9fd9306be483de28ec
DIST puremagic-1.15.gh.tar.gz 295922 BLAKE2B b78a691fe5843eec7be4874c11492565ce474a741bd80cb5787bbfacd4522363acf880071d4e9b3beab14287890e851da1e92eeea2aacce1161729287b99ce9e SHA512 46d8ad7e2aa309558e37589b8a9508ef4156a5d6768b738df5f8539cb9edc12d83ac46a2fd46ef48d9323c73dfeff0e6f5eee8046bdd910f6ea14bb5402e477e
diff --git a/dev-python/puremagic/puremagic-1.14.ebuild b/dev-python/puremagic/puremagic-1.14.ebuild
deleted file mode 100644
index 8fafed6765bd..000000000000
--- a/dev-python/puremagic/puremagic-1.14.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure python implementation of magic file detection"
-HOMEPAGE="
- https://github.com/cdgriffith/puremagic/
- https://pypi.org/project/puremagic/
-"
-SRC_URI="
- https://github.com/cdgriffith/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-DOCS=( CHANGELOG.md README.rst )
-
-distutils_enable_tests pytest
diff --git a/dev-python/puremagic/puremagic-1.15.ebuild b/dev-python/puremagic/puremagic-1.15.ebuild
index 8aafa12282e9..8fafed6765bd 100644
--- a/dev-python/puremagic/puremagic-1.15.ebuild
+++ b/dev-python/puremagic/puremagic-1.15.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
DOCS=( CHANGELOG.md README.rst )
diff --git a/dev-python/py-amqp/py-amqp-5.1.1-r1.ebuild b/dev-python/py-amqp/py-amqp-5.1.1-r1.ebuild
index 967b31a08fdf..6c105b28b21d 100644
--- a/dev-python/py-amqp/py-amqp-5.1.1-r1.ebuild
+++ b/dev-python/py-amqp/py-amqp-5.1.1-r1.ebuild
@@ -4,15 +4,13 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_PN="amqp"
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P="amqp-${PV}"
DESCRIPTION="Low-level AMQP client for Python (fork of amqplib)"
HOMEPAGE="https://github.com/celery/py-amqp https://pypi.org/project/amqp/"
-SRC_URI="mirror://pypi/${MY_P:0:1}/amqp/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/pyaudio/pyaudio-0.2.13.ebuild b/dev-python/pyaudio/pyaudio-0.2.13.ebuild
index fd96cadffe26..8253e3eb0e86 100644
--- a/dev-python/pyaudio/pyaudio-0.2.13.ebuild
+++ b/dev-python/pyaudio/pyaudio-0.2.13.ebuild
@@ -4,14 +4,12 @@
EAPI=8
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
-
-MY_PN="PyAudio"
+PYPI_NO_NORMALIZE=1
+PYPI_PN="PyAudio"
+inherit distutils-r1 pypi
DESCRIPTION="Python bindings for PortAudio"
HOMEPAGE="http://people.csail.mit.edu/hubert/pyaudio/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/pycparser/pycparser-2.21-r1.ebuild b/dev-python/pycparser/pycparser-2.21-r1.ebuild
deleted file mode 100644
index 594a37e1653b..000000000000
--- a/dev-python/pycparser/pycparser-2.21-r1.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="C parser and AST generator written in Python"
-HOMEPAGE="
- https://github.com/eliben/pycparser/
- https://pypi.org/project/pycparser/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- dev-python/ply:=[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
-"
-
-distutils_enable_tests unittest
-
-python_prepare_all() {
- local PATCHES=(
- # https://github.com/eliben/pycparser/pull/494
- "${FILESDIR}"/${P}-lextab-cache.patch
- )
-
- # remove the original files to guarantee their regen
- rm pycparser/{c_ast,lextab,yacctab}.py || die
-
- # kill sys.path manipulations to force the tests to use built files
- sed -i -e '/sys\.path/d' tests/*.py || die
-
- # Ensure we can find tests in our directory
- sed -i -e 's/from tests.test_util/from test_util/g' tests/test_*.py || die
-
- ln -s "${S}"/examples tests/examples || die
-
- rm tests/test_examples.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- # Skip tests if cpp is not in PATH
- type -P cpp >/dev/null || return 0
- # change workdir to avoid '.' import
- cd tests || die
-
- # Ensure that 'cpp' is called with the right arguments
- # Tests don't seem to always pass the include they intend to use.
- mkdir -p "${T}"/bin || die
- cat > "${T}"/bin/cpp <<-EOF || die
- #!${BROOT}/bin/bash
- exec ${BROOT}/usr/bin/cpp -I${S}/utils/fake_libc_include/ \$@
- EOF
- chmod +x "${T}"/bin/cpp || die
-
- PATH="${T}/bin:${PATH}" eunittest
-}
diff --git a/dev-python/pycparser/pycparser-2.21-r2.ebuild b/dev-python/pycparser/pycparser-2.21-r2.ebuild
index 5ca3bc4e5775..a17b1aa98613 100644
--- a/dev-python/pycparser/pycparser-2.21-r2.ebuild
+++ b/dev-python/pycparser/pycparser-2.21-r2.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
RDEPEND="
dev-python/ply:=[${PYTHON_USEDEP}]
diff --git a/dev-python/pygments/pygments-2.14.0.ebuild b/dev-python/pygments/pygments-2.14.0.ebuild
index 2feda7d1eeb6..fc925de807ba 100644
--- a/dev-python/pygments/pygments-2.14.0.ebuild
+++ b/dev-python/pygments/pygments-2.14.0.ebuild
@@ -4,19 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1 bash-completion-r1
+inherit distutils-r1 bash-completion-r1 pypi
-MY_P=${P^}
DESCRIPTION="Pygments is a syntax highlighting package written in Python"
HOMEPAGE="
https://pygments.org/
https://github.com/pygments/pygments/
https://pypi.org/project/Pygments/
"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${PN^}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="BSD-2"
SLOT="0"
diff --git a/dev-python/pygresql/pygresql-5.2.4.ebuild b/dev-python/pygresql/pygresql-5.2.4.ebuild
index 0588f1fcd037..cae245866c65 100644
--- a/dev-python/pygresql/pygresql-5.2.4.ebuild
+++ b/dev-python/pygresql/pygresql-5.2.4.ebuild
@@ -4,17 +4,15 @@
EAPI=7
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="PyGreSQL"
POSTGRES_COMPAT=( 9.6 {10..14} )
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1 postgres
-
-MY_P="PyGreSQL-${PV}"
+inherit distutils-r1 postgres pypi
DESCRIPTION="A Python interface for the PostgreSQL database"
HOMEPAGE="http://www.pygresql.org/"
-SRC_URI="mirror://pypi/P/PyGreSQL/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="POSTGRESQL"
SLOT="0"
diff --git a/dev-python/pyjwt/pyjwt-2.6.0.ebuild b/dev-python/pyjwt/pyjwt-2.6.0.ebuild
index 3a016ac9e06b..4f8a13bd08b7 100644
--- a/dev-python/pyjwt/pyjwt-2.6.0.ebuild
+++ b/dev-python/pyjwt/pyjwt-2.6.0.ebuild
@@ -4,18 +4,17 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="PyJWT"
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1 optfeature
+inherit distutils-r1 optfeature pypi
-MY_PN="PyJWT"
DESCRIPTION="JSON Web Token implementation in Python"
HOMEPAGE="
https://github.com/jpadilla/pyjwt/
https://pypi.org/project/PyJWT/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S=${WORKDIR}/${MY_PN}-${PV}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/pyopenssl/pyopenssl-23.0.0.ebuild b/dev-python/pyopenssl/pyopenssl-23.0.0.ebuild
index 23cfb3e07e25..ff432f96e186 100644
--- a/dev-python/pyopenssl/pyopenssl-23.0.0.ebuild
+++ b/dev-python/pyopenssl/pyopenssl-23.0.0.ebuild
@@ -4,13 +4,12 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="pyOpenSSL"
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
PYTHON_REQ_USE="threads(+)"
-inherit distutils-r1 toolchain-funcs
-
-MY_PN=pyOpenSSL
-MY_P=${MY_PN}-${PV}
+inherit distutils-r1 toolchain-funcs pypi
DESCRIPTION="Python interface to the OpenSSL library"
HOMEPAGE="
@@ -18,8 +17,6 @@ HOMEPAGE="
https://github.com/pyca/pyopenssl/
https://pypi.org/project/pyOpenSSL/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/pysvg/pysvg-0.2.2_p3-r1.ebuild b/dev-python/pysvg/pysvg-0.2.2_p3-r1.ebuild
index c7b114b60839..00713f304d3c 100644
--- a/dev-python/pysvg/pysvg-0.2.2_p3-r1.ebuild
+++ b/dev-python/pysvg/pysvg-0.2.2_p3-r1.ebuild
@@ -4,17 +4,14 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="pysvg-py3"
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
-
-MY_PN="${PN}-py3"
-MY_PV="${PV/_p/.post}"
+inherit distutils-r1 pypi
DESCRIPTION="Python SVG document creation library"
HOMEPAGE="https://github.com/alorence/pysvg-py3"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${MY_PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${MY_PV}"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/pytables/pytables-3.8.0-r1.ebuild b/dev-python/pytables/pytables-3.8.0-r1.ebuild
index 5330d3194b28..e0860c6c65ba 100644
--- a/dev-python/pytables/pytables-3.8.0-r1.ebuild
+++ b/dev-python/pytables/pytables-3.8.0-r1.ebuild
@@ -4,12 +4,10 @@
EAPI=8
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+PYPI_PN="tables"
PYTHON_REQ_USE="threads(+)"
-inherit distutils-r1 prefix
-
-MY_PN=tables
-MY_P=${MY_PN}-${PV}
+inherit distutils-r1 prefix pypi
DESCRIPTION="Hierarchical datasets for Python"
HOMEPAGE="
@@ -17,8 +15,6 @@ HOMEPAGE="
https://github.com/PyTables/PyTables/
https://pypi.org/project/tables/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/python-netlink/Manifest b/dev-python/python-netlink/Manifest
index 7dcc123b3c55..7c709d85bfe2 100644
--- a/dev-python/python-netlink/Manifest
+++ b/dev-python/python-netlink/Manifest
@@ -1 +1 @@
-DIST python-netlink-0.1.tar.gz 21664 BLAKE2B 09a920256adeebee6762fc8ee7dcdabb38fe7e603d196b8b0cb8210023ee297eec26ed94b5171db2b180b7496c4c8f98aaaf7e3ad55c965051aa73f8709fe0c6 SHA512 ae4a55f7a12b4eab48d4696e41a90a47b4f3a298bee953d5234b47b4889fee61190a6cf30f4ed529f378f05231584116fbd85ebc0aeaf1e14307316edf16043a
+DIST NetLink-0.1.tar.gz 21664 BLAKE2B 09a920256adeebee6762fc8ee7dcdabb38fe7e603d196b8b0cb8210023ee297eec26ed94b5171db2b180b7496c4c8f98aaaf7e3ad55c965051aa73f8709fe0c6 SHA512 ae4a55f7a12b4eab48d4696e41a90a47b4f3a298bee953d5234b47b4889fee61190a6cf30f4ed529f378f05231584116fbd85ebc0aeaf1e14307316edf16043a
diff --git a/dev-python/python-netlink/python-netlink-0.1.ebuild b/dev-python/python-netlink/python-netlink-0.1.ebuild
index 5b155eb6eadf..72ccf5963de2 100644
--- a/dev-python/python-netlink/python-netlink-0.1.ebuild
+++ b/dev-python/python-netlink/python-netlink-0.1.ebuild
@@ -4,14 +4,13 @@
EAPI=8
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
+PYPI_NO_NORMALIZE=1
+PYPI_PN="NetLink"
-MY_P="NetLink-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="Pure-Python client for the Linux NetLink interface"
HOMEPAGE="https://pypi.org/project/NetLink/"
-SRC_URI="mirror://pypi/${MY_P:0:1}/NetLink/${MY_P}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-3+"
SLOT="0"
diff --git a/dev-python/pytrie/Manifest b/dev-python/pytrie/Manifest
index c59a83811750..693b96c68c71 100644
--- a/dev-python/pytrie/Manifest
+++ b/dev-python/pytrie/Manifest
@@ -1 +1 @@
-DIST pytrie-0.4.0.tar.gz 95139 BLAKE2B de57b4c36429c3e2d9ec7cb89e6515fd0a131e890bbfec17797a9a03b932ca2370cf283c67b4a99bb742b275c6f005789af410b875e857d30e6ba9e959403899 SHA512 c951568774c1e35d2b2bd5a52e5368da5ef2ffc83476d60882aa842debcd53c5eb0ed19f497a09f78c6a736ffba57702eda3aa0f3afa74dd0d1e770c17885c74
+DIST PyTrie-0.4.0.tar.gz 95139 BLAKE2B de57b4c36429c3e2d9ec7cb89e6515fd0a131e890bbfec17797a9a03b932ca2370cf283c67b4a99bb742b275c6f005789af410b875e857d30e6ba9e959403899 SHA512 c951568774c1e35d2b2bd5a52e5368da5ef2ffc83476d60882aa842debcd53c5eb0ed19f497a09f78c6a736ffba57702eda3aa0f3afa74dd0d1e770c17885c74
diff --git a/dev-python/pytrie/pytrie-0.4.0-r1.ebuild b/dev-python/pytrie/pytrie-0.4.0-r1.ebuild
index 15301533548c..1791616c001b 100644
--- a/dev-python/pytrie/pytrie-0.4.0-r1.ebuild
+++ b/dev-python/pytrie/pytrie-0.4.0-r1.ebuild
@@ -4,19 +4,17 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="PyTrie"
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_PN="PyTrie"
-MY_P="${MY_PN}-${PV}"
DESCRIPTION="A pure Python implementation of the trie data structure"
HOMEPAGE="
https://github.com/gsakkis/pytrie/
https://pypi.org/project/PyTrie/
"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/pytz/Manifest b/dev-python/pytz/Manifest
index 65018aca8db1..c431eda03409 100644
--- a/dev-python/pytz/Manifest
+++ b/dev-python/pytz/Manifest
@@ -1 +1,2 @@
DIST pytz-2022.7.1.tar.gz 313522 BLAKE2B f0e787438f56bb33e0681f28392ddcb8dde41e51437caf34de8c9891af468a1b60f845d393d300c408af598aa93463f2a66848a8d20754bd7980d44cac0f4216 SHA512 c70b9ef9c6e6a7dd50fc80a58bf068af33dbcdc83c3f2f44b0726e696927e17d843f2f0438392b6f34738a63aa51c5025e6aa4bcbb9e43400b9d68334ff05c18
+DIST pytz-2023.2.tar.gz 316321 BLAKE2B 62f1896100f78d30953e40239b43cd9a53f365506bd56d0ed2ca21a31f1d5510e492e8751acfc44cb0a41e0db9125b454b9512f2b39be5fadfd366683738b893 SHA512 f0b7884bdad4ac367e1a812ff0402ad343592b062d6067d41133802972faf290a602e037686b28fc62574da49c4365b8a9213b3b02ad251835ceca692809355d
diff --git a/dev-python/pytz/files/pytz-2023.2-system-tzinfo.patch b/dev-python/pytz/files/pytz-2023.2-system-tzinfo.patch
new file mode 100644
index 000000000000..1e64f1bd2fa4
--- /dev/null
+++ b/dev-python/pytz/files/pytz-2023.2-system-tzinfo.patch
@@ -0,0 +1,51 @@
+Inspired by the Fedora patch:
+https://src.fedoraproject.org/rpms/pytz/blob/rawhide/f/pytz-zoneinfo.patch
+
+_allzones() is based on code in gen_tzinfo.py in upstream repo.
+
+diff --git a/pytz/__init__.py b/pytz/__init__.py
+index f89d0eb..d00f3bb 100644
+--- a/pytz/__init__.py
++++ b/pytz/__init__.py
+@@ -75,6 +75,20 @@ else: # Python 2.x
+ return s.encode('ASCII')
+
+
++def _allzones():
++ for dirpath, dirnames, filenames in os.walk(_PYTZ_TZDATADIR):
++ for f in filenames:
++ p = os.path.join(dirpath, f)
++ if open(p, 'rb').read(4) == b'TZif':
++ yield os.path.relpath(p, _PYTZ_TZDATADIR)
++
++
++_PYTZ_TZDATADIR = os.environ.get('PYTZ_TZDATADIR', '/usr/share/zoneinfo')
++_all_timezones_unchecked = LazyList(x for x in _allzones())
++all_timezones = _all_timezones_unchecked
++all_timezones_set = LazySet(all_timezones)
++
++
+ def open_resource(name):
+ """Open a resource from the zoneinfo subdir for reading.
+
+@@ -88,7 +102,7 @@ def open_resource(name):
+ for part in name_parts:
+ if part == os.path.pardir or os.sep in part:
+ raise ValueError('Bad path segment: %r' % part)
+- zoneinfo_dir = os.environ.get('PYTZ_TZDATADIR', None)
++ zoneinfo_dir = _PYTZ_TZDATADIR
+ if zoneinfo_dir is not None:
+ filename = os.path.join(zoneinfo_dir, *name_parts)
+ else:
+diff --git a/setup.py b/setup.py
+index 24f7f37..b03592c 100644
+--- a/setup.py
++++ b/setup.py
+@@ -21,7 +21,6 @@ for dirpath, dirnames, filenames in os.walk(os.path.join('pytz', 'zoneinfo')):
+ resources.extend([os.path.join(basepath, filename) for filename in filenames])
+ package_data = {'pytz': resources}
+
+-assert len(resources) > 10, 'zoneinfo files not found!'
+
+ setup(
+ name='pytz',
diff --git a/dev-python/pytz/metadata.xml b/dev-python/pytz/metadata.xml
index 498517334ecc..9e3056bb74ae 100644
--- a/dev-python/pytz/metadata.xml
+++ b/dev-python/pytz/metadata.xml
@@ -13,9 +13,7 @@
Library Reference (datetime.tzinfo).
Amost all (over 540) of the Olson timezones are supported.
</longdescription>
- <upstream>
- <remote-id type="launchpad">pytz</remote-id>
- </upstream>
+
<origin>gentoo-staging</origin>
<stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pytz/pytz-2023.2-r1.ebuild b/dev-python/pytz/pytz-2023.2-r1.ebuild
new file mode 100644
index 000000000000..2f4a0773264a
--- /dev/null
+++ b/dev-python/pytz/pytz-2023.2-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="World timezone definitions for Python"
+HOMEPAGE="
+ https://pythonhosted.org/pytz/
+ https://github.com/stub42/pytz/
+ https://pypi.org/project/pytz/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ || (
+ >=sys-libs/timezone-data-2023b
+ sys-libs/glibc[vanilla]
+ )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unbundle timezone-data
+ rm -r pytz/zoneinfo || die
+ # remove hardcoded list of all timezones but leave subjective set
+ # of "common timezones"
+ sed -i -e '/^_all_timezones_unchecked/,/^all_timezones_set/d' pytz/__init__.py || die
+ eapply "${FILESDIR}"/pytz-2023.2-system-tzinfo.patch
+}
+
+python_test() {
+ "${EPYTHON}" pytz/tests/test_tzinfo.py -v ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pytz/pytz-2023.2.ebuild b/dev-python/pytz/pytz-2023.2.ebuild
new file mode 100644
index 000000000000..e6f20f00a847
--- /dev/null
+++ b/dev-python/pytz/pytz-2023.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="World timezone definitions for Python"
+HOMEPAGE="
+ https://pythonhosted.org/pytz/
+ https://launchpad.net/pytz/
+ https://pypi.org/project/pytz/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+DEPEND="
+ || (
+ >=sys-libs/timezone-data-2017a
+ sys-libs/glibc[vanilla]
+ )
+"
+RDEPEND="${DEPEND}"
+
+python_test() {
+ "${EPYTHON}" pytz/tests/test_tzinfo.py -v ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pywavelets/pywavelets-1.4.1.ebuild b/dev-python/pywavelets/pywavelets-1.4.1.ebuild
index b1e1564c9987..efaaf567231f 100644
--- a/dev-python/pywavelets/pywavelets-1.4.1.ebuild
+++ b/dev-python/pywavelets/pywavelets-1.4.1.ebuild
@@ -4,18 +4,16 @@
EAPI=8
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
+PYPI_NO_NORMALIZE=1
+PYPI_PN="PyWavelets"
-MY_PN="${PN/pyw/PyW}"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="Discrete Wavelet Transforms in Python"
HOMEPAGE="
https://pywavelets.readthedocs.io/en/latest/
https://github.com/PyWavelets/pywt/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/qdarkstyle/qdarkstyle-3.1.ebuild b/dev-python/qdarkstyle/qdarkstyle-3.1.ebuild
index f3eb7700c08d..d24039b59257 100644
--- a/dev-python/qdarkstyle/qdarkstyle-3.1.ebuild
+++ b/dev-python/qdarkstyle/qdarkstyle-3.1.ebuild
@@ -5,14 +5,13 @@ EAPI=8
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 optfeature
+PYPI_NO_NORMALIZE=1
+PYPI_PN="QDarkStyle"
-MY_PN="QDarkStyle"
+inherit distutils-r1 optfeature pypi
DESCRIPTION="A dark style sheet for QtWidgets application"
HOMEPAGE="https://github.com/ColinDuquesnoy/QDarkStyleSheet"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/secretstorage/secretstorage-3.3.3.ebuild b/dev-python/secretstorage/secretstorage-3.3.3.ebuild
index 961023addd9e..a017a4e0ca26 100644
--- a/dev-python/secretstorage/secretstorage-3.3.3.ebuild
+++ b/dev-python/secretstorage/secretstorage-3.3.3.ebuild
@@ -4,19 +4,17 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="SecretStorage"
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
-
-MY_PN="SecretStorage"
+inherit distutils-r1 pypi
DESCRIPTION="Python bindings to FreeDesktop.org Secret Service API"
HOMEPAGE="
https://github.com/mitya57/secretstorage/
https://pypi.org/project/SecretStorage/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/socketio-client-nexus/Manifest b/dev-python/socketio-client-nexus/Manifest
index 78c11c378ae5..b4b403ef1fa5 100644
--- a/dev-python/socketio-client-nexus/Manifest
+++ b/dev-python/socketio-client-nexus/Manifest
@@ -1 +1 @@
-DIST socketio-client-nexus-0.7.6.tar.gz 20128 BLAKE2B 84b032fda25a7aec40a4223f18d446da563a4c46054e79bfd38d1871233c88a66cb0213e3e825e5c91f6f587e671f5cfed75465c6f6895a84e1f2409facd330c SHA512 5c0301118beba684e1220c8984052e619d29037ec2c819eec13ac2ec4120025c85fb5b410285ee8466a105330f4a47b87f80116d7ff292c6b3e47a19eaa46702
+DIST socketIO-client-nexus-0.7.6.tar.gz 20128 BLAKE2B 84b032fda25a7aec40a4223f18d446da563a4c46054e79bfd38d1871233c88a66cb0213e3e825e5c91f6f587e671f5cfed75465c6f6895a84e1f2409facd330c SHA512 5c0301118beba684e1220c8984052e619d29037ec2c819eec13ac2ec4120025c85fb5b410285ee8466a105330f4a47b87f80116d7ff292c6b3e47a19eaa46702
diff --git a/dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild b/dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild
index 01741a3e5993..3779df10f842 100644
--- a/dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild
+++ b/dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild
@@ -4,13 +4,13 @@
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
+PYPI_NO_NORMALIZE=1
+PYPI_PN="socketIO-client-nexus"
+
+inherit distutils-r1 pypi
-MY_PN="socketIO-client-nexus"
DESCRIPTION="A socket.io 2.x client library for Python"
HOMEPAGE="https://github.com/nexus-devs/socketIO-client-2.0.3/ https://pypi.org/project/socketIO-client-nexus/"
-S="${WORKDIR}/${MY_PN}-${PV}"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild b/dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild
index 59b0020f1ff7..9f437154fae8 100644
--- a/dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild
+++ b/dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild
@@ -4,17 +4,14 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="aiohttp-theme"
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
-
-MY_PN="${PN#sphinx-}"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="Sphinx theme for aiohttp"
HOMEPAGE="https://github.com/aio-libs/aiohttp-theme"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.10.1.ebuild b/dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.10.1.ebuild
index ce923819be21..503fa2f3cb2f 100644
--- a/dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.10.1.ebuild
+++ b/dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.10.1.ebuild
@@ -4,20 +4,17 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="sphinx-ansible-theme"
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
-
-MY_PN="${PN//_/-}"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="A reusable Ansible Sphinx theme"
HOMEPAGE="
https://github.com/ansible-community/sphinx_ansible_theme/
https://pypi.org/project/sphinx-ansible-theme/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/stomp-py/stomp-py-8.1.0.ebuild b/dev-python/stomp-py/stomp-py-8.1.0.ebuild
index 84f01bbb624b..5430fd5f646f 100644
--- a/dev-python/stomp-py/stomp-py-8.1.0.ebuild
+++ b/dev-python/stomp-py/stomp-py-8.1.0.ebuild
@@ -4,16 +4,14 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
-
-MY_PN="${PN//-/.}"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="Python client library for the STOMP messaging protocol"
HOMEPAGE="https://pypi.org/project/stomp.py/ https://github.com/jasonrbriggs/stomp.py/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
@@ -21,8 +19,6 @@ KEYWORDS="~amd64"
RDEPEND="<dev-python/docopt-0.7.0[${PYTHON_USEDEP}]"
-S="${WORKDIR}"/${MY_P}
-
# stomp.py test suite requires quite a few appropriately configured
# messaging servers (as of 7.0.0: RabbitMQ, ActiveMQ, ActiveMQ Artemis,
# stompserver). Upstream relies on Docker to provide those servers, however
diff --git a/dev-python/tappy/tappy-3.1-r1.ebuild b/dev-python/tappy/tappy-3.1-r1.ebuild
index 7728e799da4b..ac57fbfae19a 100644
--- a/dev-python/tappy/tappy-3.1-r1.ebuild
+++ b/dev-python/tappy/tappy-3.1-r1.ebuild
@@ -4,14 +4,13 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="tap.py"
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1 optfeature
+inherit distutils-r1 optfeature pypi
-MY_PN=tap.py
DESCRIPTION="Test Anything Protocol (TAP) tools"
HOMEPAGE="https://github.com/python-tap/tappy https://pypi.org/project/tap.py/"
-SRC_URI="mirror://pypi/${MY_PN::1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S=${WORKDIR}/${MY_PN}-${PV}
LICENSE="BSD-2"
SLOT="0"
diff --git a/dev-python/termcolor/termcolor-2.2.0.ebuild b/dev-python/termcolor/termcolor-2.2.0.ebuild
index d3c77c5801e6..1806b6459501 100644
--- a/dev-python/termcolor/termcolor-2.2.0.ebuild
+++ b/dev-python/termcolor/termcolor-2.2.0.ebuild
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="ANSI Color formatting for output in terminal"
HOMEPAGE="
@@ -14,7 +14,7 @@ HOMEPAGE="
https://pypi.org/project/termcolor/
"
# rename is for avoiding conflict with dev-cpp/termcolor
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz -> python-${P}.tar.gz"
+SRC_URI="$(pypi_sdist_url) -> python-${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index f667fecbf393..a1885558c011 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -2,3 +2,4 @@ DIST trimesh-3.19.4.gh.tar.gz 12673418 BLAKE2B c54e0e1a946b858371d5de2f028bbc64a
DIST trimesh-3.20.2.gh.tar.gz 12683352 BLAKE2B 3ed73e426fd72723d19b668aae790f44ad46b310b6ddbbedf1e87aa56880037fa09b43921131ce2a5bff02022e6630222c63fb205a4345e81959e14b0013c3fa SHA512 fb6ca184b9d62e7820f1b92c8ce67a02eed6355c49dbb209b328e149ab6e600c306a10bcbae3bceaaec0244874eebc8bdf06709310f8458e9f72ee9ad213ad65
DIST trimesh-3.21.0.gh.tar.gz 12688064 BLAKE2B 5ac8c4cd3f087b63ad6e224a693380a7f5cad5d1e09e2d21d91410f462d51833baf09ac7015c52fa85e475832122c0aa61e8bfa340d42fb08c9e9fb0e5d8dbdb SHA512 1805213b8fe19fa5716ad8da1c23d7e23d06e96de13a18f59907a62fdf5b67ad9fb7842a7f19b4a315444261f210bbb312f6b0bbf728ee015f9d489e2dce4f0a
DIST trimesh-3.21.1.gh.tar.gz 12689151 BLAKE2B e0d04a6003656f096404ec8972907381f5950f7a6ac3864963fc9a52dc015ad42d39e88ced8d125f725333ddde722358ebac9f263fda0cd21d663af42318bd50 SHA512 08716a310db8cae86a725072a6626b3703ffac3532182ce22389cf85fcdf5853ad8f17cfd8c34afde0e6dc0f2125d910d130810c3cce8e8dcb1605737074a3e0
+DIST trimesh-3.21.2.gh.tar.gz 12691646 BLAKE2B 0ec2c1e9afb607984b92d339fa07dd8b92bf0ac50c56704c98ce3f6c35449794b595640d68c67dc2ce59f236545f5df72238aef21103fbc1f432bbe285332a46 SHA512 e9e692c6dd20c787c9262e148aaaffb81c8ef3decbeb16e3c008a585701e9e71c73487e8226b159e86d550019f297bb2163b3be3006dd08c2df932d3dcd0b403
diff --git a/dev-python/trimesh/trimesh-3.21.2.ebuild b/dev-python/trimesh/trimesh-3.21.2.ebuild
new file mode 100644
index 000000000000..50458139f318
--- /dev/null
+++ b/dev-python/trimesh/trimesh-3.21.2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1 multiprocessing optfeature
+
+DESCRIPTION="Python library for loading and using triangular meshes"
+HOMEPAGE="
+ https://trimsh.org/
+ https://github.com/mikedh/trimesh/
+ https://pypi.org/project/trimesh/
+"
+SRC_URI="
+ https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pycollada[${PYTHON_USEDEP}]
+ dev-python/pyglet[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
+ dev-python/svg-path[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ sci-libs/rtree[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/mapbox_earcut[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -n "$(makeopts_jobs)"
+}
+
+pkg_postinst() {
+ optfeature_header "${PN} functionality can be extended by installing the following packages:"
+ optfeature "making GUI applications with 3D stuff" dev-python/glooey
+ optfeature "2D triangulations of polygons" dev-python/mapbox_earcut
+ optfeature "loading a number of additional mesh formats" dev-python/meshio
+ optfeature "figuring out how much memory we have" dev-python/psutil
+ optfeature "marching cubes and other nice stuff" sci-libs/scikit-image
+}
diff --git a/dev-python/unidecode/unidecode-1.3.6.ebuild b/dev-python/unidecode/unidecode-1.3.6.ebuild
index 987a69b05fd2..7aa5fd22133e 100644
--- a/dev-python/unidecode/unidecode-1.3.6.ebuild
+++ b/dev-python/unidecode/unidecode-1.3.6.ebuild
@@ -4,15 +4,14 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=Unidecode-${PV}
DESCRIPTION="Module providing ASCII transliterations of Unicode text"
HOMEPAGE="https://pypi.org/project/Unidecode/"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${PN^}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2+"
SLOT="0"
diff --git a/dev-python/wand/wand-0.6.11.ebuild b/dev-python/wand/wand-0.6.11.ebuild
index aba061c926f8..6932b234a960 100644
--- a/dev-python/wand/wand-0.6.11.ebuild
+++ b/dev-python/wand/wand-0.6.11.ebuild
@@ -4,19 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P^}
DESCRIPTION="Ctypes-based simple ImageMagick binding for Python"
HOMEPAGE="
https://docs.wand-py.org/
https://github.com/emcconville/wand/
https://pypi.org/project/Wand/
"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN^}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/webob/webob-1.8.7-r1.ebuild b/dev-python/webob/webob-1.8.7-r1.ebuild
index 00e702e883e9..d39cd133841c 100644
--- a/dev-python/webob/webob-1.8.7-r1.ebuild
+++ b/dev-python/webob/webob-1.8.7-r1.ebuild
@@ -4,12 +4,11 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="WebOb"
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
-
-MY_PN=WebOb
-MY_P=${MY_PN}-${PV}
+inherit distutils-r1 pypi
DESCRIPTION="WSGI request and response object"
HOMEPAGE="
@@ -17,8 +16,6 @@ HOMEPAGE="
https://github.com/Pylons/webob/
https://pypi.org/project/WebOb/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/webtest/webtest-3.0.0-r1.ebuild b/dev-python/webtest/webtest-3.0.0-r1.ebuild
index f50553cddd9f..4a0cc9bdefe1 100644
--- a/dev-python/webtest/webtest-3.0.0-r1.ebuild
+++ b/dev-python/webtest/webtest-3.0.0-r1.ebuild
@@ -4,20 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="WebTest"
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_PN="WebTest"
-MY_P="${MY_PN}-${PV}"
DESCRIPTION="Helper to test WSGI applications"
HOMEPAGE="
https://docs.pylonsproject.org/projects/webtest/en/latest/
https://github.com/Pylons/webtest/
https://pypi.org/project/WebTest/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/whoosh/whoosh-2.7.4-r2.ebuild b/dev-python/whoosh/whoosh-2.7.4-r2.ebuild
index a3691699ff23..abb7ebfaa463 100644
--- a/dev-python/whoosh/whoosh-2.7.4-r2.ebuild
+++ b/dev-python/whoosh/whoosh-2.7.4-r2.ebuild
@@ -4,13 +4,13 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Fast, pure-Python full text indexing, search and spell checking library"
HOMEPAGE="https://pypi.org/project/Whoosh/"
-SRC_URI="mirror://pypi/W/${PN^}/${P^}.tar.gz"
-S="${WORKDIR}/${P^}"
LICENSE="BSD-2"
SLOT="0"
diff --git a/dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild b/dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild
index ad88c43f5779..49fbabf3c11e 100644
--- a/dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild
+++ b/dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild
@@ -4,18 +4,17 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="WSGIProxy2"
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_PN="WSGIProxy2"
DESCRIPTION="HTTP proxying tools for WSGI apps"
HOMEPAGE="
https://github.com/gawel/WSGIProxy2/
https://pypi.org/project/WSGIProxy2/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/wtforms/wtforms-3.0.1-r1.ebuild b/dev-python/wtforms/wtforms-3.0.1-r1.ebuild
index dd509d10c1cc..9067b3b12585 100644
--- a/dev-python/wtforms/wtforms-3.0.1-r1.ebuild
+++ b/dev-python/wtforms/wtforms-3.0.1-r1.ebuild
@@ -4,12 +4,11 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="WTForms"
PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1
-
-MY_PN="WTForms"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="Flexible forms validation and rendering library for python web development"
HOMEPAGE="
@@ -17,8 +16,6 @@ HOMEPAGE="
https://github.com/wtforms/wtforms/
https://pypi.org/project/WTForms/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/wxpython/wxpython-4.2.0.ebuild b/dev-python/wxpython/wxpython-4.2.0.ebuild
index 5881aef2c7ee..d940bd118be3 100644
--- a/dev-python/wxpython/wxpython-4.2.0.ebuild
+++ b/dev-python/wxpython/wxpython-4.2.0.ebuild
@@ -5,16 +5,14 @@ EAPI=8
DISTUTILS_IN_SOURCE_BUILD="1"
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="wxPython"
WX_GTK_VER="3.2-gtk3"
-inherit distutils-r1 multiprocessing virtualx wxwidgets
-
-MY_PN="wxPython"
-MY_PV="${PV/_p/.post}"
+inherit distutils-r1 multiprocessing virtualx wxwidgets pypi
DESCRIPTION="A blending of the wxWindows C++ class library with Python"
HOMEPAGE="https://www.wxpython.org/"
-SRC_URI="mirror://pypi/${P:0:1}/${MY_PN}/${MY_PN}-${MY_PV}.tar.gz"
LICENSE="wxWinLL-3"
SLOT="4.0"
@@ -48,8 +46,6 @@ BDEPEND="
)
"
-S="${WORKDIR}/${MY_PN}-${MY_PV}"
-
PATCHES=(
#"${FILESDIR}/${PN}-4.0.6-skip-broken-tests.patch"
"${FILESDIR}/${PN}-4.2.0-no-attrdict.patch"
diff --git a/dev-python/zconfig/zconfig-3.6.1.ebuild b/dev-python/zconfig/zconfig-3.6.1.ebuild
index 6b8caf5a0504..c05540df01da 100644
--- a/dev-python/zconfig/zconfig-3.6.1.ebuild
+++ b/dev-python/zconfig/zconfig-3.6.1.ebuild
@@ -4,15 +4,14 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="ZConfig"
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P="ZConfig-${PV}"
DESCRIPTION="Configuration library supporting a hierarchical schema-driven model"
HOMEPAGE="https://pypi.org/project/ZConfig/"
-SRC_URI="mirror://pypi/${MY_P:0:1}/ZConfig/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="ZPL"
SLOT="0"