Provisional pyproject RPM macros: Dynamic BuildRequires for Python packages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
_______________________________________________
packaging mailing list -- packaging@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to packaging-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/packaging@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Forum]     [KDE Users]

  Powered by Linux