pip_install_wheel: improved wheel filename guess

Rather than only use PYPI_PACKAGE as a guess, fall back on PN for cases
where a recipe does not inherit pypi.

Wheels can only have alphanumeric characters in the 'distribution'
name [1]. Any other characters are replaced with an underscore. Provide a
function to replace dash with underscore.

[1] https://www.python.org/dev/peps/pep-0491/#escaping-and-unicode

(From OE-Core rev: 9fc8e55892374f1e63b4c995fe1a5539c42d24e0)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Tim Orling
2022-02-24 20:03:31 -08:00
committed by Richard Purdie
parent 4668db8175
commit 49168f5d55

View File

@@ -1,6 +1,10 @@
DEPENDS:append = " python3-pip-native"
PIP_INSTALL_PACKAGE ?= "${PYPI_PACKAGE}"
def guess_pip_install_package_name(d):
'''https://www.python.org/dev/peps/pep-0491/#escaping-and-unicode'''
return (d.getVar('PYPI_PACKAGE') or d.getVar('PN')).replace('-', '_')
PIP_INSTALL_PACKAGE ?= "${@guess_pip_install_package_name(d)}"
PIP_INSTALL_DIST_PATH ?= "${B}/dist"
PYPA_WHEEL ??= "${PIP_INSTALL_DIST_PATH}/${PIP_INSTALL_PACKAGE}-${PV}-*.whl"