summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/python_pep517.bbclass10
-rw-r--r--meta/recipes-devtools/python/python3-flit-core_3.7.1.bb2
-rw-r--r--meta/recipes-devtools/python/python3-installer_0.5.1.bb8
-rw-r--r--meta/recipes-devtools/python/python3-picobuild_0.1.bb2
4 files changed, 13 insertions, 9 deletions
diff --git a/meta/classes/python_pep517.bbclass b/meta/classes/python_pep517.bbclass
index 34ffdc9c0d..7cdb9c8f9d 100644
--- a/meta/classes/python_pep517.bbclass
+++ b/meta/classes/python_pep517.bbclass
@@ -4,17 +4,16 @@
4# This class will build a wheel in do_compile, and use pypa/installer to install 4# This class will build a wheel in do_compile, and use pypa/installer to install
5# it in do_install. 5# it in do_install.
6 6
7DEPENDS:append = " python3-installer-native" 7DEPENDS:append = " python3-picobuild-native python3-installer-native"
8 8
9# Where to execute the build process from 9# Where to execute the build process from
10PEP517_SOURCE_PATH ?= "${S}" 10PEP517_SOURCE_PATH ?= "${S}"
11 11
12# The PEP517 build API entry point
13PEP517_BUILD_API ?= "unset"
14
15# The directory where wheels will be written 12# The directory where wheels will be written
16PEP517_WHEEL_PATH ?= "${WORKDIR}/dist" 13PEP517_WHEEL_PATH ?= "${WORKDIR}/dist"
17 14
15PEP517_PICOBUILD_OPTS ?= ""
16
18# The interpreter to use for installed scripts 17# The interpreter to use for installed scripts
19PEP517_INSTALL_PYTHON = "python3" 18PEP517_INSTALL_PYTHON = "python3"
20PEP517_INSTALL_PYTHON:class-native = "nativepython3" 19PEP517_INSTALL_PYTHON:class-native = "nativepython3"
@@ -31,8 +30,7 @@ python_pep517_do_configure () {
31# When we have Python 3.11 we can parse pyproject.toml to determine the build 30# When we have Python 3.11 we can parse pyproject.toml to determine the build
32# API entry point directly 31# API entry point directly
33python_pep517_do_compile () { 32python_pep517_do_compile () {
34 cd ${PEP517_SOURCE_PATH} 33 nativepython3 -m picobuild --source ${PEP517_SOURCE_PATH} --dest ${PEP517_WHEEL_PATH} --wheel ${PEP517_PICOBUILD_OPTS}
35 nativepython3 -c "import ${PEP517_BUILD_API} as api; api.build_wheel('${PEP517_WHEEL_PATH}')"
36} 34}
37do_compile[cleandirs] += "${PEP517_WHEEL_PATH}" 35do_compile[cleandirs] += "${PEP517_WHEEL_PATH}"
38 36
diff --git a/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb b/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb
index abe620374c..fe6b16ac54 100644
--- a/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb
+++ b/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb
@@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "3c9bd9c140515bfe62dd938c6610d10d6efb9e35cc647fc614fe5fb3a5
13inherit pypi python_flit_core 13inherit pypi python_flit_core
14 14
15# Need to install by hand as there's a dependency loop 15# Need to install by hand as there's a dependency loop
16DEPENDS:remove:class-native = " python3-installer-native" 16DEPENDS:remove:class-native = " python3-picobuild-native python3-installer-native"
17DEPENDS:append:class-native = " unzip-native" 17DEPENDS:append:class-native = " unzip-native"
18 18
19# We need the full flit tarball 19# We need the full flit tarball
diff --git a/meta/recipes-devtools/python/python3-installer_0.5.1.bb b/meta/recipes-devtools/python/python3-installer_0.5.1.bb
index b7780702d6..07bbafa81f 100644
--- a/meta/recipes-devtools/python/python3-installer_0.5.1.bb
+++ b/meta/recipes-devtools/python/python3-installer_0.5.1.bb
@@ -12,11 +12,15 @@ SRC_URI[sha256sum] = "f970995ec2bb815e2fdaf7977b26b2091e1e386f0f42eafd5ac811953d
12 12
13inherit pypi python_flit_core 13inherit pypi python_flit_core
14 14
15# Bootstrap the native install by installing with ourself 15# Bootstrap the native build
16DEPENDS:remove:class-native = "python3-installer-native" 16DEPENDS:remove:class-native = "python3-picobuild-native python3-installer-native"
17 17
18INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode" 18INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode"
19 19
20do_compile:class-native () {
21 python_flit_core_do_manual_build
22}
23
20do_install:prepend:class-native() { 24do_install:prepend:class-native() {
21 export PYTHONPATH="${S}/src" 25 export PYTHONPATH="${S}/src"
22} 26}
diff --git a/meta/recipes-devtools/python/python3-picobuild_0.1.bb b/meta/recipes-devtools/python/python3-picobuild_0.1.bb
index 7555d97f91..3c92b079f3 100644
--- a/meta/recipes-devtools/python/python3-picobuild_0.1.bb
+++ b/meta/recipes-devtools/python/python3-picobuild_0.1.bb
@@ -18,4 +18,6 @@ S = "${WORKDIR}/git"
18 18
19inherit python_flit_core 19inherit python_flit_core
20 20
21DEPENDS:remove:class-native = "python3-picobuild-native"
22
21BBCLASSEXTEND = "native nativesdk" 23BBCLASSEXTEND = "native nativesdk"