summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/distlib/Manifest1
-rw-r--r--dev-python/distlib/distlib-0.3.9.ebuild56
-rw-r--r--dev-python/distlib/files/distlib-0.3.9-system-pypiserver.py25
3 files changed, 82 insertions, 0 deletions
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)