summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@arm.com>2023-01-12 11:23:35 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-01-13 17:32:46 +0000
commitadedac2b3392a86422c5b94fe0ec761304742a9e (patch)
tree8f2aeb7081739e9019a44a16b1e290ab1840d95f
parent1faf47e9e63bc6a136dccae938aa1ba5769d2857 (diff)
downloadpoky-adedac2b3392a86422c5b94fe0ec761304742a9e.tar.gz
python_pep517: use python3-build, not picobuild
Now that the bootstrap sequence for pypa/build is just python3-packaging, and python3-pyproject-hooks, we can use build instead of picobuild. The only change visible outside of this class is that the variable PEP517_PICOBUILD_OPTS is now PEP517_BUILD_OPTS, but I'm only aware of one recipe that used that variable. (From OE-Core rev: 202c2e3c9481a8841af2556862a76e27d703246d) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes-recipe/python_pep517.bbclass7
-rw-r--r--meta/recipes-devtools/python/python3-build_0.10.0.bb11
-rw-r--r--meta/recipes-devtools/python/python3-flit-core_3.8.0.bb2
-rw-r--r--meta/recipes-devtools/python/python3-installer_0.6.0.bb2
-rw-r--r--meta/recipes-devtools/python/python3-packaging_22.0.bb7
-rw-r--r--meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb7
6 files changed, 30 insertions, 6 deletions
diff --git a/meta/classes-recipe/python_pep517.bbclass b/meta/classes-recipe/python_pep517.bbclass
index 202dde0bc3..a1659c5f62 100644
--- a/meta/classes-recipe/python_pep517.bbclass
+++ b/meta/classes-recipe/python_pep517.bbclass
@@ -10,7 +10,7 @@
10# This class will build a wheel in do_compile, and use pypa/installer to install 10# This class will build a wheel in do_compile, and use pypa/installer to install
11# it in do_install. 11# it in do_install.
12 12
13DEPENDS:append = " python3-picobuild-native python3-installer-native" 13DEPENDS:append = " python3-build-native python3-installer-native"
14 14
15# Where to execute the build process from 15# Where to execute the build process from
16PEP517_SOURCE_PATH ?= "${S}" 16PEP517_SOURCE_PATH ?= "${S}"
@@ -18,7 +18,8 @@ PEP517_SOURCE_PATH ?= "${S}"
18# The directory where wheels will be written 18# The directory where wheels will be written
19PEP517_WHEEL_PATH ?= "${WORKDIR}/dist" 19PEP517_WHEEL_PATH ?= "${WORKDIR}/dist"
20 20
21PEP517_PICOBUILD_OPTS ?= "" 21# Other options to pass to build
22PEP517_BUILD_OPTS ?= ""
22 23
23# The interpreter to use for installed scripts 24# The interpreter to use for installed scripts
24PEP517_INSTALL_PYTHON = "python3" 25PEP517_INSTALL_PYTHON = "python3"
@@ -36,7 +37,7 @@ python_pep517_do_configure () {
36# When we have Python 3.11 we can parse pyproject.toml to determine the build 37# When we have Python 3.11 we can parse pyproject.toml to determine the build
37# API entry point directly 38# API entry point directly
38python_pep517_do_compile () { 39python_pep517_do_compile () {
39 nativepython3 -m picobuild --source ${PEP517_SOURCE_PATH} --dest ${PEP517_WHEEL_PATH} --wheel ${PEP517_PICOBUILD_OPTS} 40 nativepython3 -m build --no-isolation --wheel --outdir ${PEP517_WHEEL_PATH} ${PEP517_SOURCE_PATH} ${PEP517_BUILD_OPTS}
40} 41}
41do_compile[cleandirs] += "${PEP517_WHEEL_PATH}" 42do_compile[cleandirs] += "${PEP517_WHEEL_PATH}"
42 43
diff --git a/meta/recipes-devtools/python/python3-build_0.10.0.bb b/meta/recipes-devtools/python/python3-build_0.10.0.bb
index bebc00a437..770a32023d 100644
--- a/meta/recipes-devtools/python/python3-build_0.10.0.bb
+++ b/meta/recipes-devtools/python/python3-build_0.10.0.bb
@@ -7,7 +7,16 @@ SRC_URI[sha256sum] = "d5b71264afdb5951d6704482aac78de887c80691c52b88a9ad195983ca
7 7
8inherit pypi python_flit_core 8inherit pypi python_flit_core
9 9
10DEPENDS += "python3-packaging-native python3-pyproject-hooks-native" 10DEPENDS += "python3-pyproject-hooks-native"
11
12DEPENDS:remove:class-native = "python3-build-native"
13
14# Skip dependencies as we're doing a minimal build to bootstrap
15PEP517_BUILD_OPTS:class-native = "--skip-dependency-check"
16
17do_compile:prepend:class-native() {
18 export PYTHONPATH="${S}/src"
19}
11 20
12RDEPENDS:${PN} += "python3-packaging python3-pyproject-hooks" 21RDEPENDS:${PN} += "python3-packaging python3-pyproject-hooks"
13 22
diff --git a/meta/recipes-devtools/python/python3-flit-core_3.8.0.bb b/meta/recipes-devtools/python/python3-flit-core_3.8.0.bb
index 3d815d5316..2e5b1e8069 100644
--- a/meta/recipes-devtools/python/python3-flit-core_3.8.0.bb
+++ b/meta/recipes-devtools/python/python3-flit-core_3.8.0.bb
@@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "d0f2a8f4bd45dc794befbf5839ecc0fd3830d65a57bd52b5997542fac5
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-picobuild-native python3-installer-native" 16DEPENDS:remove:class-native = " python3-build-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.6.0.bb b/meta/recipes-devtools/python/python3-installer_0.6.0.bb
index e728e47cec..a2130a4507 100644
--- a/meta/recipes-devtools/python/python3-installer_0.6.0.bb
+++ b/meta/recipes-devtools/python/python3-installer_0.6.0.bb
@@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "f3bd36cd261b440a88a1190b1becca0578fee90b4b62decc796932fdd5
13inherit pypi python_flit_core 13inherit pypi python_flit_core
14 14
15# Bootstrap the native build 15# Bootstrap the native build
16DEPENDS:remove:class-native = "python3-picobuild-native python3-installer-native" 16DEPENDS:remove:class-native = "python3-build-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
diff --git a/meta/recipes-devtools/python/python3-packaging_22.0.bb b/meta/recipes-devtools/python/python3-packaging_22.0.bb
index bcf077d2c7..22f066416b 100644
--- a/meta/recipes-devtools/python/python3-packaging_22.0.bb
+++ b/meta/recipes-devtools/python/python3-packaging_22.0.bb
@@ -8,3 +8,10 @@ SRC_URI[sha256sum] = "2198ec20bd4c017b8f9717e00f0c8714076fc2fd93816750ab48e2c41d
8inherit pypi python_flit_core 8inherit pypi python_flit_core
9 9
10BBCLASSEXTEND = "native nativesdk" 10BBCLASSEXTEND = "native nativesdk"
11
12# Bootstrap the native build
13DEPENDS:remove:class-native = "python3-build-native"
14
15do_compile:class-native () {
16 python_flit_core_do_manual_build
17}
diff --git a/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb b/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb
index 10d8225c3d..9aca5918ec 100644
--- a/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb
+++ b/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb
@@ -10,3 +10,10 @@ inherit pypi python_flit_core
10PYPI_PACKAGE = "pyproject_hooks" 10PYPI_PACKAGE = "pyproject_hooks"
11 11
12BBCLASSEXTEND = "native nativesdk" 12BBCLASSEXTEND = "native nativesdk"
13
14# Bootstrap the native build
15DEPENDS:remove:class-native = "python3-build-native"
16
17do_compile:class-native () {
18 python_flit_core_do_manual_build
19}