Files
poky/meta/recipes-devtools/python/python3-maturin_1.4.0.bb
Niko Mauno c5126983d9 python3-maturin: Fix cross compilation issue for armv7l, mips64, ppc
When bitbaking python3-rpds-py it built extension module as:

  site-packages/rpds/rpds.cpython-312-armv7l-linux-gnueabihf.so

Which caused error on target:

  root@qemuarm:~# python3 -c "from rpds import HashTrieMap, HashTrieSet, List"
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/usr/lib/python3.12/site-packages/rpds/__init__.py", line 1, in <module>
      from .rpds import *
  ModuleNotFoundError: No module named 'rpds.rpds'

Where as it should have been:

  site-packages/rpds/rpds.cpython-312-arm-linux-gnueabihf.so

Associated upstream bug report:
https://github.com/PyO3/maturin/issues/2203

Associated upstream pull request:
https://github.com/PyO3/maturin/pull/2204

Note - mitigation has not been tested with musl:
https://github.com/PyO3/maturin/pull/2204#issuecomment-2323952320

(From OE-Core rev: 32a8a7379008cc6e367b7664c5b10b29f0bb8136)

(From OE-Core rev: d2f73e3840c21997b918d1f1cfae965c618c1076)

Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-09-19 05:11:35 -07:00

51 lines
1.5 KiB
BlitzBasic

SUMMARY = "Build and publish crates with pyo3, rust-cpython, cffi bindings and rust binaries as python packages"
HOMEPAGE = "https://github.com/pyo3/maturin"
SECTION = "devel/python"
LICENSE = "MIT | Apache-2.0"
LIC_FILES_CHKSUM = "file://license-apache;md5=1836efb2eb779966696f473ee8540542 \
file://license-mit;md5=85fd3b67069cff784d98ebfc7d5c0797"
SRC_URI += "file://0001-Add-32-bit-RISC-V-support.patch"
SRC_URI[sha256sum] = "ed12e1768094a7adeafc3a74ebdb8dc2201fa64c4e7e31f14cfc70378bf93790"
SRC_URI:append = "\
file://0001-Extract-extension-architecture-name-resolvation-code.patch \
file://0002-Fix-cross-compilation-issue-with-linux-armv7l-archit.patch \
file://0003-Extract-extension-ABI-name-resolvation-code-as-helpe.patch \
file://0004-Fix-cross-compilation-issue-with-linux-ppc-architect.patch \
file://0005-Fix-cross-compilation-issue-with-linux-mips64-archit.patch \
"
S = "${WORKDIR}/maturin-${PV}"
CFLAGS:append = " -fdebug-prefix-map=${CARGO_HOME}=${TARGET_DBGSRC_DIR}/cargo_home"
DEPENDS += "\
python3-setuptools-rust-native \
python3-semantic-version-native \
python3-setuptools-rust \
"
require ${BPN}-crates.inc
inherit pypi cargo-update-recipe-crates python_pyo3 python_setuptools_build_meta
do_configure() {
python_pyo3_do_configure
cargo_common_do_configure
python_pep517_do_configure
}
RDEPENDS:${PN} += "\
cargo \
python3-json \
rust \
"
RRECOMMENDS:${PN} += "\
python3-ensurepip \
python3-pip \
python3-venv \
"
BBCLASSEXTEND = "native nativesdk"