summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-02-03 13:38:46 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-02-03 13:38:46 +0000
commitbd3e7aa03917d3aa1943edbacbd3deb833c12707 (patch)
tree58cc0d707960dda5c6f55000ffdda241475aa2e7 /dev-python
parent8b9e4732d08bc7692d417d575f0c8f9174305d7c (diff)
downloadbaldeagleos-repo-bd3e7aa03917d3aa1943edbacbd3deb833c12707.tar.gz
baldeagleos-repo-bd3e7aa03917d3aa1943edbacbd3deb833c12707.tar.xz
baldeagleos-repo-bd3e7aa03917d3aa1943edbacbd3deb833c12707.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/autocommand/autocommand-2.2.1_p20211118.ebuild2
-rw-r--r--dev-python/google-api-core/google-api-core-2.5.0.ebuild6
-rw-r--r--dev-python/httplib2/Manifest1
-rw-r--r--dev-python/httplib2/httplib2-0.20.4.ebuild58
-rw-r--r--dev-python/importlib_resources/importlib_resources-5.4.0-r3.ebuild42
-rw-r--r--dev-python/jaraco-context/jaraco-context-4.1.1-r1.ebuild37
-rw-r--r--dev-python/jaraco-functools/jaraco-functools-3.5.0-r1.ebuild49
-rw-r--r--dev-python/jaraco-text/jaraco-text-3.7.0-r1.ebuild46
-rw-r--r--dev-python/pillow/Manifest1
-rw-r--r--dev-python/pillow/pillow-9.0.1-r1.ebuild116
-rw-r--r--dev-python/pillow/pillow-9.0.1.ebuild107
-rw-r--r--dev-python/pip-run/pip-run-8.8.0.ebuild2
-rw-r--r--dev-python/pytables/Manifest1
-rw-r--r--dev-python/pytables/files/pytables-3.6.1-big-endian-tests-skip-subset.patch36
-rw-r--r--dev-python/pytables/files/pytables-3.6.1-numpy-float.patch176
-rw-r--r--dev-python/pytables/files/pytables-3.6.1-py310.patch49
-rw-r--r--dev-python/pytables/pytables-3.6.1-r2.ebuild89
-rw-r--r--dev-python/setuptools/Manifest1
-rw-r--r--dev-python/setuptools/setuptools-60.6.0.ebuild2
-rw-r--r--dev-python/setuptools/setuptools-60.7.1.ebuild107
-rw-r--r--dev-python/zipp/zipp-3.7.0-r1.ebuild53
21 files changed, 624 insertions, 357 deletions
diff --git a/dev-python/autocommand/autocommand-2.2.1_p20211118.ebuild b/dev-python/autocommand/autocommand-2.2.1_p20211118.ebuild
index 9bf555af58c6..a2009df3d262 100644
--- a/dev-python/autocommand/autocommand-2.2.1_p20211118.ebuild
+++ b/dev-python/autocommand/autocommand-2.2.1_p20211118.ebuild
@@ -20,6 +20,6 @@ S="${WORKDIR}/${PN}-${COMMIT}"
LICENSE="LGPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~hppa"
+KEYWORDS="~amd64 ~hppa ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/google-api-core/google-api-core-2.5.0.ebuild b/dev-python/google-api-core/google-api-core-2.5.0.ebuild
index 6552e4167278..60470247a580 100644
--- a/dev-python/google-api-core/google-api-core-2.5.0.ebuild
+++ b/dev-python/google-api-core/google-api-core-2.5.0.ebuild
@@ -55,7 +55,7 @@ EPYTEST_DESELECT=(
tests/unit/test_operation.py::test_exception_with_error_code
)
-python_install_all() {
- distutils-r1_python_install_all
- find "${D}" -name '*.pth' -delete || die
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
}
diff --git a/dev-python/httplib2/Manifest b/dev-python/httplib2/Manifest
index 8fdc1b335caa..e00e914ecd83 100644
--- a/dev-python/httplib2/Manifest
+++ b/dev-python/httplib2/Manifest
@@ -1 +1,2 @@
DIST httplib2-0.20.2.gh.tar.gz 407815 BLAKE2B ebb3a35b5842eff570c4d804e5dcffa5afde32841eaf1797afd47a58ff7e4d6f945b20c82ad10afe0abff1dd8c5fb405594dca0c6641f8a7a201a71258478c52 SHA512 cb1e0e365ec7872d20c1a8e3ddb150433dd01f4ec816ae2044be6aad6c21afd00ce00dfc57f1348dcc857a63e02e8ffbd39c78f35bb4bba2e283a48f07102159
+DIST httplib2-0.20.4.gh.tar.gz 371778 BLAKE2B 85e2dd0b6213cc5015d4f2f7f923209a61649f948f003eaf3c95c956cb08e6f5bf9dc4e40109c0ddea6a18ab47870a21c7d367ea1eeec2644507568f4e271005 SHA512 46396a9bb439e61939e481a2502567a6dc40686471267ea4c357f141ac138193107f90ac465db683e4ab71e5d92249b810657bff0cb74af7a37a9a23c8320741
diff --git a/dev-python/httplib2/httplib2-0.20.4.ebuild b/dev-python/httplib2/httplib2-0.20.4.ebuild
new file mode 100644
index 000000000000..695dd233934e
--- /dev/null
+++ b/dev-python/httplib2/httplib2-0.20.4.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A comprehensive HTTP client library"
+HOMEPAGE="https://pypi.org/project/httplib2/"
+SRC_URI="
+ https://github.com/httplib2/httplib2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+RDEPEND="
+ app-misc/ca-certificates
+ dev-python/pyparsing[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ dev-libs/openssl
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
+
+PATCHES=( "${FILESDIR}"/${PN}-0.12.1-use-system-cacerts.patch )
+
+src_prepare() {
+ sed -i -e '/--cov/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by using system certificates
+ tests/test_cacerts_from_env.py::test_certs_file_from_builtin
+ tests/test_cacerts_from_env.py::test_certs_file_from_environment
+ tests/test_cacerts_from_env.py::test_with_certifi_removed_from_modules
+
+ # broken by new PySocks, probably
+ tests/test_proxy.py::test_server_not_found_error_is_raised_for_invalid_hostname
+ tests/test_proxy.py::test_socks5_auth
+
+ # broken by recerting (TODO)
+ tests/test_https.py::test_min_tls_version
+ tests/test_https.py::test_max_tls_version
+ )
+
+ # tests in python* are replaced by tests/
+ # upstream fails at cleaning up stuff
+ epytest tests
+}
diff --git a/dev-python/importlib_resources/importlib_resources-5.4.0-r3.ebuild b/dev-python/importlib_resources/importlib_resources-5.4.0-r3.ebuild
new file mode 100644
index 000000000000..83998bd62c6f
--- /dev/null
+++ b/dev-python/importlib_resources/importlib_resources-5.4.0-r3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+# This is a backport of Python 3.9's importlib.resources
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Read resources from Python packages"
+HOMEPAGE="https://github.com/python/importlib_resources"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/zipp[${PYTHON_USEDEP}]
+ ' python3_{8,9} pypy3)"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx docs dev-python/rst-linker dev-python/jaraco-packaging
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' 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 = "importlib_resources"
+ version = "${PV}"
+ description = "Read resources from Python packages"
+ EOF
+}
diff --git a/dev-python/jaraco-context/jaraco-context-4.1.1-r1.ebuild b/dev-python/jaraco-context/jaraco-context-4.1.1-r1.ebuild
new file mode 100644
index 000000000000..81ea8a8504cc
--- /dev/null
+++ b/dev-python/jaraco-context/jaraco-context-4.1.1-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/-/.}
+DESCRIPTION="Context managers by jaraco"
+HOMEPAGE="https://github.com/jaraco/jaraco.context"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' 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 = "jaraco.context"
+ version = "${PV}"
+ description = "Context managers by jaraco"
+ EOF
+}
diff --git a/dev-python/jaraco-functools/jaraco-functools-3.5.0-r1.ebuild b/dev-python/jaraco-functools/jaraco-functools-3.5.0-r1.ebuild
new file mode 100644
index 000000000000..4f723f8a687e
--- /dev/null
+++ b/dev-python/jaraco-functools/jaraco-functools-3.5.0-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/-/.}
+DESCRIPTION="Additional functions used by other projects by developer jaraco"
+HOMEPAGE="https://github.com/jaraco/jaraco.functools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ ">=dev-python/jaraco-packaging-3.2" \
+ ">=dev-python/rst-linker-1.9"
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' 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 = "jaraco.functools"
+ version = "${PV}"
+ description = "Functools like those found in stdlib"
+ EOF
+}
diff --git a/dev-python/jaraco-text/jaraco-text-3.7.0-r1.ebuild b/dev-python/jaraco-text/jaraco-text-3.7.0-r1.ebuild
new file mode 100644
index 000000000000..3f0c5e5d27eb
--- /dev/null
+++ b/dev-python/jaraco-text/jaraco-text-3.7.0-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/-/.}
+DESCRIPTION="Text utilities used by other projects by developer jaraco"
+HOMEPAGE="https://github.com/jaraco/jaraco.text"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/jaraco-context-4.1[${PYTHON_USEDEP}]
+ dev-python/jaraco-functools[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/importlib_resources[${PYTHON_USEDEP}]' python3_8 pypy3)
+"
+
+distutils_enable_sphinx docs \
+ ">=dev-python/jaraco-packaging-3.2" \
+ ">=dev-python/rst-linker-1.9"
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' 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 = "jaraco.text"
+ version = "${PV}"
+ description = "Module for text manipulation"
+ EOF
+}
diff --git a/dev-python/pillow/Manifest b/dev-python/pillow/Manifest
index cb676a730573..068ecc763107 100644
--- a/dev-python/pillow/Manifest
+++ b/dev-python/pillow/Manifest
@@ -1 +1,2 @@
DIST pillow-9.0.0.tar.gz 49510604 BLAKE2B c3b0d07e8fe280e3a253067c4da18ac2dee40d216280632d58ddaa7848e13a165587b9aca61c98f8b5380e53d6d59a4097320bacf6e016e236239af518ec7780 SHA512 d2fd74dd1b8824d994e3767ef9794175dd2f4adc8173612432a3e171705723ee8757d299a87fb1c010b40919792c1ca76578f41977ee3303ccb6f75165deb791
+DIST pillow-9.0.1.tar.gz 49512045 BLAKE2B 14f0969c87c57bad8fc38d873bba7a118d666e8b2e62e777ea17197e5ca973b3994bafb56b4464cde4059f2fc4040d73e7ddeec2a1053aeb1f201bf2ec2b38e2 SHA512 73893fe079bb2405c87b73b13b6eff198fb8970a891a7c9586bd2620ea0310d54cb35b1d594c6c6d3859e47d8d467700f987ae32aa6d3dc4a2e9286e8749869e
diff --git a/dev-python/pillow/pillow-9.0.1-r1.ebuild b/dev-python/pillow/pillow-9.0.1-r1.ebuild
new file mode 100644
index 000000000000..0890062ecd89
--- /dev/null
+++ b/dev-python/pillow/pillow-9.0.1-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 toolchain-funcs virtualx
+
+MY_PN=Pillow
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python Imaging Library (fork)"
+HOMEPAGE="https://python-pillow.org/"
+SRC_URI="https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
+REQUIRED_USE="test? ( jpeg jpeg2k tiff truetype )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ imagequant? ( media-gfx/libimagequant:0 )
+ jpeg? ( virtual/jpeg:0 )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lcms? ( media-libs/lcms:2= )
+ tiff? ( media-libs/tiff:0=[jpeg,zlib] )
+ truetype? ( media-libs/freetype:2= )
+ webp? ( media-libs/libwebp:0= )
+ xcb? ( x11-libs/libxcb )
+ zlib? ( sys-libs/zlib:0= )"
+RDEPEND="${DEPEND}
+ dev-python/olefile[${PYTHON_USEDEP}]"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ || (
+ media-gfx/imagemagick[png]
+ media-gfx/graphicsmagick[png]
+ )
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Fails because of ghostscript?
+ # https://github.com/python-pillow/Pillow/issues/6013
+ Tests/test_file_eps.py::test_showpage
+ Tests/test_file_eps.py::test_bytesio_object
+ Tests/test_file_eps.py::test_render_scale1
+ Tests/test_file_eps.py::test_render_scale2
+)
+
+usepil() {
+ usex "${1}" enable disable
+}
+
+python_configure_all() {
+ # It's important that these flags are also passed during the install phase
+ # as well. Make sure of that if you change the lines below. See bug 661308.
+ cat >> setup.cfg <<-EOF || die
+ [build_ext]
+ disable_platform_guessing = True
+ $(usepil truetype)_freetype = True
+ $(usepil jpeg)_jpeg = True
+ $(usepil jpeg2k)_jpeg2000 = True
+ $(usepil lcms)_lcms = True
+ $(usepil tiff)_tiff = True
+ $(usepil imagequant)_imagequant = True
+ $(usepil webp)_webp = True
+ $(usepil webp)_webpmux = True
+ $(usepil xcb)_xcb = True
+ $(usepil zlib)_zlib = True
+ EOF
+
+ # setup.py sucks at adding the right toolchain paths but it does
+ # accept additional ones from INCLUDE and LIB so set these. You
+ # wouldn't normally need these at all as the toolchain should look
+ # here anyway but this setup.py does stupid things.
+ export \
+ INCLUDE="${ESYSROOT}"/usr/include \
+ LIB="${ESYSROOT}"/usr/$(get_libdir)
+
+ # We have patched in this env var.
+ tc-export PKG_CONFIG
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
+ # no:relaxed: pytest-relaxed plugin make our tests fail. deactivate if installed
+ epytest -p no:relaxed || die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ python_doheader src/libImaging/*.h
+ distutils-r1_python_install
+}
+
+python_install_all() {
+ if use examples ; then
+ docinto example
+ dodoc docs/example/*
+ docompress -x /usr/share/doc/${PF}/example
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pillow/pillow-9.0.1.ebuild b/dev-python/pillow/pillow-9.0.1.ebuild
new file mode 100644
index 000000000000..44a0003ed54d
--- /dev/null
+++ b/dev-python/pillow/pillow-9.0.1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 toolchain-funcs virtualx
+
+MY_PN=Pillow
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python Imaging Library (fork)"
+HOMEPAGE="https://python-pillow.org/"
+SRC_URI="https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
+REQUIRED_USE="test? ( jpeg jpeg2k tiff truetype )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ imagequant? ( media-gfx/libimagequant:0 )
+ jpeg? ( virtual/jpeg:0 )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lcms? ( media-libs/lcms:2= )
+ tiff? ( media-libs/tiff:0=[jpeg,zlib] )
+ truetype? ( media-libs/freetype:2= )
+ webp? ( media-libs/libwebp:0= )
+ xcb? ( x11-libs/libxcb )
+ zlib? ( sys-libs/zlib:0= )"
+RDEPEND="${DEPEND}
+ dev-python/olefile[${PYTHON_USEDEP}]"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ || (
+ media-gfx/imagemagick[png]
+ media-gfx/graphicsmagick[png]
+ )
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Fails because of ghostscript?
+ # https://github.com/python-pillow/Pillow/issues/6013
+ Tests/test_file_eps.py::test_showpage
+ Tests/test_file_eps.py::test_bytesio_object
+ Tests/test_file_eps.py::test_render_scale1
+ Tests/test_file_eps.py::test_render_scale2
+)
+
+python_configure_all() {
+ # It's important that these flags are also passed during the install phase
+ # as well. Make sure of that if you change the lines below. See bug 661308.
+ DISTUTILS_ARGS=(
+ build_ext
+ --disable-platform-guessing
+ $(use_enable truetype freetype)
+ $(use_enable jpeg)
+ $(use_enable jpeg2k jpeg2000)
+ $(use_enable lcms)
+ $(use_enable tiff)
+ $(use_enable imagequant)
+ $(use_enable webp)
+ $(use_enable webp webpmux)
+ $(use_enable xcb)
+ $(use_enable zlib)
+ )
+
+ # setup.py sucks at adding the right toolchain paths but it does
+ # accept additional ones from INCLUDE and LIB so set these. You
+ # wouldn't normally need these at all as the toolchain should look
+ # here anyway but this setup.py does stupid things.
+ export \
+ INCLUDE="${ESYSROOT}"/usr/include \
+ LIB="${ESYSROOT}"/usr/$(get_libdir)
+
+ # We have patched in this env var.
+ tc-export PKG_CONFIG
+}
+
+python_test() {
+ "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
+ # no:relaxed: pytest-relaxed plugin make our tests fail. deactivate if installed
+ virtx epytest -p no:relaxed
+}
+
+python_install() {
+ python_doheader src/libImaging/*.h
+ distutils-r1_python_install
+}
+
+python_install_all() {
+ if use examples ; then
+ docinto example
+ dodoc docs/example/*
+ docompress -x /usr/share/doc/${PF}/example
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pip-run/pip-run-8.8.0.ebuild b/dev-python/pip-run/pip-run-8.8.0.ebuild
index a2f9f14b8eb5..7364cc1bfdf6 100644
--- a/dev-python/pip-run/pip-run-8.8.0.ebuild
+++ b/dev-python/pip-run/pip-run-8.8.0.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~hppa"
+KEYWORDS="~amd64 ~hppa ~x86"
RDEPEND="
dev-python/autocommand[${PYTHON_USEDEP}]
diff --git a/dev-python/pytables/Manifest b/dev-python/pytables/Manifest
index 0ef697796364..c456f554b2d0 100644
--- a/dev-python/pytables/Manifest
+++ b/dev-python/pytables/Manifest
@@ -1,2 +1 @@
-DIST tables-3.6.1.tar.gz 4641089 BLAKE2B 4ef44b1263f40babe6719bac911ab191e9cb0c58c377705b755fa83f1fba5af1d0fab10b0b45bd6af619a9dce4842a80afad8d8fbab64c3be4f35a1b3f117ee3 SHA512 7f018b70251095049bce9075be4e19f72efba9d39121a35c4521f634b1dd5b81ab6de47df3bb44ad6b8b2dbdbff4e6d0985ad1a7b2f13b44f920c0935e5830ff
DIST tables-3.7.0.tar.gz 8227955 BLAKE2B 0d5b7b765375c4787f1210138e5fd02e3c0ce429ef209a3a8d4fd3bc094f68486ab6f4d0a960ce86efea6991ed691ef2a3e9e8f37a49fe91cb8d6372cadea80e SHA512 eaa368d063b5fad87e6d0f9ab6f02da0b2a3542740a52fe8c2bb58e41121495d07b6d2710ad402a28891294aa61a11238c6a7e2cf2933a1bb11391b79cf4fd13
diff --git a/dev-python/pytables/files/pytables-3.6.1-big-endian-tests-skip-subset.patch b/dev-python/pytables/files/pytables-3.6.1-big-endian-tests-skip-subset.patch
deleted file mode 100644
index 6a492a1a581f..000000000000
--- a/dev-python/pytables/files/pytables-3.6.1-big-endian-tests-skip-subset.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-https://bugs.gentoo.org/805995
-https://github.com/PyTables/PyTables/issues/735
-https://sources.debian.org/src/pytables/3.6.1-5/debian/patches/0005-Skip-index-backcompat-tests-on-bingendian.patch/
-
-From: Antonio Valentino <antonio.valentino@tiscali.it>
-Date: Sat, 3 Aug 2019 16:22:13 +0000
-Subject: Skip index backcompat tests on bingendian
-
-Forwarded: not-needed
---- a/tables/tests/test_index_backcompat.py
-+++ b/tables/tests/test_index_backcompat.py
-@@ -6,8 +6,10 @@ from tables.tests.common import verbose
- from tables.tests.common import unittest, test_filename
- from tables.tests.common import PyTablesTestCase as TestCase
-
-+import sys
-
- # Check indexes from PyTables version 2.0
-+@unittest.skipIf(sys.byteorder != 'little', 'broken on big-endian')
- class IndexesTestCase(common.TestFileMixin, TestCase):
-
- def setUp(self):
-@@ -145,11 +147,13 @@ class IndexesTestCase(common.TestFileMixin, TestCase):
-
-
- # Check indexes from PyTables version 2.0
-+@unittest.skipIf(sys.byteorder != 'little', 'broken on big-endian')
- class Indexes2_0TestCase(IndexesTestCase):
- h5fname = test_filename("indexes_2_0.h5")
-
-
- # Check indexes from PyTables version 2.1
-+@unittest.skipIf(sys.byteorder != 'little', 'broken on big-endian')
- class Indexes2_1TestCase(IndexesTestCase):
- h5fname = test_filename("indexes_2_1.h5")
-
diff --git a/dev-python/pytables/files/pytables-3.6.1-numpy-float.patch b/dev-python/pytables/files/pytables-3.6.1-numpy-float.patch
deleted file mode 100644
index 71fa3b85dacf..000000000000
--- a/dev-python/pytables/files/pytables-3.6.1-numpy-float.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-From d2a480d14f29fb1d2baee292bc6a2cca4817dcbd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Sun, 24 Jan 2021 16:36:21 +0100
-Subject: [PATCH] Use lowercase float/int as numpy dtype
-
-Float64 is gone with numpy 1.20, which causes doctests to fail
-(https://bugzilla.redhat.com/show_bug.cgi?id=1914335).
-
-Similarly all uses of Float32, Int32 should be replaced by float32 and int32.
-
->>> numpy.__version__
-'1.19.4'
->>> [k for k in numpy.sctypeDict.keys() if str(k).lower().startswith('float')]
-['float16', 'Float16', 'float32', 'Float32', 'float64', 'Float64', 'float128', 'Float128', 'float_', 'float']
-
->>> numpy.__version__
-'1.20.0rc2'
->>> [k for k in numpy.sctypeDict.keys() if str(k).lower().startswith('float')]
-['float16', 'float32', 'float64', 'float128', 'float_', 'float']
----
- bench/bsddb-table-bench.py | 10 +++++-----
- bench/postgres-search-bench.py | 4 ++--
- bench/pytables-search-bench.py | 6 +++---
- bench/recarray2-test.py | 2 +-
- bench/shelve-bench.py | 10 +++++-----
- bench/sqlite-search-bench.py | 4 ++--
- tables/atom.py | 2 +-
- 7 files changed, 19 insertions(+), 19 deletions(-)
-
-diff --git a/bench/bsddb-table-bench.py b/bench/bsddb-table-bench.py
-index dd9f875b..a2e02361 100644
---- a/bench/bsddb-table-bench.py
-+++ b/bench/bsddb-table-bench.py
-@@ -83,11 +83,11 @@ def createFile(filename, totalrows, recsize, verbose):
- # Get the record object associated with the new table
- if recsize == "big":
- isrec = Big()
-- arr = np.array(np.arange(32), type=np.Float64)
-- arr2 = np.array(np.arange(32), type=np.Float64)
-+ arr = np.array(np.arange(32), type=np.float64)
-+ arr2 = np.array(np.arange(32), type=np.float64)
- elif recsize == "medium":
- isrec = Medium()
-- arr = np.array(np.arange(2), type=np.Float64)
-+ arr = np.array(np.arange(2), type=np.float64)
- else:
- isrec = Small()
- # print d
-@@ -107,8 +107,8 @@ def createFile(filename, totalrows, recsize, verbose):
- #d['TDCcount'] = i % 256
- d['ADCcount'] = (i * 256) % (1 << 16)
- if recsize == "big":
-- #d.float1 = np.array([i]*32, np.Float64)
-- #d.float2 = np.array([i**2]*32, np.Float64)
-+ #d.float1 = np.array([i]*32, np.float64)
-+ #d.float2 = np.array([i**2]*32, np.float64)
- arr[0] = 1.1
- d['float1'] = arr
- arr2[0] = 2.2
-diff --git a/bench/postgres-search-bench.py b/bench/postgres-search-bench.py
-index d2c9f4f4..7fe83f6a 100644
---- a/bench/postgres-search-bench.py
-+++ b/bench/postgres-search-bench.py
-@@ -15,11 +15,11 @@ def flatten(l):
-
-
- def fill_arrays(start, stop):
-- col_i = numpy.arange(start, stop, type=numpy.Int32)
-+ col_i = numpy.arange(start, stop, type=numpy.int32)
- if userandom:
- col_j = numpy.random.uniform(0, nrows, size=[stop - start])
- else:
-- col_j = numpy.array(col_i, type=numpy.Float64)
-+ col_j = numpy.array(col_i, type=numpy.float64)
- return col_i, col_j
-
- # Generator for ensure pytables benchmark compatibility
-diff --git a/bench/pytables-search-bench.py b/bench/pytables-search-bench.py
-index 726d30b1..6417186b 100644
---- a/bench/pytables-search-bench.py
-+++ b/bench/pytables-search-bench.py
-@@ -37,11 +37,11 @@ def create_db(filename, nrows):
- stop = (j + 1) * step
- if stop > nrows:
- stop = nrows
-- arr_f8 = np.arange(i, stop, type=np.Float64)
-- arr_i4 = np.arange(i, stop, type=np.Int32)
-+ arr_f8 = np.arange(i, stop, type=np.float64)
-+ arr_i4 = np.arange(i, stop, type=np.int32)
- if userandom:
- arr_f8 += np.random.normal(0, stop * scale, shape=[stop - i])
-- arr_i4 = np.array(arr_f8, type=np.Int32)
-+ arr_i4 = np.array(arr_f8, type=np.int32)
- recarr = np.rec.fromarrays([arr_i4, arr_i4, arr_f8, arr_f8])
- table.append(recarr)
- j += 1
-diff --git a/bench/recarray2-test.py b/bench/recarray2-test.py
-index a8602d80..bf55389d 100644
---- a/bench/recarray2-test.py
-+++ b/bench/recarray2-test.py
-@@ -22,7 +22,7 @@ delta = 0.000001
- # Creation of recarrays objects for test
- x1 = np.array(np.arange(reclen))
- x2 = chararray.array(None, itemsize=7, shape=reclen)
--x3 = np.array(np.arange(reclen, reclen * 3, 2), np.Float64)
-+x3 = np.array(np.arange(reclen, reclen * 3, 2), np.float64)
- r1 = recarray.fromarrays([x1, x2, x3], names='a,b,c')
- r2 = recarray2.fromarrays([x1, x2, x3], names='a,b,c')
-
-diff --git a/bench/shelve-bench.py b/bench/shelve-bench.py
-index d30739d8..a591ed1e 100644
---- a/bench/shelve-bench.py
-+++ b/bench/shelve-bench.py
-@@ -65,8 +65,8 @@ def createFile(filename, totalrows, recsize):
- # Get the record object associated with the new table
- if recsize == "big":
- d = Big()
-- arr = NA.array(NA.arange(32), type=NA.Float64)
-- arr2 = NA.array(NA.arange(32), type=NA.Float64)
-+ arr = NA.array(NA.arange(32), type=NA.float64)
-+ arr2 = NA.array(NA.arange(32), type=NA.float64)
- elif recsize == "medium":
- d = Medium()
- else:
-@@ -87,15 +87,15 @@ def createFile(filename, totalrows, recsize):
- #d.TDCcount = i % 256
- d.ADCcount = (i * 256) % (1 << 16)
- if recsize == "big":
-- #d.float1 = NA.array([i]*32, NA.Float64)
-- #d.float2 = NA.array([i**2]*32, NA.Float64)
-+ #d.float1 = NA.array([i]*32, NA.float64)
-+ #d.float2 = NA.array([i**2]*32, NA.float64)
- arr[0] = 1.1
- d.float1 = arr
- arr2[0] = 2.2
- d.float2 = arr2
- pass
- else:
-- d.float1 = NA.array([i ** 2] * 2, NA.Float64)
-+ d.float1 = NA.array([i ** 2] * 2, NA.float64)
- #d.float1 = float(i)
- #d.float2 = float(i)
- d.grid_i = i
-diff --git a/bench/sqlite-search-bench.py b/bench/sqlite-search-bench.py
-index 76dc7c57..dc611695 100644
---- a/bench/sqlite-search-bench.py
-+++ b/bench/sqlite-search-bench.py
-@@ -136,10 +136,10 @@ CREATE INDEX ivar3 ON small(var3);
- if randomvalues:
- var3 = np.random.uniform(minimum, maximum, shape=[j - i])
- else:
-- var3 = np.arange(i, j, type=np.Float64)
-+ var3 = np.arange(i, j, type=np.float64)
- if noise:
- var3 += np.random.uniform(-3, 3, shape=[j - i])
-- var2 = np.array(var3, type=np.Int32)
-+ var2 = np.array(var3, type=np.int32)
- var1 = np.array(None, shape=[j - i], dtype='s4')
- if not heavy:
- for n in range(j - i):
-diff --git a/tables/atom.py b/tables/atom.py
-index f92e16ad..f93d915b 100644
---- a/tables/atom.py
-+++ b/tables/atom.py
-@@ -338,7 +338,7 @@ class Atom(metaclass=MetaAtom):
- Traceback (most recent call last):
- ...
- ValueError: unknown NumPy scalar type: 'S5'
-- >>> Atom.from_sctype('Float64')
-+ >>> Atom.from_sctype('float64')
- Float64Atom(shape=(), dflt=0.0)
-
- """
---
-2.32.0
-
diff --git a/dev-python/pytables/files/pytables-3.6.1-py310.patch b/dev-python/pytables/files/pytables-3.6.1-py310.patch
deleted file mode 100644
index 600516d16396..000000000000
--- a/dev-python/pytables/files/pytables-3.6.1-py310.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 2431150d691f5ccdb3da204a46e346c156ea2523 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Mon, 16 Nov 2020 10:53:05 +0100
-Subject: [PATCH] doctest: adjust __init__ TypeError formatting
-
-Python3.10 includes the class name in the TypeError string for
-__init__(), so the literal match does not work anymore.
----
- tables/atom.py | 4 ++--
- tables/filters.py | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/tables/atom.py b/tables/atom.py
-index 81d37c54..9cfd8609 100644
---- a/tables/atom.py
-+++ b/tables/atom.py
-@@ -569,10 +569,10 @@ class Atom(metaclass=MetaAtom):
- >>> atom3 = atom1.copy(shape=(2, 2))
- >>> print(atom3)
- Int32Atom(shape=(2, 2), dflt=0)
-- >>> atom1.copy(foobar=42)
-+ >>> atom1.copy(foobar=42) #doctest: +ELLIPSIS
- Traceback (most recent call last):
- ...
-- TypeError: __init__() got an unexpected keyword argument 'foobar'
-+ TypeError: ...__init__() got an unexpected keyword argument 'foobar'
-
- """
- newargs = self._get_init_args()
-diff --git a/tables/filters.py b/tables/filters.py
-index f809ce77..7cb9b02d 100644
---- a/tables/filters.py
-+++ b/tables/filters.py
-@@ -432,10 +432,10 @@ class Filters:
- Filters(complevel=0, shuffle=False, bitshuffle=False, fletcher32=False, least_significant_digit=None)
- >>> print(filters3)
- Filters(complevel=1, complib='zlib', shuffle=False, bitshuffle=False, fletcher32=False, least_significant_digit=None)
-- >>> filters1.copy(foobar=42)
-+ >>> filters1.copy(foobar=42) #doctest: +ELLIPSIS
- Traceback (most recent call last):
- ...
-- TypeError: __init__() got an unexpected keyword argument 'foobar'
-+ TypeError: ...__init__() got an unexpected keyword argument 'foobar'
-
- """
-
---
-2.32.0
-
diff --git a/dev-python/pytables/pytables-3.6.1-r2.ebuild b/dev-python/pytables/pytables-3.6.1-r2.ebuild
deleted file mode 100644
index 550ccb5d3965..000000000000
--- a/dev-python/pytables/pytables-3.6.1-r2.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9,10} )
-PYTHON_REQ_USE="threads(+)"
-
-MY_PN=tables
-MY_P=${MY_PN}-${PV}
-
-inherit distutils-r1
-
-DESCRIPTION="Hierarchical datasets for Python"
-HOMEPAGE="https://www.pytables.org/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-# See https://github.com/PyTables/PyTables/issues/912 for hdf5 upper bound
-DEPEND="
- app-arch/bzip2:0=
- app-arch/lz4:0=
- >=app-arch/zstd-1.0.0:=
- >=dev-libs/c-blosc-1.11.1:0=
- dev-libs/lzo:2=
- >=dev-python/numpy-1.8.1[${PYTHON_USEDEP}]
- <sci-libs/hdf5-1.12:=
-"
-RDEPEND="${DEPEND}
- >=dev-python/numexpr-2.5.2[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]"
-BDEPEND="
- >=dev-python/cython-0.21[${PYTHON_USEDEP}]
- virtual/pkgconfig
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- ${RDEPEND}
- )
-"
-
-DOCS=( RELEASE_NOTES.txt THANKS )
-
-PATCHES=(
- "${FILESDIR}"/${P}-numpy-float.patch
- "${FILESDIR}"/${P}-py310.patch
- "${FILESDIR}"/${PN}-3.6.1-big-endian-tests-skip-subset.patch
-)
-
-python_prepare_all() {
- export {BLOSC,BZIP2,LZO,HDF5}_DIR="${ESYSROOT}"/usr
- export PYTABLES_NO_EMBEDDED_LIBS=1
- export USE_PKGCONFIG=TRUE
-
- rm tables/*.c || die
- sed -e "s:/usr:${EPREFIX}/usr:g" \
- -i setup.py || die
- rm -r c-blosc/{blosc,internal-complibs} || die
- sed -i -e '/_version/ s/\\s\*/\\s\+/' setup.py || die
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- distutils-r1_python_compile -j1
-}
-
-python_test() {
- cd "${BUILD_DIR}"/lib* || die
- "${EPYTHON}" tables/tests/test_all.py -v || die
-}
-
-python_install_all() {
- if use doc; then
- DOCS+=( doc/scripts )
- fi
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- dodoc -r contrib
- docompress -x /usr/share/doc/${PF}/examples
- docompress -x /usr/share/doc/${PF}/contrib
- fi
-}
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index e9243a199451..02afd997b152 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -5,3 +5,4 @@ DIST setuptools-60.3.0.tar.gz 2283824 BLAKE2B c0e1ffb6c19fd4c85aed2878a95e233721
DIST setuptools-60.3.1.tar.gz 2284193 BLAKE2B 0138acaf830d7f29db95c759e60d77986113385b13e96446974b63abf3621db2d2fd033f0f45bf380b6cfb2066ed66ff008446ca595f741c3f5446107f2a554b SHA512 7a2434d857b2914136d5ec0a7b9fbd89352a5dd3452bf2e3f7c0e2ef7317b45a3cfe6d3921b7f61a1f0a99a7c06f73428f9871dac0d7ae481fa1a1a0b97042cb
DIST setuptools-60.5.0.tar.gz 2292478 BLAKE2B e41b2717b34d454b3959ee5b6f4fdc70dfec13d97fe6962bd1c1ea2296be8ee2d27bb14ed2cc5e6fb9a757661a0415984b3cf7cf1665347c62a50965f651f9d4 SHA512 b2cf7d99e60d0c862a7a4fd8e806019db52502de48ff77556df26ce39a8620f476de767e2e8be8aa260366f54d1429db8a42d538345ec2cd2cfd5286e62e770d
DIST setuptools-60.6.0.tar.gz 2292575 BLAKE2B 410f4eee4e83c14dd1ebc3ab103f9e12bc5092e2e82dece8e71e7be57abc3d41c50763560e94343fe5089c7b903fa223fdab9c9c4648f423fcbd525551c501ef SHA512 9c0bed3d5f3e051fc996c26c2bc8d7ba0193c119a98678c7ef38ee1fdf8b42e569995598e64b527b5c6f1b4c77de655d1d7bdcd526a6d90288fd34efca92ff03
+DIST setuptools-60.7.1.tar.gz 2358541 BLAKE2B b48443b95cbd3891ec93d743eb4177302df6742624ea97a97779dd3f101c089ed38ba41d2ff65d35d7e3646d50e62111ecbdd23da9a45cab956006c38d1a42d0 SHA512 cf04353ffc2b1ca30fb219f00265eb6f89330f5489e57997d6975725a19b1e037ab02b9b74a8fcdc84a6234349cfc64855ae57535e0faa46ce4b280a364bb862
diff --git a/dev-python/setuptools/setuptools-60.6.0.ebuild b/dev-python/setuptools/setuptools-60.6.0.ebuild
index dfb3e89e8efe..210918849756 100644
--- a/dev-python/setuptools/setuptools-60.6.0.ebuild
+++ b/dev-python/setuptools/setuptools-60.6.0.ebuild
@@ -18,7 +18,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~hppa"
+KEYWORDS="~amd64 ~hppa ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/setuptools/setuptools-60.7.1.ebuild b/dev-python/setuptools/setuptools-60.7.1.ebuild
new file mode 100644
index 000000000000..5a1837617efe
--- /dev/null
+++ b/dev-python/setuptools/setuptools-60.7.1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2022 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=standalone
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 multiprocessing
+
+CPY_PATCHSET="python-gentoo-patches-3.10.0_p1"
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="https://github.com/pypa/setuptools https://pypi.org/project/setuptools/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ https://dev.gentoo.org/~floppym/python/${CPY_PATCHSET}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ dev-python/jaraco-text[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/ordered-set[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ dev-python/wheel[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/build[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-fixture-config[${PYTHON_USEDEP}]
+ dev-python/pytest-virtualenv[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ ' python3_{8..10} pypy3)
+ )
+"
+PDEPEND="
+ >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]"
+
+DOCS=( {CHANGES,README}.rst )
+
+src_prepare() {
+ # remove bundled dependencies, setuptools will switch to system deps
+ # automatically
+ rm -r */_vendor || die
+
+ # remove the ugly */extern hack that breaks on unvendored deps
+ rm -r */extern || die
+ find -name '*.py' -exec sed \
+ -e 's:from \w*[.]extern ::' -e 's:\w*[.]extern[.]::' \
+ -i {} + || die
+
+ # apply distutils patches to the bundled distutils
+ pushd setuptools/_distutils >/dev/null || die
+ # TODO: distutils C++ patch?
+ eapply -p3 "${WORKDIR}/${CPY_PATCHSET}/0006-distutils-make-OO-enable-both-opt-1-and-opt-2-optimi.patch"
+ popd >/dev/null || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x SETUPTOOLS_USE_DISTUTILS=stdlib
+
+ # keep in sync with python_gen_cond_dep above!
+ has "${EPYTHON}" python3.{8..10} pypy3 || continue
+
+ local EPYTEST_DESELECT=(
+ # network
+ setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_virtualenv.py::test_clean_env_install
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ 'setuptools/tests/test_virtualenv.py::test_pip_upgrade_from_source[None]'
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
+ # unhappy with pytest-xdist?
+ setuptools/tests/test_easy_install.py::TestUserInstallTest::test_local_index
+ # TODO
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ setuptools/tests/test_test.py::test_tests_are_run_once
+ )
+
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" epytest \
+ -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" setuptools
+}
diff --git a/dev-python/zipp/zipp-3.7.0-r1.ebuild b/dev-python/zipp/zipp-3.7.0-r1.ebuild
new file mode 100644
index 000000000000..9865b61b2553
--- /dev/null
+++ b/dev-python/zipp/zipp-3.7.0-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Backport of pathlib-compatible object wrapper for zip files"
+HOMEPAGE="https://github.com/jaraco/zipp/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ test? ( dev-python/jaraco-itertools[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_sphinx docs \
+ ">=dev-python/jaraco-packaging-3.2" \
+ ">=dev-python/rst-linker-1.9"
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # speed tests are flaky by design
+ test_zipp.py::TestPath::test_implied_dirs_performance
+)
+
+src_prepare() {
+ # dep of disabled test
+ sed -i -e '/func_timeout/d' test_zipp.py || die
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' 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 = "zipp"
+ version = "${PV}"
+ description = "Backport of pathlib-compatible object wrapper for zip files"
+ EOF
+}