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 index ce4b0127b6..30ffef483f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/distlib/Manifest +++ b/sdk_container/src/third_party/portage-stable/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/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.3.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.3.9.ebuild new file mode 100644 index 0000000000..825f539318 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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/sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.3.9-system-pypiserver.py b/sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.3.9-system-pypiserver.py new file mode 100644 index 0000000000..42c3557a77 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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)