]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
setuptools_build_meta: add variable to control where pyproject.toml is located
authorRoss Burton <ross@burtonini.com>
Tue, 8 Mar 2022 14:30:34 +0000 (14:30 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 9 Mar 2022 11:46:23 +0000 (11:46 +0000)
The PEP517[1] pyproject.toml doesn't have to be located at the top-level
of the source tree (for example, in recipes with multiple components), so
add a variable PEP517_SOURCE_PATH to set where the file is.

In the future there should be a pep517.bbclass to centralise the common
logic, but for now this can be defined in each of the relevant classes.

[1] https://www.python.org/dev/peps/pep-0517/

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/setuptools_build_meta.bbclass

index 18ae2e60044f292755394710edf831c7c83e04c0..787fbd5f36bf87214dd1f62d497f1e7a2a526cd8 100644 (file)
@@ -2,12 +2,16 @@ inherit pip_install_wheel setuptools3-base
 
 DEPENDS += "python3-setuptools-native python3-wheel-native"
 
+# Where to execute the build process from
+PEP517_SOURCE_PATH ?= "${S}"
+
 setuptools_build_meta_do_configure () {
     :
 }
 
 # TODO: ideally this uses pypa/build
 setuptools_build_meta_do_compile () {
+    cd ${PEP517_SOURCE_PATH}
     nativepython3 -c "from setuptools import build_meta; build_meta.build_wheel('${PIP_INSTALL_DIST_PATH}')"
 }
 do_compile[cleandirs] += "${PIP_INSTALL_DIST_PATH}"