poetry-core: clean up class

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>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Ross Burton 2022-03-08 19:42:28 +00:00 committed by Khem Raj
parent 10e9b26163
commit 62af27a57a

View File

@ -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