Universal PEP517 build system
Context
Python packaging has now reached a point where there is a single definition for build systems from the point of view of distros. (PEP517) We should make it as easy as possible to build correct Python packages for freedesktop-sdk and derivatives.
Description
-
create new build element for pep517 (https://gitlab.com/BuildStream/bst-plugins-experimental/-/merge_requests) -
self-bootstrap flit_core -
integrate pypa/installer -
build pyparsing with flit_core and pypa/installer (!9138 (merged)) -
update python to 3.11 to avoid tomli being part of bootstrap chain -
add pypa/build into freedesktop-sdk -
add setuptools-scm, git-minimal, flit-core, poetry-core, pypa/build and pypa/installer to public-stacks/buildsystem-python.bst. pip needs to be left because some non-Python packages invoke pip directly and we want things to be simple
Acceptance Criteria
It is possible to use pep517 with defaults on any setuptools, flit, poetry or hatchling package and things will work. git and setuptools-scm are also provided.
Edited by Ben Brown