dev-python/distlib: Add from Gentoo

It's from Gentoo commit 26c196f1ce6aa9ff0a598beeb7fcc2cdcc598f2c.
This commit is contained in:
Krzesimir Nowak 2024-08-02 17:11:31 +02:00
parent c334ef54be
commit 54be33f1c1
5 changed files with 117 additions and 0 deletions

View File

@ -0,0 +1 @@
DIST distlib-0.3.8.gh.tar.gz 1240659 BLAKE2B 5d14440bd6886a37e80323ea35370f306135f5b15544180b072ed42c6e7b00799dc4b5fe207adb31eee7234d4f291420bd289b5430bbf38ff0468b29af2ca621 SHA512 98dc6459f54783598aad8ee3b8d80c0092a5d08d4272ad212faeef5e30cf9029b718231681f39d26e48588bb676bae7919f1431ddb51eb3917725f99a5c90457

View File

@ -0,0 +1,58 @@
# 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 ~ia64 ~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.2-system-pypiserver.py
# https://github.com/pypa/distlib/commit/1c08845b05d022692252ed45cb07e9cb9647caac
"${FILESDIR}"/${P}-py313.patch
)
# 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}"
}

View File

@ -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,

View File

@ -0,0 +1,22 @@
From 1c08845b05d022692252ed45cb07e9cb9647caac Mon Sep 17 00:00:00 2001
From: Vinay Sajip <vinay_sajip@yahoo.co.uk>
Date: Wed, 14 Feb 2024 14:46:14 +0000
Subject: [PATCH] Fix #214: Update representation of interpreter in test.
---
tests/test_scripts.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/test_scripts.py b/tests/test_scripts.py
index 5c38687..74ee647 100644
--- a/tests/test_scripts.py
+++ b/tests/test_scripts.py
@@ -340,7 +340,7 @@ def test_script_run(self):
self.assertIn(b'<H3>Current Working Directory:</H3>', stdout)
self.assertIn(os.getcwd().encode('utf-8'), stdout)
else:
- self.assertIn(b'[Interpreter(id=0, isolated=None)]', stderr)
+ self.assertIn(b'[Interpreter(0)]', stderr)
self.assertEqual(p.returncode, 1)
@unittest.skipUnless(os.name == 'posix', 'Test only valid for POSIX')

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">distlib</remote-id>
<remote-id type="github">pypa/distlib</remote-id>
</upstream>
</pkgmetadata>