mirror of
https://git.yoctoproject.org/poky
synced 2026-02-05 16:28:43 +01:00
Several recipes are duplicating the same bootstrap logic for installing a wheel without using any tools. Add an implementation to pip_install_wheel to centralise the code, and remove the duplicated code from the following recipes: - python3-flit-core - python3-pip - python3-setuptools - python3-wheel (From OE-Core rev: d5d702a2cd06f863340f8e4cdce0904c9d86384d) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
36 lines
1.0 KiB
BlitzBasic
36 lines
1.0 KiB
BlitzBasic
SUMMARY = "The official binary distribution format for Python "
|
|
HOMEPAGE = "https://github.com/pypa/wheel"
|
|
SECTION = "devel/python"
|
|
LICENSE = "MIT"
|
|
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=10;endline=10;md5=8227180126797a0148f94f483f3e1489"
|
|
|
|
SRC_URI[sha256sum] = "e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4"
|
|
|
|
inherit flit_core pypi
|
|
|
|
SRC_URI += " file://0001-Backport-pyproject.toml-from-flit-backend-branch.patch"
|
|
|
|
DEPENDS:remove:class-native = "python3-pip-native"
|
|
|
|
do_install:class-native () {
|
|
pip_install_wheel_do_bootstrap_install
|
|
|
|
# pip install would normally generate [project.scripts] in ${bindir}
|
|
install -d ${D}/${bindir}
|
|
cat << EOF >> ${D}/${bindir}/wheel
|
|
#!/bin/sh
|
|
'''exec' ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} "\$0" "\$@"
|
|
' '''
|
|
# -*- coding: utf-8 -*-
|
|
import re
|
|
import sys
|
|
from wheel.cli import main
|
|
if __name__ == '__main__':
|
|
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
|
sys.exit(main())
|
|
EOF
|
|
chmod 0755 ${D}${bindir}/wheel
|
|
}
|
|
|
|
BBCLASSEXTEND = "native nativesdk"
|