[1/2] poetry-core: clean up class

Message ID 20220308194229.1260292-1-ross.burton@arm.com
State New
Headers show
Series [1/2] poetry-core: clean up class | expand

Commit Message

Ross Burton March 8, 2022, 7:42 p.m. UTC
There's been a lot of work on this class so clean it up a bit.

Rationalise imports, python3-dir is already included in python3native.

Don't write a helper script in do_configure, just call the API in
do_compile.  In the long term this should be using pypa/build instead
of calling the API directly.

Stub out do_configure as the base configure isn't useful.

Write the wheel to PIP_INSTALL_DIST_PATH instead of hard-coding S/dist,
and clean it.

Use EXPORT_FUNCTIONS on the tasks.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta-python/classes/poetry_core.bbclass | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

Patch

diff --git a/meta-python/classes/poetry_core.bbclass b/meta-python/classes/poetry_core.bbclass
index 4b3f9631e2..fb37c78c78 100644
--- a/meta-python/classes/poetry_core.bbclass
+++ b/meta-python/classes/poetry_core.bbclass
@@ -1,15 +1,15 @@ 
-inherit pip_install_wheel python3native python3-dir setuptools3-base
+inherit pip_install_wheel python3native setuptools3-base
 
-DEPENDS += "python3 python3-poetry-core-native python3-pip-native"
+DEPENDS += "python3-poetry-core-native"
 
-do_configure () {
-    mkdir -p ${S}/dist
-    cat > ${S}/build-it.py << EOF
-from poetry.core.masonry import api
-api.build_wheel('${S}/dist')
-EOF
+poetry_core_do_configure () {
+    :
 }
 
-do_compile () {
-    ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} ${S}/build-it.py
+# TODO: ideally this uses pypa/build
+poetry_core_do_compile () {
+    nativepython3 -c "from poetry.core.masonry import api; api.build_wheel('${PIP_INSTALL_DIST_PATH}')"
 }
+do_compile[cleandirs] += "${PIP_INSTALL_DIST_PATH}"
+
+EXPORT_FUNCTIONS do_configure do_compile