diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distlib/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/distlib/Manifest new file mode 100644 index 0000000000..ce4b0127b6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/distlib/Manifest @@ -0,0 +1 @@ +DIST distlib-0.3.8.gh.tar.gz 1240659 BLAKE2B 5d14440bd6886a37e80323ea35370f306135f5b15544180b072ed42c6e7b00799dc4b5fe207adb31eee7234d4f291420bd289b5430bbf38ff0468b29af2ca621 SHA512 98dc6459f54783598aad8ee3b8d80c0092a5d08d4272ad212faeef5e30cf9029b718231681f39d26e48588bb676bae7919f1431ddb51eb3917725f99a5c90457 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.3.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.3.8.ebuild new file mode 100644 index 0000000000..7951433808 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.3.8.ebuild @@ -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}" +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.3.2-system-pypiserver.py b/sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.3.2-system-pypiserver.py new file mode 100644 index 0000000000..386ad05da5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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, diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.3.8-py313.patch b/sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.3.8-py313.patch new file mode 100644 index 0000000000..d47be4f566 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.3.8-py313.patch @@ -0,0 +1,22 @@ +From 1c08845b05d022692252ed45cb07e9cb9647caac Mon Sep 17 00:00:00 2001 +From: Vinay Sajip +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'

Current Working Directory:

', 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') diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distlib/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-python/distlib/metadata.xml new file mode 100644 index 0000000000..6ef5eb89bc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/distlib/metadata.xml @@ -0,0 +1,12 @@ + + + + + python@gentoo.org + + + + distlib + pypa/distlib + +