On Sun, Jun 24, 2018 at 8:20 AM Nick Coghlan <ncogh...@gmail.com> wrote:

> On 23 June 2018 at 07:47, Pradyun Gedam <pradyu...@gmail.com> wrote:
> > On Sat, 23 Jun 2018, 03:08 Brett Cannon, <br...@python.org> wrote:
> >> The JSON schema is for "illustrative purposes only", so it should not be
> >> viewed as part of the spec.
> >
> > Yeah, that's exactly what I pointed out to the user in the pip issue
> tracker
> > as well.
>
> Something you may want to consider is that while PEP 518 explicitly
> specifies that a missing pyproject.toml should be interpreted as
> "build-system.build-requires=['setuptools', 'wheel']", there's nothing
> that specifically prohibits an installer from offering a
> "default-for-missing-build-requires" setting.
>
> Right now, `pip` effectively defaults that hypothetical setting to
> "['setuptools', 'wheel']", with the proposed change being to switch it
> to "[]" instead (which better aligns with the intent of PEP 518).
>
> However, the new semantics mean that some sdist releases of some
> projects will become uninstallable. Making the installer level setting
> explicit rather than hypothetical would allow anyone affected to deal
> with that problem without either being stuck on the older version of
> pip, or being forced to concurrently upgrade to newer versions of the
> affected projects.
>
> Cheers,
> Nick.
>
> --
> Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
>

​Assuming we are going to disallow missing build-requires,
​I think a better way for this would be to allow a user to override
build-requires on a per-package basis. It'd be a more verbose
and also clearer about which packages are needing some sort
of work-around to install, pushing packages to just directly
specify build-requires in future releases.

This is already a feature request for pip for a different use case
and I think it's a reasonable request.

Sure, it is extra hoops to jump through but in the long term it
makes things fairly frictionless since everyone will start
specifying build-system.requires -- if there's a missing
build-system.requires, use the override mechanism to use
setuptools and wheel (and anything else possibly) to build it.

Pradyun
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/VDVIQYVC2HMBOROJD4EF73RHXLSP3G2D/

Reply via email to