diff options
Diffstat (limited to 'dev-python/distlib')
| -rw-r--r-- | dev-python/distlib/Manifest | 2 | ||||
| -rw-r--r-- | dev-python/distlib/distlib-0.4.0-r1.ebuild | 60 | ||||
| -rw-r--r-- | dev-python/distlib/distlib-0.4.0.ebuild | 58 | ||||
| -rw-r--r-- | dev-python/distlib/distlib-0.4.1.ebuild | 58 | ||||
| -rw-r--r-- | dev-python/distlib/files/distlib-0.3.9-system-pypiserver.patch | 25 | ||||
| -rw-r--r-- | dev-python/distlib/files/distlib-0.4.0-py314-test.patch | 28 | ||||
| -rw-r--r-- | dev-python/distlib/files/distlib-0.4.0-py315.patch | 51 | ||||
| -rw-r--r-- | dev-python/distlib/metadata.xml | 9 |
8 files changed, 291 insertions, 0 deletions
diff --git a/dev-python/distlib/Manifest b/dev-python/distlib/Manifest new file mode 100644 index 000000000000..51132f026dc4 --- /dev/null +++ b/dev-python/distlib/Manifest @@ -0,0 +1,2 @@ +DIST distlib-0.4.0.gh.tar.gz 1245571 BLAKE2B c36fe726918bc04849465a55a2708b8686d2ba0b05baa7ff0595e03b7ff95a1afc45b037dbeab9bd14ec7a26ec49807ea5a7c458d8f8da16038c92f32291c62e SHA512 ff61f9ab4e38061d5fee3168c8b26c741a21403d793476477e0733b28b2ba5b1fb31ae6ddb5275efe7ad6936b7e79a5e7ec1b160c86bfbfe6b4ecff10e0193d2 +DIST distlib-0.4.1.gh.tar.gz 1246126 BLAKE2B 3399dce7e1c064964edbe0eecb7f96974ce65d97dcf7645547584396008e6036885725a32b323f76c767762607fd9e58feac4b4d10ac28095fcfa0546302e61b SHA512 a8d99a1b6f32fb0ca3a705db109d12ddb46aa344b153b0a8c56c857f4c1fed681cfb4f34c594ade0bbbd5097e389c2b164b2347a30b9d114d62a5e23d8733714 diff --git a/dev-python/distlib/distlib-0.4.0-r1.ebuild b/dev-python/distlib/distlib-0.4.0-r1.ebuild new file mode 100644 index 000000000000..8ffb8e5146a6 --- /dev/null +++ b/dev-python/distlib/distlib-0.4.0-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +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.patch" + # https://github.com/pypa/distlib/commit/6286442857de9f734686d08f0e59ca8048ee357a + "${FILESDIR}/${P}-py314-test.patch" + # https://github.com/pypa/distlib/pull/256 + "${FILESDIR}/${P}-py315.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/pyvenv.cfg" || die + + "${EPYTHON}" tests/test_all.py -v -x || + die "Tests failed with ${EPYTHON}" +} diff --git a/dev-python/distlib/distlib-0.4.0.ebuild b/dev-python/distlib/distlib-0.4.0.ebuild new file mode 100644 index 000000000000..3e886ef100ab --- /dev/null +++ b/dev-python/distlib/distlib-0.4.0.ebuild @@ -0,0 +1,58 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +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.patch" + # https://github.com/pypa/distlib/commit/6286442857de9f734686d08f0e59ca8048ee357a + "${FILESDIR}/${P}-py314-test.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/pyvenv.cfg" || die + + "${EPYTHON}" tests/test_all.py -v -x || + die "Tests failed with ${EPYTHON}" +} diff --git a/dev-python/distlib/distlib-0.4.1.ebuild b/dev-python/distlib/distlib-0.4.1.ebuild new file mode 100644 index 000000000000..37fd6430bc35 --- /dev/null +++ b/dev-python/distlib/distlib-0.4.1.ebuild @@ -0,0 +1,58 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +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.patch" + # https://github.com/pypa/distlib/pull/256 + "${FILESDIR}/${PN}-0.4.0-py315.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/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.patch b/dev-python/distlib/files/distlib-0.3.9-system-pypiserver.patch new file mode 100644 index 000000000000..42c3557a778c --- /dev/null +++ b/dev-python/distlib/files/distlib-0.3.9-system-pypiserver.patch @@ -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) diff --git a/dev-python/distlib/files/distlib-0.4.0-py314-test.patch b/dev-python/distlib/files/distlib-0.4.0-py314-test.patch new file mode 100644 index 000000000000..cf08838092a4 --- /dev/null +++ b/dev-python/distlib/files/distlib-0.4.0-py314-test.patch @@ -0,0 +1,28 @@ +From 6286442857de9f734686d08f0e59ca8048ee357a Mon Sep 17 00:00:00 2001 +From: Vinay Sajip <vinay_sajip@yahoo.co.uk> +Date: Fri, 18 Jul 2025 07:59:29 +0100 +Subject: [PATCH] Fix #251: Use more appropriate function in test. + +--- a/tests/test_scripts.py ++++ b/tests/test_scripts.py +@@ -341,10 +341,8 @@ def test_dry_run(self): + def test_script_run(self): + if sys.version_info[:2] < (3, 13): + target = 'cgi:print_directory' +- elif os.name != 'nt': +- target = 'test.support.interpreters:list_all' + else: +- raise unittest.SkipTest('test not available on Windows for Python >= 3.13') ++ target = 'logging:getHandlerNames' + files = self.maker.make('test = %s' % target) + self.assertEqual(len(files), 2) + p = subprocess.Popen([sys.executable, files[0]], stdout=subprocess.PIPE, stderr=subprocess.PIPE) +@@ -353,7 +351,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(0)]', stderr) ++ self.assertIn(b'frozenset(', stderr) + self.assertEqual(p.returncode, 1) + + @unittest.skipUnless(os.name == 'posix', 'Test only valid for POSIX') diff --git a/dev-python/distlib/files/distlib-0.4.0-py315.patch b/dev-python/distlib/files/distlib-0.4.0-py315.patch new file mode 100644 index 000000000000..4a27f0203705 --- /dev/null +++ b/dev-python/distlib/files/distlib-0.4.0-py315.patch @@ -0,0 +1,51 @@ +From 53a497ae37b3220662ac177e9477e9551e4e37b0 Mon Sep 17 00:00:00 2001 +From: Victor Stinner <vstinner@python.org> +Date: Wed, 14 Jan 2026 14:32:40 +0100 +Subject: [PATCH] Update cache_from_source() for Python 3.15 + +The debug_override parameter of cache_from_source() is deprecated in +Python 3.14. The function docstring says: + + The debug_override parameter is deprecated. If debug_override + is not None, a True value is the same as setting 'optimization' + to the empty string while a False value is equivalent to setting + 'optimization' to '1'. + +The parameter has been removed in Python 3.15. + +Fixes #255 +--- + distlib/util.py | 6 +++++- + tests/test_util.py | 2 +- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/distlib/util.py b/distlib/util.py +index 0d5bd7a..b700384 100644 +--- a/distlib/util.py ++++ b/distlib/util.py +@@ -589,7 +589,11 @@ def ensure_dir(self, path): + self.dirs_created.add(path) + + def byte_compile(self, path, optimize=False, force=False, prefix=None, hashed_invalidation=False): +- dpath = cache_from_source(path, not optimize) ++ if not optimize: ++ optimization = '' ++ else: ++ optimization = '1' ++ dpath = cache_from_source(path, optimization=optimization) + logger.info('Byte-compiling %s to %s', path, dpath) + if not self.dry_run: + if force or self.newer(path, dpath): +diff --git a/tests/test_util.py b/tests/test_util.py +index d8694a9..d4bb572 100644 +--- a/tests/test_util.py ++++ b/tests/test_util.py +@@ -652,7 +652,7 @@ def test_is_writable(self): + + def test_byte_compile(self): + path = os.path.join(self.workdir, 'hello.py') +- dpath = cache_from_source(path, True) ++ dpath = cache_from_source(path, optimization='') + self.fileop.write_text_file(path, 'print("Hello, world!")', 'utf-8') + self.fileop.byte_compile(path, optimize=False) + self.assertTrue(os.path.exists(dpath)) diff --git a/dev-python/distlib/metadata.xml b/dev-python/distlib/metadata.xml new file mode 100644 index 000000000000..d34971a915e9 --- /dev/null +++ b/dev-python/distlib/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + </maintainer> + <stabilize-allarches /> + <origin>baldeagleos-repo</origin> +</pkgmetadata> |
