Closes: https://bugs.gentoo.org/891959
Signed-off-by: Michał Górny <mgo...@gentoo.org>
---
 eclass/distutils-r1.eclass | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 8896768d3ce9..65d48a19e73d 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -647,7 +647,13 @@ esetup.py() {
 
        local setup_py=( setup.py )
        if [[ ! -f setup.py ]]; then
-               if [[ ! -f setup.cfg ]]; then
+               # The following call can succeed even if the package does not
+               # feature any setuptools configuration.  In non-PEP517 mode this
+               # could lead to installing an "empty" package.  In PEP517 mode,
+               # we verify the build system when invoking the backend,
+               # rendering this check redundant (and broken for projects using
+               # pyproject.toml configuration).
+               if [[ ! ${DISTUTILS_USE_PEP517} && ! -f setup.cfg ]]; then
                        die "${FUNCNAME}: setup.py nor setup.cfg not found"
                fi
                setup_py=( -c "from setuptools import setup; setup()" )
-- 
2.39.1


Reply via email to