commit:     189f5f9f5eb6596cce92489fe94b96f68b0243fb
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 18 05:37:21 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 18 06:03:02 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=189f5f9f

dev-python/distlib: Bump to 0.3.7

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/distlib/Manifest                        |  1 +
 dev-python/distlib/distlib-0.3.7.ebuild            | 59 ++++++++++++++++++++++
 dev-python/distlib/files/distlib-0.3.7-pypy3.patch | 13 +++++
 3 files changed, 73 insertions(+)

diff --git a/dev-python/distlib/Manifest b/dev-python/distlib/Manifest
index 8b5f107343c5..49c37a1cf363 100644
--- a/dev-python/distlib/Manifest
+++ b/dev-python/distlib/Manifest
@@ -1 +1,2 @@
 DIST distlib-0.3.6.gh.tar.gz 1234082 BLAKE2B 
384b736d9fb9e63d1b9a9375caf972ddfccb36c99903928505e684fe09b30190f873cf7b109beb6c32a1e4b1e11a1d9947adea74f9dceef3398fcc1963a2044a
 SHA512 
39948539764ff5d45f14dc602ebd47d523b71b587ee081d7a267669aef4e4b1013d3995cb992038136bc4c01826ea633c6e4ffd050f1511705b296bf76f3bbf9
+DIST distlib-0.3.7.gh.tar.gz 1240451 BLAKE2B 
2050133ae1f57a2b37013e0e49a22903a816377d111e6a35c57084e2dd7877b41e9625e3cccbc9e67c35239814b835b064f94eec8bcd41dedd7d329f9d5be2ec
 SHA512 
33806fd953c4b185eaa69c7d0f0cdad9ea71be73d26f0585cefd4a332edbcc3c6287b3bce024858d5d15626311f2567474b19b6366f80b2336d9b39691c6fe31

diff --git a/dev-python/distlib/distlib-0.3.7.ebuild 
b/dev-python/distlib/distlib-0.3.7.ebuild
new file mode 100644
index 000000000000..8d237a4bfc38
--- /dev/null
+++ b/dev-python/distlib/distlib-0.3.7.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} 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
+               # fix pypy3
+               # https://github.com/pypa/distlib/issues/204
+               "${FILESDIR}"/${P}-pypy3.patch
+       )
+
+       # make sure they're 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.7-pypy3.patch 
b/dev-python/distlib/files/distlib-0.3.7-pypy3.patch
new file mode 100644
index 000000000000..eeb1a924069e
--- /dev/null
+++ b/dev-python/distlib/files/distlib-0.3.7-pypy3.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/test_scripts.py b/tests/test_scripts.py
+index 9ec1d43..2fc18ae 100644
+--- a/tests/test_scripts.py
++++ b/tests/test_scripts.py
+@@ -112,7 +112,7 @@ class ScriptTestCase(DistlibTestCase):
+             bindir = os.path.join(dstdir, 'bin')
+             maker = ScriptMaker(self.maker.source_dir, bindir,
+                                 add_launchers=False)
+-            venv.create(dstdir)
++            venv.create(dstdir, symlinks=True)
+             maker.executable = os.path.join(bindir, 'python')
+             filenames = maker.make('script8.py')
+             p = subprocess.Popen(filenames[0], shell=True,

Reply via email to