Commit Graph

7 Commits

Author SHA1 Message Date
Ross Burton
f2a0c52f65 python_pep517: move PEP517_SOURCE_PATH to python_pep517
Now we have the start of a PEP-517 base class, the PEP517_SOURCE_PATH
variable can be defined in there instead of the classes that use it.

(From OE-Core rev: 69944121f49f613568bf0c62ae6b3b47af195dbe)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-13 12:23:48 +00:00
Ross Burton
a50bf48f90 meta: rename pip_install_wheel.bbclass to python_pep517.bbclass
pip_install_wheel shouldn't restricted to just using Pip to install
wheels (the installer module is simplier and likely a better option),
and in the future may be extended to also provide do_compile() using
the build module.

(From OE-Core rev: 3bdf64b97facce9706cc579bdbc9a80e0d48428f)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-13 12:23:48 +00:00
Ross Burton
c7054e363a setuptools_build_meta: add variable to control where pyproject.toml is located
The PEP517[1] pyproject.toml doesn't have to be located at the top-level
of the source tree (for example, in recipes with multiple components), so
add a variable PEP517_SOURCE_PATH to set where the file is.

In the future there should be a pep517.bbclass to centralise the common
logic, but for now this can be defined in each of the relevant classes.

[1] https://www.python.org/dev/peps/pep-0517/

(From OE-Core rev: 891fab83683cf032d4849f2dfbcd03a3eb22f158)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-09 11:46:28 +00:00
Ross Burton
37527ea5bd setuptools_build_meta: respect PIP_INSTALL_DIST_PATH
pip_install_wheel expects the wheels to be in PIP_INSTALL_DIST_PATH but
this class was writing to the same directory through chance not design.

Respect PIP_INSTALL_DIST_PATH as the output directory, and use
[cleandirs] to ensure that it exists and is empty.

(From OE-Core rev: 1a3625c576afe823efc50dc0b1071e4952339f8e)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-09 11:46:28 +00:00
Ross Burton
bcd7e29a3b setuptools_build_meta: clean up configure/compile
Make do_configure do nothing by default as the base configure isn't
useful, and invoke the build API directly instead of writing a script.

In the future, this can simply call python3-build.

(From OE-Core rev: ccad9d0218ef69bdb8c708029445fcd661f1c490)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-08 09:44:28 +00:00
Konrad Weihmann
370ca1d1bd setuptools_build_meta: remove python dependency
when building additional native python tools that should be used
for additional tasks in python3 package (class-target), the dependency
on target class python creates a dependency loop:

python3-foo-native_1.2.3.bb:do_prepare_recipe_sysroot
python3-pep8-native_1.7.1.bb:do_populate_sysroot
python3-wheel_0.37.1.bb:do_populate_sysroot
python3-bar-native_0.1.2.bb:do_populate_sysroot
python3-pip_22.0.3.bb:do_populate_sysroot
python3-pyflakes-native_2.4.0.bb:do_populate_sysroot
python3_3.10.2.bb:do_populate_sysroot
python3-foo-native_1.2.3_1.2.0.bb:do_fetch
python3-setuptools_59.5.0.bb:do_populate_sysroot

resolve this by removing python3 from DEPENDS.
The correct dependencies are already injected by
setuptools-base class

(From OE-Core rev: bd9f9a369160164beade2c12f344b7f5c2b18427)

Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-05 22:58:48 +00:00
Tim Orling
74e5fc20c0 setuptools_build_meta.bbclass: add helper class
This class uses the PEP 517 compliant setuptools.buil_meta to build
wheels.

[YOCTO #14638]

(From OE-Core rev: b8f25c75f152683de4fa6c176118583d3dea894d)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-25 15:07:50 +00:00