1SUMMARY = "Build and publish crates with pyo3, rust-cpython, cffi bindings and rust binaries as python packages"
2HOMEPAGE = "https://github.com/pyo3/maturin"
3SECTION = "devel/python"
4LICENSE = "MIT | Apache-2.0"
5LIC_FILES_CHKSUM = "file://license-apache;md5=1836efb2eb779966696f473ee8540542 \
6                    file://license-mit;md5=85fd3b67069cff784d98ebfc7d5c0797"
7
8SRC_URI += " \
9           file://0001-build_context-improve-wheel-reproducibility-by-sorti.patch \
10           "
11SRC_URI[sha256sum] = "2b349d742a07527d236f0b4b6cab26f53ebecad0ceabfc09ec4c6a396e3176f9"
12
13S = "${WORKDIR}/maturin-${PV}"
14
15CFLAGS += "-fdebug-prefix-map=${CARGO_HOME}=${TARGET_DBGSRC_DIR}/cargo_home"
16
17DEPENDS += "\
18    python3-setuptools-rust-native \
19    python3-semantic-version-native \
20    python3-setuptools-rust \
21"
22
23require ${BPN}-crates.inc
24
25inherit pypi cargo-update-recipe-crates python_pyo3 python_setuptools_build_meta
26
27do_configure() {
28    python_pyo3_do_configure
29    cargo_common_do_configure
30    python_pep517_do_configure
31}
32
33RDEPENDS:${PN} += "\
34    cargo \
35    python3-json \
36    rust \
37"
38
39RRECOMMENDS:${PN} += "\
40    python3-ensurepip \
41    python3-pip \
42    python3-venv \
43"
44
45BBCLASSEXTEND = "native nativesdk"
46