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

Re: PEP-517/PEP-518 Support In Debian



Hi,

Scott Kitterman <debian@kitterman.com> writes:

> On Monday, April 13, 2020 5:18:53 AM EDT Dmitry Shachnev wrote:
>> Hi Scott!
>> 
>> On Sun, Apr 12, 2020 at 06:31:57PM -0400, Scott Kitterman wrote:
>> > This being roughly the mid-point in the development cycle, I thought it
>> > might be good to see where we are in terms of future Python packaging
>> > developments.
>> > 
>> > As I understand it, PEP-517 and PEP-518 are 'the future'.
>> >

While importing the latest release of Fissix (a grammar parser used by
Bowler) I found that it had a pyproject.toml but no setup.py.

>> > I took a look at the presence of pyproject.toml files in the Debian
>> > archive. There are currently 99 packages.  Of those, only 28 specify a
>> > 'build-backend', which is required by 517/518 to be useful for building a
>> > package.
>> > 
>> > 25 specify: build-backend = "setuptools.build_meta" (including setuptools)
>> > 3 specify: build-backend = "flit_core.buildapi" (including flit)
>> 
>> pyqt5 and pyqt5webengine specify: build-backend = "sipbuild.api".
>

Is there existing documentation around if/how build-backend can be used
to work around the absence of setup.py?

> So they do.  They didn't show up in my codesearch.d.n results, that makes me 
> wonder what else I missed.  If anyone has an idea of a better way to track 
> this, please speak up.
>
>> > If build-backend is not specified, the build system has to fall back to
>> > setup.py.
>> > 
>> > I've recently package flit (just arrived in Testing) and written a flit
>> > plugin for pybuild that's pending review for merging[1].  I also packaged
>> > pep517 for our pip package, so that's available to support future Debian
>> > tool development in this area.
>
> P1otr merged the flit plugin a little while ago, so it'll be in the next dh-
> python upload.
>

I think this is probably what is needed to unblock work on fissix (and
thus Bowler), because its Makefile has:

    python -m pip install -r requirements.txt
    python -m pip install -r requirements-dev.txt
    python -m flit install --symlink

[snip]

Any advise for existing workarounds would be appreciated.  So far the
only idea I've had is writing or generating a setup.py, and then adding
it as a quilt patch.

Thanks,
Nicholas

Attachment: signature.asc
Description: PGP signature


Reply to: