summaryrefslogtreecommitdiff
path: root/dev-python/distlib
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-05-31 20:59:14 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-05-31 20:59:14 +0100
commite748ba9741f6540f4675c23e3e37b73e822c13a4 (patch)
tree23dece8beabb3a3d7c6c0273b0eb40b21c62a889 /dev-python/distlib
parent908778078736bd36f7a60a2d576d415cb8e000fa (diff)
gentoo resync : 31.05.2021
Diffstat (limited to 'dev-python/distlib')
-rw-r--r--dev-python/distlib/Manifest4
-rw-r--r--dev-python/distlib/distlib-0.3.2.ebuild56
-rw-r--r--dev-python/distlib/files/distlib-0.3.2-py310.patch29
-rw-r--r--dev-python/distlib/files/distlib-0.3.2-system-pypiserver.py24
4 files changed, 113 insertions, 0 deletions
diff --git a/dev-python/distlib/Manifest b/dev-python/distlib/Manifest
index 4d683b44b63e..cdcb67da915e 100644
--- a/dev-python/distlib/Manifest
+++ b/dev-python/distlib/Manifest
@@ -1,4 +1,8 @@
AUX distlib-0.3.1-system-pypiserver.py 1532 BLAKE2B 7bb2bbb2282bcaa943735804428b00f6c51fdb51c7acaec7efe653495acd9194a0544d5d49531a96ab269ab8a61ba87e3c35d4f30ce5275a0a284fadd88cc19f SHA512 b96579d450c5c33502edc57480d5bb00aa3b9b61333c43ab446a3cf7117934a6a14026b2061cbf28e69e88a515554f8a1aad732f685cb73f18686b1aba6379ab
+AUX distlib-0.3.2-py310.patch 1131 BLAKE2B d5f7dde9f3a23756d926ce39061ab1d168e3dcf1161b63eadcc2f639f58cb58d9e3dc4bf4738cd32a148fc649abd236230ea57353d851c1fd536c5fd2964c56e SHA512 d96f9ed3e023084103025650d34448cbddd301f7d43d65f565427e00976809d813730f5208dcae53969cfbe8f5eff054cd538141ff1e988dcb4396f8c94cd5ae
+AUX distlib-0.3.2-system-pypiserver.py 1294 BLAKE2B 87d419e5d9bd90715e43a125617bf12a2eaf16d114557a56fa0c6afb0fa83468960dcfdba3a3eff2ff136c5ef12ec04e71cea2a77a886854181dcdc64aee954e SHA512 08ee2bdc55b30ba770179c97a8dc7f702d72588b6f8bfd65feb47847ee4b41b97c0f31d37e1c4cfc2cff35ccb189abfc07590a175b7d2fd592beda8eb4a8b040
DIST distlib-0.3.1.tar.bz2 1068500 BLAKE2B 52135869242f71cc6d6887da6d9e20ffc6b46c84d8146393961062d92d8c0bd68e1309277f64fdec0319ff3c503b1caaba3d5378f5c081dca79573c8d9c2e6f2 SHA512 f259299176c45be7024b80759015a2fad120ffdde55b6abea0f7fb0335cee90809b5daedcb88abdfb68fd496284b2e478df622004b3750327bfc86807581116c
+DIST distlib-0.3.2.tar.bz2 1075843 BLAKE2B 3595dc6af53beb7ff7dc49013e6c3db3453b501b56790a953c2cfea5a73aaca71fc69de68c8121ae92ffafd32a70ffa69d768cfd42844135fd5bd6647611e090 SHA512 e033ff2ff6b760f698a20103e01d63fa87bc1839bbf44fce252284c793e10a057dac645d818a4e0a2aa8be97bb85fcf9c8706b2399c505f12a093024d11be578
EBUILD distlib-0.3.1-r1.ebuild 1468 BLAKE2B 4b154a1d890ac4d3b9e4062c08ff2919559d3895c3f447a348be68c9ecece8080f3c3c5ad65902d5c1ec7083387ac546e61de9ab28f11659de064eac8f2beed7 SHA512 61b9b0e5555ab60f61d96607aa354d7cd574069829595caaa04f6cae10cacb34a89660fea0b0d2970c3c1cd324b932d345d951b6df400695fd951f1ce36f5c1d
+EBUILD distlib-0.3.2.ebuild 1541 BLAKE2B 3c25106407d4787aa2103eb3eb402a0aa875db3dd94a3bff5979ca3c53006c740919fcfb5cfc76ccb3885f7a7214f00d5a0aca1b216843c7699e1504748324ad SHA512 28fce49fec516213f12a3d54586a7c9093e5e79a28ced2b0a03dc41901aa0db2dd8fad9e2139c20593df4e464a1e727f62c228ecd8081a237d9ca59b06a961c4
MISC metadata.xml 288 BLAKE2B 865be58267f18634250b494dac795da10ca6daa5defa289003da9282f06eebdcc3a3369bb39b2a7ac216ec44134b29ec9052676637564974eafbbf4c270403d4 SHA512 2eb267e476064080a3e34b4f66af276666a30d37967298384f612c2fe9a73bd805b0ba72f6c4e2c1ca6d6bf737d8b3f5484b0c3f37f2ec1616f9017124c54cf1
diff --git a/dev-python/distlib/distlib-0.3.2.ebuild b/dev-python/distlib/distlib-0.3.2.ebuild
new file mode 100644
index 000000000000..43cd8fc4d2ea
--- /dev/null
+++ b/dev-python/distlib/distlib-0.3.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=no
+PYTHON_COMPAT=( python3_{7..10} pypy3 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Low-level components of distutils2/packaging"
+HOMEPAGE="https://pypi.org/project/distlib/
+ https://bitbucket.org/pypa/distlib/"
+# pypi has zip only :-(
+SRC_URI="
+ https://bitbucket.org/pypa/distlib/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+# This package's tests are extremely fragile and tend to break or hang
+# when it doesn't like metadata of packages installed on the system.
+RESTRICT="test"
+
+# pypiserver is called as external executable
+# openpyxl installs invalid metadata that breaks distlib
+BDEPEND="
+ test? (
+ dev-python/pypiserver
+ !!<dev-python/openpyxl-3.0.3[${PYTHON_USEDEP}]
+ )"
+
+src_prepare() {
+ # make sure they're not used
+ rm -r tests/unittest2 || die
+ rm tests/pypi-server-standalone.py || die
+
+ # use system pypiserver instead of broken bundled one
+ eapply "${FILESDIR}"/distlib-0.3.2-system-pypiserver.py || die
+ # fix tests for py310
+ eapply "${FILESDIR}"/${P}-py310.patch
+
+ # doesn't work with our patched pip
+ sed -e '/PIP_AVAIL/s:True:False:' \
+ -i tests/test_wheel.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x SKIP_ONLINE=1
+ local -x PYTHONHASHSEED=0
+ "${EPYTHON}" tests/test_all.py -v -x ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/distlib/files/distlib-0.3.2-py310.patch b/dev-python/distlib/files/distlib-0.3.2-py310.patch
new file mode 100644
index 000000000000..23c3dbbe0274
--- /dev/null
+++ b/dev-python/distlib/files/distlib-0.3.2-py310.patch
@@ -0,0 +1,29 @@
+From 5a9540cf58fc020b0c6a1d5c23b9b93d1abd2eb0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 29 May 2021 22:08:57 +0200
+Subject: [PATCH] Fix test_is_compatible to fix Python 3.10 support
+
+On Python 3.10, PYVER is py310 which wrongly matches the original
+'py27' <= PYVER < 'py32' condition. Replace it with explicit match
+against known Python versions in this range. This is probably
+the simplest and the most future-proof solution to the problem at hand.
+---
+ tests/test_wheel.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_wheel.py b/tests/test_wheel.py
+index 849e7c1..7c8f5ee 100644
+--- a/tests/test_wheel.py
++++ b/tests/test_wheel.py
+@@ -206,7 +206,7 @@ class WheelTestCase(DistlibTestCase):
+
+ def test_is_compatible(self):
+ fn = os.path.join(HERE, 'dummy-0.1-py27-none-any.whl')
+- if 'py27' <= PYVER < 'py32':
++ if PYVER in ('py27', 'py30', 'py31'):
+ self.assertTrue(is_compatible(fn))
+ self.assertTrue(Wheel(fn).is_compatible())
+ # use actual wheel names from PyPI.
+--
+2.31.1
+
diff --git a/dev-python/distlib/files/distlib-0.3.2-system-pypiserver.py b/dev-python/distlib/files/distlib-0.3.2-system-pypiserver.py
new file mode 100644
index 000000000000..386ad05da578
--- /dev/null
+++ b/dev-python/distlib/files/distlib-0.3.2-system-pypiserver.py
@@ -0,0 +1,24 @@
+diff -dupr a/tests/test_index.py b/tests/test_index.py
+--- a/tests/test_index.py 2021-05-29 17:42:08.015558305 +0200
++++ b/tests/test_index.py 2021-05-29 17:42:56.949966576 +0200
+@@ -57,11 +57,6 @@ class PackageIndexTestCase(DistlibTestCa
+ def setUpClass(cls):
+ if cls.run_test_server:
+ cls.server = None
+- server_script = os.path.join(HERE, 'pypi-server-standalone.py')
+- if not os.path.exists(server_script):
+- logger.debug('test server not available - some tests '
+- 'will be skipped.')
+- return
+ pwdfn = os.path.join(HERE, 'passwords')
+ if not os.path.exists(pwdfn): # pragma: no cover
+ with open(pwdfn, 'w') as f:
+@@ -72,7 +67,7 @@ class PackageIndexTestCase(DistlibTestCa
+ fd, cls.sinkfile = tempfile.mkstemp(suffix='.log', prefix='distlib-pypi-')
+ os.close(fd)
+ cls.sink = sink = open(cls.sinkfile, 'w')
+- cmd = [sys.executable, 'pypi-server-standalone.py',
++ cmd = ['pypi-server',
+ '--interface', '127.0.0.1', '--port', TEST_SERVER_PORT,
+ '-P', 'passwords', 'packages']
+ cls.server = subprocess.Popen(cmd, stdout=sink, stderr=sink,