Hello fellow Python packagers. This is an announcement about a new set of RPM
macros you can use to build PEP 517/518 enabled packages, that is Python
packages that have the pyproject.toml file.
https://www.python.org/dev/peps/pep-0517/
https://www.python.org/dev/peps/pep-0518/
https://snarky.ca/clarifying-pep-518/
The set of macros is designed for modern packaging with dynamic buildrequires in
mind.
The macros are in the pyproject-rpm-macros package and you can use them like this:
BuildRequires: pyproject-rpm-macros
%prep
...
%generate_buildrequires
%pyproject_buildrequires -t
%build
%pyproject_wheel
%install
%pyproject_install
%check
%tox
See the full documentation of the macros:
https://src.fedoraproject.org/rpms/pyproject-rpm-macros/blob/master/f/README.md
See example spec files:
https://src.fedoraproject.org/rpms/pyproject-rpm-macros/blob/master/f/tests
(These use setuptools (setup.py), flit and poetry for build backends, but you
cannot tell that from the specfiles - BuildRequires are generated dynamically
from upstream metadata.)
The macros are **provisional**, i.e. their API may be changed upon feedback
received from you.
We are not (yet) interested in a general "update all the Python packages" hunt,
but rather in early adopters.
If you have questions, ask here. We'll gladly extend the docs if something is
not clear.
If you find bugs, report them in bugzilla or here. Likewise for RFEs.
Happy hacking,
Python Maintenance
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx