commit:     bf2e8baeef4aaf24c3afa6ca4d61214f80f92109
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 10 04:24:38 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct 10 05:03:18 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf2e8bae

dev-python/distlib: Bump to 0.3.9

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/distlib/Manifest                        |  1 +
 dev-python/distlib/distlib-0.3.9.ebuild            | 56 ++++++++++++++++++++++
 .../files/distlib-0.3.9-system-pypiserver.py       | 25 ++++++++++
 3 files changed, 82 insertions(+)

diff --git a/dev-python/distlib/Manifest b/dev-python/distlib/Manifest
index ce4b0127b663..30ffef483f54 100644
--- a/dev-python/distlib/Manifest
+++ b/dev-python/distlib/Manifest
@@ -1 +1,2 @@
 DIST distlib-0.3.8.gh.tar.gz 1240659 BLAKE2B 
5d14440bd6886a37e80323ea35370f306135f5b15544180b072ed42c6e7b00799dc4b5fe207adb31eee7234d4f291420bd289b5430bbf38ff0468b29af2ca621
 SHA512 
98dc6459f54783598aad8ee3b8d80c0092a5d08d4272ad212faeef5e30cf9029b718231681f39d26e48588bb676bae7919f1431ddb51eb3917725f99a5c90457
+DIST distlib-0.3.9.gh.tar.gz 1244538 BLAKE2B 
08f5257f5a1125c1c76a23b9a78ded6a08f26d2f1491be9b104ab1e02a9737ae49f3750a607d3c7c744397879aeb3cd1a94a355743c95c702eec8a3cfebd70cb
 SHA512 
d89b3ae450a02f634db10baef8d2ff445afa99cd69377f40ef07d591b4bbb2e24fff43c92eeeb93628eaee292fa1e8324eb1a842cf9401feb1f309dbb6f20a25

diff --git a/dev-python/distlib/distlib-0.3.9.ebuild 
b/dev-python/distlib/distlib-0.3.9.ebuild
new file mode 100644
index 000000000000..825f53931847
--- /dev/null
+++ b/dev-python/distlib/distlib-0.3.9.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level components of distutils2/packaging"
+HOMEPAGE="
+       https://pypi.org/project/distlib/
+       https://github.com/pypa/distlib
+"
+SRC_URI="
+       https://github.com/pypa/distlib/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# pypiserver is called as external executable
+BDEPEND="
+       test? (
+               dev-python/pypiserver
+       )
+"
+
+src_prepare() {
+       local PATCHES=(
+               # use system pypiserver instead of bundled one
+               "${FILESDIR}"/distlib-0.3.9-system-pypiserver.py
+       )
+
+       # make sure it's not used
+       rm tests/pypi-server-standalone.py || die
+
+       distutils-r1_src_prepare
+}
+
+python_test() {
+       local -x SKIP_ONLINE=1
+       local -x PYTHONHASHSEED=0
+
+       # disable system-site-packages -- distlib has no deps, and is very
+       # fragile to packages actually installed on the system
+       sed -i -e '/system-site-packages/s:true:false:' \
+               "${BUILD_DIR}/install${EPREFIX}/usr/bin/pyvenv.cfg" || die
+
+       "${EPYTHON}" tests/test_all.py -v -x ||
+               die "Tests failed with ${EPYTHON}"
+}

diff --git a/dev-python/distlib/files/distlib-0.3.9-system-pypiserver.py 
b/dev-python/distlib/files/distlib-0.3.9-system-pypiserver.py
new file mode 100644
index 000000000000..42c3557a778c
--- /dev/null
+++ b/dev-python/distlib/files/distlib-0.3.9-system-pypiserver.py
@@ -0,0 +1,25 @@
+diff --git a/tests/test_index.py b/tests/test_index.py
+index 95b1f05..984e241 100644
+--- a/tests/test_index.py
++++ b/tests/test_index.py
+@@ -60,11 +60,6 @@ class PackageIndexTestCase(DistlibTestCase):
+     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:
+@@ -76,7 +71,7 @@ class PackageIndexTestCase(DistlibTestCase):
+             os.close(fd)
+             cls.sink = sink = open(cls.sinkfile, 'w')
+             cmd = [
+-                sys.executable, 'pypi-server-standalone.py', '--interface', 
'127.0.0.1', '--port', TEST_SERVER_PORT,
++                'pypi-server', '--interface', '127.0.0.1', '--port', 
TEST_SERVER_PORT,
+                 '-P', 'passwords', 'packages'
+             ]
+             cls.server = subprocess.Popen(cmd, stdout=sink, stderr=sink, 
cwd=HERE)

Reply via email to