Control: reassign 1096194 python3-ffcx

On 2025-02-17 15:18, Stefano Rivera wrote:
Hi Drew (2025.02.17_13:15:52_+0000)
python3-cffi has Suggests: python3-dev

But when actually using cffi, it needs Python.h and pyconfig.h
(included in /usr/lib/python3/dist-packages/cffi/_cffi_include.h)

There are 4 different ways to use cffi:
https://cffi.readthedocs.io/en/stable/overview.html#id15

Most do not need python3-dev at runtime. My assumption has been that all
the ones that are appropriate for use in the Debian archive fit that.

Fair enough. I had meant to ask if there were other ways of using cffi.

In that case Suggests is probably appropriate. Changing to Recommends wouldn't help
scifem pass debci anyway.

That suggests to me the dependency might best be bumped to a strong
Depends: python3-dev instead of Suggests:.

Otherwise there will be unexpected errors, like the scifem test
failures at
https://ci.debian.net/data/autopkgtest/testing/amd64/s/scifem/57660266/log.gz

Does it need to be building cffi extensions at runtime, can't they be
built during the package build? Note that regular users can't write to
/usr/lib/ so building things at runtime is non-trivial to do correctly.

Not in this case. scifem (and dolfinx/ffcx) work on a JIT basis,
i.e. the required code is determined by the end-user, not the package.
(it's building in the user dir or cache dir, not /usr/lib).

In that case it sounds like the fenics packages will need to declare the need for python3-dev,
since it's a specific use of cffi, not its general function.

The fenics code in control is ffcx (scifem simply uses ffcx) so I'll redirect the bug there.

Reply via email to