summaryrefslogtreecommitdiffstats
path: root/meta/classes/pip_install_wheel.bbclass
blob: 70f47d6f79caa9906f402a8b819cb83a8dd82370 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
DEPENDS:append = " python3-pip-native"

PIP_INSTALL_PACKAGE ?= "${PYPI_PACKAGE}"
PIP_INSTALL_DIST_PATH ?= "${B}/dist"
PYPA_WHEEL ??= "${PIP_INSTALL_DIST_PATH}/${PIP_INSTALL_PACKAGE}-${PV}-*.whl"

PIP_INSTALL_ARGS ?= "\
    -vvvv \
    --force-reinstall \
    --no-cache \
    --no-deps \
    --no-index \
    --root=${D} \
    --prefix=${prefix} \
"

pip_install_wheel_do_install:prepend () {
    install -d ${D}${PYTHON_SITEPACKAGES_DIR}
}

export PYPA_WHEEL

PIP_INSTALL_PYTHON = "python3"
PIP_INSTALL_PYTHON:class-native = "nativepython3"

pip_install_wheel_do_install () {
    nativepython3 -m pip install ${PIP_INSTALL_ARGS} ${PYPA_WHEEL} ||
    bbfatal_log "Failed to pip install wheel. Check the logs."

    for i in ${D}${bindir}/* ${D}${sbindir}/*; do
        if [ -f "$i" ]; then
            sed -i -e "1s,#!.*nativepython3,#!${USRBINPATH}/env ${PIP_INSTALL_PYTHON}," $i
            sed -i -e "s:${PYTHON}:${USRBINPATH}/env\ ${PIP_INSTALL_PYTHON}:g" $i
            sed -i -e "s:${STAGING_BINDIR_NATIVE}:${bindir}:g" $i
        fi
    done
}

EXPORT_FUNCTIONS do_install