[Distutils] PEP for specifying build dependencies

Nathaniel Smith njs at pobox.com
Tue May 10 21:49:16 EDT 2016


On Tue, May 10, 2016 at 6:27 PM, Robert Collins
<robertc at robertcollins.net> wrote:
[...]
> If the declared
> dependencies are merely those needed to be able to invoke the build
> system, rather than those needed to be able to successfully build, it
> would preserve that escape valve.

My understanding is that this is exactly the intention -- these are
the requirements you need before you can run setup.py or whatever
replaces setup.py; it doesn't stop us from providing something like
PEP 516/517's build requirements. [Reminder for those following along:
in the current PEP 516/517 drafts, the sequence goes like: (1) pip
consults the static list of "bootstrap" requirements, and makes those
available, (2) pip invokes the build backend to ask it if it has any
dynamic "build" requirements, (3) pip makes those available, (4) pip
invokes the build backend again to run the actual build. So Robert's
being bothered at the implication that this PEP might do away with
steps (2)-(3).]

The awkward bit is that this distinction really only makes sense in
"phase 2", once we add the pluggable build backend stuff. The PEP's
written to target "phase 1", where we're still assuming setup.py as
the only build system, so we're going from "no working build
requirements" to "working static build requirements". That doesn't
stop us from taking the next step later.

I guess the PEP text introduction could be clearer about this somehow.

-n

-- 
Nathaniel J. Smith -- https://vorpus.org


More information about the Distutils-SIG mailing list