Control: affects -1 + src:renpy On Tue, 16 Jan 2024 at 20:43:34 +0100, Lucas Nussbaum wrote: > During a rebuild of all packages in sid, your package failed to build > on amd64. > > > src/pygame_sdl2/rwobject.pyx:336:22: Cannot assign type 'Sint64 (SDL_RWops > > *) except? -1 nogil' to 'Sint64 (*)(SDL_RWops *) noexcept'. Exception > > values are incompatible. Suggest adding 'noexcept' to type 'Sint64 > > (SDL_RWops *) except? -1 nogil'.
This looks like probably a regression with cython 3.x, which has this in its release notes: Cython-implemented C functions now propagate exceptions by default, rather than swallowing them in non-object returning function if the user forgot to add an except declaration to the signature. This was a long-standing source of bugs, but can require adding the noexcept declaration to existing functions if exception propagation is really undesired. (Github issue #4280) ... To opt out of the new, safer exception handling behaviour, legacy code can set the new directive legacy_implicit_noexcept=True for a transition period to keep the previous, unsafe behaviour. This directive will eventually be removed in a later release. References: <https://github.com/cython/cython/issues/4280>, <https://github.com/cython/cython/pull/5094>. The changelog for pygame-sdl2 8.1.3-1 says the new upstream release is compatible with cython3, but that doesn't seem to be the case? But I also don't understand where these new upstream releases are coming from, because https://github.com/renpy/pygame_sdl2 only has tags for 8.1.0, and there don't seem to be any recent commits that are relevant to cython3 compatibility. smcv