summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Orling <ticotimo@gmail.com>2022-02-22 11:16:42 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-02-25 15:06:46 +0000
commit889c05e5b4ce9a36b4ac3ac869c1ef55c2f8b566 (patch)
treee87632ba5c15230a4a494083a77436959074a4b1
parenteedaa55ee5a7bec884e2deb4e39a7b737550f2f1 (diff)
downloadopenembedded-core-contrib-889c05e5b4ce9a36b4ac3ac869c1ef55c2f8b566.tar.gz
python3-setuptools: inherit setuptools_base_meta
Upstream provides a pyproject.toml which declares the setuptools.build_meta backend for PEP-517 packaging. We need to bootstrap python3-setuptools-native, simply installing by unzipping the built wheel. This avoids a dependency loop. [YOCTO #14638] Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/python/python3-setuptools_59.5.0.bb19
1 files changed, 14 insertions, 5 deletions
diff --git a/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb b/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb
index 33ca928c3e..2155101d30 100644
--- a/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb
+++ b/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb
@@ -4,7 +4,7 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=7a7126e068206290f3fe9f8d6c713ea6"
-inherit pypi setuptools3
+inherit pypi setuptools_build_meta
SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch"
@@ -17,6 +17,19 @@ SRC_URI[sha256sum] = "d144f85102f999444d06f9c0e8c737fd0194f10f2f7e5fdb77573f6e2f
DEPENDS += "${PYTHON_PN}"
+# Avoid dependency loop; we bootstrap -native
+DEPENDS:remove:class-native = "python3-pip-native python3-setuptools-native"
+DEPENDS:append:class-native = " unzip-native"
+
+PYPA_WHEEL ?= "${B}/dist/${PYPI_PACKAGE}-${PV}-*.whl"
+
+do_install:class-native() {
+ # Bootstrap to prevent dependency loop in python3-pip-native
+ install -d ${D}${PYTHON_SITEPACKAGES_DIR}
+ unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PYPA_WHEEL} || \
+ bbfatal_log "Failed to unzip wheel: ${PYPA_WHEEL}. Check the logs."
+}
+
RDEPENDS:${PN} = "\
${PYTHON_PN}-2to3 \
${PYTHON_PN}-compile \
@@ -38,10 +51,6 @@ RDEPENDS:${PN} = "\
${PYTHON_PN}-xml \
"
-do_install:prepend() {
- install -d ${D}${PYTHON_SITEPACKAGES_DIR}
-}
-
BBCLASSEXTEND = "native nativesdk"
# The pkg-resources module can be used by itself, without the package downloader