Python BuildRequires Generators (Re: F31 System-Wide Change proposal)

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

 



On 2/22/19 2:39 PM, Neal Gompa wrote:
On Fri, Feb 22, 2019 at 6:01 AM Petr Viktorin <pviktori@xxxxxxxxxx> wrote:

On 2/18/19 9:19 PM, Ben Cotton wrote:
https://fedoraproject.org/wiki/Changes/BuildRequires_Generators

= BuildRequires Generators =

== Summary ==
Add possibility to generate build-time dependencies within RPM spec
file and teach RPM and mock how to handle this.


I am very excited about this change. Count with me for Python. Is there
a (draft) API to start coding against?

In Python, there's an effort to enable things like this generator, e.g.
[PEP 517].

Here, gathering BuildRequires is a two-step process:

- the "build backend" is specified in declarative metadata;
- then the build backend can query backend-specific metadata for
additional BuildRequires.

Is that possible with the current plans?


BTW: New versions of Python's usual build system (setuptools/setup.py)
will be forward compatible with PEP 517. Please do not write generators
that use setup.py directly.

We currently have no BuildRequires generators written yet, so we can
Do It Right(TM) for this. :)

That said, I'm not sure how we will be broadly compatible for divining
setup_requires if they are specified...

No divining in the generator, please.
We should use only the (newly) standardized interfaces, PEP 518, 517, etc. Issues with those should be solved upstream (or patched temporarily, with a bug filed). Nothing in the generator should be Setuptools-specific (except using Setuptools as the default build backend, for backwards compatibility reasons). setup_requires (and all of setup.py) are Setuptools-specific, so Setuptools is responsible for all the divining and for making the info available through standardized interfaces.
And yes, this aligns with Setuptools upstream plans.
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux