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