mirror of
https://git.yoctoproject.org/poky
synced 2026-02-05 16:28:43 +01:00
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] (From OE-Core rev: 889c05e5b4ce9a36b4ac3ac869c1ef55c2f8b566) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
67 lines
2.1 KiB
BlitzBasic
67 lines
2.1 KiB
BlitzBasic
SUMMARY = "Download, build, install, upgrade, and uninstall Python packages"
|
|
HOMEPAGE = "https://pypi.org/project/setuptools"
|
|
SECTION = "devel/python"
|
|
LICENSE = "MIT"
|
|
LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=7a7126e068206290f3fe9f8d6c713ea6"
|
|
|
|
inherit pypi setuptools_build_meta
|
|
|
|
SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch"
|
|
|
|
SRC_URI += "\
|
|
file://0001-change-shebang-to-python3.patch \
|
|
file://0001-_distutils-sysconfig-append-STAGING_LIBDIR-python-sy.patch \
|
|
"
|
|
|
|
SRC_URI[sha256sum] = "d144f85102f999444d06f9c0e8c737fd0194f10f2f7e5fdb77573f6e2fa4fad0"
|
|
|
|
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 \
|
|
${PYTHON_PN}-compression \
|
|
${PYTHON_PN}-ctypes \
|
|
${PYTHON_PN}-email \
|
|
${PYTHON_PN}-html \
|
|
${PYTHON_PN}-json \
|
|
${PYTHON_PN}-netserver \
|
|
${PYTHON_PN}-numbers \
|
|
${PYTHON_PN}-pickle \
|
|
${PYTHON_PN}-pkg-resources \
|
|
${PYTHON_PN}-pkgutil \
|
|
${PYTHON_PN}-plistlib \
|
|
${PYTHON_PN}-shell \
|
|
${PYTHON_PN}-stringold \
|
|
${PYTHON_PN}-threading \
|
|
${PYTHON_PN}-unittest \
|
|
${PYTHON_PN}-xml \
|
|
"
|
|
|
|
BBCLASSEXTEND = "native nativesdk"
|
|
|
|
# The pkg-resources module can be used by itself, without the package downloader
|
|
# and easy_install. Ship it in a separate package so that it can be used by
|
|
# minimal distributions.
|
|
PACKAGES =+ "${PYTHON_PN}-pkg-resources "
|
|
FILES:${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
|
|
RDEPENDS:${PYTHON_PN}-pkg-resources = "\
|
|
${PYTHON_PN}-compression \
|
|
${PYTHON_PN}-email \
|
|
${PYTHON_PN}-plistlib \
|
|
${PYTHON_PN}-pprint \
|
|
"
|