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.