commit:     50cf28d11e3908467f6c10030ce66f55eea1c23a
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Apr  9 15:46:59 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Apr 11 19:58:36 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50cf28d1

distutils-r1.eclass: Prefer "rm -rf build" over "setup.py clean -a"

Prefer using "rm -rf build" directly over "setup.py clean -a".  This
has three advantages:

1. It is much faster.

2. It works on packages that have broken "setup.py clean",
   e.g. dev-python/pydantic.

3. It works on packages that block "setup.py clean" and tell you to use
   "git clean" (sic!), e.g. dev-python/scipy.

This is a potentially (but unlikely) breaking change, so do it
conditionally to GPEP517_TESTING.

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

 eclass/distutils-r1.eclass | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index de891215e688..e6b0ab5e0e32 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1090,7 +1090,11 @@ distutils_pep517_install() {
        # clean the build tree; otherwise we may end up with PyPy3
        # extensions duplicated into CPython dists
        if [[ ${DISTUTILS_USE_PEP517:-setuptools} == setuptools ]]; then
-               esetup.py clean -a
+               if [[ ${GPEP517_TESTING} ]]; then
+                       rm -rf build || die
+               else
+                       esetup.py clean -a
+               fi
        fi
 }
 

Reply via email to