commit:     c8b8dc11f7235ad4f7b05f24bd75a85c110ec400
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 25 11:29:51 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Apr  2 16:29:47 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8b8dc11

distutils-r1.eclass: Support backend-path in pyproject.toml

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

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

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index ed2e9f70269f..0491452104be 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1015,8 +1015,15 @@ distutils_pep517_install() {
        einfo "  Building the wheel for ${PWD#${WORKDIR}/} via ${build_backend}"
        local wheel=$(
                "${EPYTHON}" - 3>&1 >&2 <<-EOF || die "Wheel build failed"
-                       import ${build_backend%:*}
                        import os
+                       import sys
+                       import tomli
+
+                       sys.path[:0] = (tomli.load(open("pyproject.toml", "rb"))
+                                       .get("build-system", {})
+                                       .get("backend-path", []))
+
+                       import ${build_backend%:*}
                        
print(${build_backend/:/.}.build_wheel(os.environ['WHEEL_BUILD_DIR']),
                                file=os.fdopen(3, 'w'))
                EOF

Reply via email to