Commit Graph

4 Commits

Author SHA1 Message Date
Ross Burton
c4b75fe913 python_pep517: use picobuild instead of manually calling the API
Calling the PEP-517 API directly mostly works, but sometimes doesn't.
For example we don't verify build dependencies, which led to the cbor2
ugprade silently failing to actually package anything.

The standard frontend is pypa/build, but for source-based distributions
that can be annoying to build as it depends on the following packages:

- tomli
- pep517
- packaging
- pyparsing

Manually bootstrapping those recipes is possible, but tedious.

Picobuild is another frontend (written by myself) which is designed
explicitly to be used programatically by source-based distributions: it
doesn't support builds inside virtual environments as we're building
distribution packages, and it vendors the dependencies for bootstrapping
if they're not available.

Over time more packages are expected to move to using Flit to build
which makes the bootstrapping process slightly easier, and tomli will be
integrated into Python 3.11, so it's possible that in the future we
drop picobuild and switch to build.

This change means the PEP517_BUILD_API variable is obsolete, so remove
it.

(From OE-Core rev: 35104958181d18fd67b73943b9310c813d62b14d)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-14 23:22:10 +01:00
Ross Burton
fa43d680b5 python3-installer: bootstrap by installing installer with installer
The installer can install itself by simply adding src/ to PYTHONPATH.

As this previously used unzip, we need to disable bytecode as otherwise
the newly packaged .pyc files conflict with the any generated .pyc files
in the sysroot.

(From OE-Core rev: 825176ea8130a50cce221678f6fcba25ac956950)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-14 23:22:10 +01:00
Ross Burton
6f5ee7fffb classes/flit_core: rename to python_flit_core
To be more uniform with the other new Python classes, rename this to
python_flit_core and update the recipes that use it.

(From OE-Core rev: c0e4ca3c7841028a658f21c11619228022d425b4)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-17 16:44:33 +00:00
Ross Burton
c4cfeb96a3 python3-installer: add installer module
Add a recipe for Installer, a minimal library/tool to install Python
Wheels.  Unlike PIP, it explicitly only installs wheels and does nothing
else.

(From OE-Core rev: bf09c0bd99e4defbc259775b4a2e3fcce09bde17)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-16 08:48:09 +00:00