On 2024-11-19 12:37, Timo Röhling wrote:
Hi Drew,
On Sun, 13 Oct 2024 11:31:01 +0200 Drew Parsons <dpars...@debian.org>
wrote:
Upstream are indeed aware of the ABI issue,
https://github.com/wjakob/nanobind/blob/master/docs/changelog.rst
They do provide an official ABI version.
nanobind 2.2.0 bumped up to ABI version 15.
I've added a virtual python3-nanobind-abiN package, similar to what
NumPy does, but with fewer moving parts as unlike NumPy, binary
packages depending on python3-nanobind will always need the matching
ABI version (otherwise they would not need to expose the dependency in
the first place).
Thanks for that Timo, that will be a boon.
Can you have a look at
https://salsa.debian.org/python-team/packages/nanobind and check if
this works for you?
numpy makes it easy for packages to set the required dependency with the
dh_numpy3 tool, adding to ${python3:Depends}.
Should something like that be done for nanobind, or is your
helpers/nanobind_provides.py already providing the means for packages to
set the dependency?
i.e. I couldn't tell from the source if it's handling the dependency
automatically or not.
They are using semantic versions, so we can expect an ABI bump with
every minor release, with Y in version X.Y.Z.
The documentation explicitly states that the ABI versioning is not
semantic. I decided to extract the latest ABI version from
docs/changelog.rst for now, but I'll probably ask upstream for a less
brittle mechanism in the long term.
That makes sense. I guess it's not too hard to update the ABI record
manually.
Drew