commit:     5c67ed82e4fee9516ced80503d1090c9f6e62872
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 29 12:51:13 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jan 29 12:54:42 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c67ed82

dev-python/distlib: Switch to PEP 517 build

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

 dev-python/distlib/distlib-0.3.4-r1.ebuild | 53 ++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/dev-python/distlib/distlib-0.3.4-r1.ebuild 
b/dev-python/distlib/distlib-0.3.4-r1.ebuild
new file mode 100644
index 000000000000..fced61f71451
--- /dev/null
+++ b/dev-python/distlib/distlib-0.3.4-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} pypy3 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Low-level components of distutils2/packaging"
+HOMEPAGE="https://pypi.org/project/distlib/
+       https://bitbucket.org/pypa/distlib/";
+# pypi has zip only :-(
+SRC_URI="
+       https://bitbucket.org/pypa/distlib/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+# This package's tests are extremely fragile and tend to break or hang
+# when it doesn't like metadata of packages installed on the system.
+RESTRICT="test"
+
+# pypiserver is called as external executable
+# openpyxl installs invalid metadata that breaks distlib
+BDEPEND="
+       test? (
+               dev-python/pypiserver
+               !!<dev-python/openpyxl-3.0.3[${PYTHON_USEDEP}]
+       )"
+
+src_prepare() {
+       # make sure they're not used
+       rm tests/pypi-server-standalone.py || die
+
+       # use system pypiserver instead of broken bundled one
+       eapply "${FILESDIR}"/distlib-0.3.2-system-pypiserver.py || die
+
+       # doesn't work with our patched pip
+       sed -e '/PIP_AVAIL/s:True:False:' \
+               -i tests/test_wheel.py || die
+
+       distutils-r1_src_prepare
+}
+
+python_test() {
+       local -x SKIP_ONLINE=1
+       local -x PYTHONHASHSEED=0
+       "${EPYTHON}" tests/test_all.py -v -x ||
+               die "Tests failed with ${EPYTHON}"
+}

Reply via email to