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

Reply via email to