From 9690fd5160636d61b5f8119a94de9274b9f5c442 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Sun, 1 Mar 2026 13:07:15 -0800 Subject: [PATCH] raylib: use stable ABI for CFFI extension (#37) The CFFI extension was built with py_limited_api=False, producing version-specific .so files (e.g., cpython-312 on Linux, cpython-314 on macOS). This caused import failures when the build Python version didn't match the runtime version. Switch to py_limited_api=True to produce _raylib_cffi.abi3.so which works across Python 3.x versions. Co-authored-by: Claude Opus 4.6 --- raylib/pyproject.toml | 2 +- raylib/raylib/build.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/raylib/pyproject.toml b/raylib/pyproject.toml index 9845b66..ec51175 100644 --- a/raylib/pyproject.toml +++ b/raylib/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "raylib" -version = "5.5.0.3" +version = "5.5.0.4" description = "raylib + pyray Python bindings (commaai fork)" requires-python = ">=3.8" dependencies = ["cffi>=1.17.1"] diff --git a/raylib/raylib/build.py b/raylib/raylib/build.py index 9c24dd7..46bf823 100644 --- a/raylib/raylib/build.py +++ b/raylib/raylib/build.py @@ -93,7 +93,7 @@ def build_ffi(): '-framework', 'CoreVideo', ] libraries = [] - extra_compile_args = ["-Wno-error=incompatible-function-pointer-types", "-D_CFFI_NO_LIMITED_API"] + extra_compile_args = ["-Wno-error=incompatible-function-pointer-types"] else: print("BUILDING FOR LINUX") extra_link_args = [ @@ -106,13 +106,13 @@ def build_ffi(): extra_link_args += ['-lGLESv2', '-lEGL', '-lgbm', '-ldrm'] else: extra_link_args += ['-lX11'] - extra_compile_args = ["-Wno-incompatible-pointer-types", "-D_CFFI_NO_LIMITED_API"] + extra_compile_args = ["-Wno-incompatible-pointer-types"] libraries = [] print("extra_link_args: " + str(extra_link_args)) ffibuilder.set_source("raylib._raylib_cffi", ffi_includes, - py_limited_api=False, + py_limited_api=True, include_dirs=[RAYLIB_INCLUDE_PATH], extra_link_args=extra_link_args, extra_compile_args=extra_compile_args,