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