Build the CFFI Python extension (_raylib_cffi.so) during wheel build
instead of deferring to first import. This eliminates the need for
libgl-dev and libx11-dev on the target system.
- setup.py: run build.py after build.sh to compile CFFI extension
- pyproject.toml: include _raylib_cffi*.so in package-data, bump to 5.5.0.3
- _shim_setup.py: extract .so files from wheel alongside data directory
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
The shim branch was only copying __init__.py from each package,
which dropped Python source files needed for CFFI builds (build.py,
colors.py, defines.py, enums.py, version.py) and extra packages
like pyray. It also dropped project dependencies like cffi.
- Copy all .py files from the main module, not just __init__.py
- Copy extra packages listed in packages.find.include
- Preserve project dependencies in generated pyproject.toml
Vendor raylib C library + pyray Python bindings (CFFI) from commaai's
raylib and raylib-python-cffi forks.
Supports PLATFORM_DESKTOP (X11/GL) and PLATFORM_COMMA (DRM/EGL/GLES)
backends, auto-detected via /TICI.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Static build of bzip2 1.0.8 (libbz2.a + bzlib.h) for use as a
vendored dependency in openpilot replay/cabana tools.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* build linux wheels inside manylinux_2_28 for glibc 2.28 compat
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* add perl-IPC-Cmd for openssl build in manylinux
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Vendors OpenSSL 3.4.1 as static libraries (libcrypto.a, libssl.a) for
openpilot, following the same pattern as other vendored packages.
Uses module name openssl3 to avoid case-insensitive filesystem conflict
with pyOpenSSL's OpenSSL module on macOS.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Vendors libjpeg-turbo 3.1.0 as a static library for openpilot, following
the same pattern as zstd/ncurses/zeromq.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
LTO bitcode is compiler-version-specific. The wheel built with
clang 17 produces bitcode that clang 16 (used in openpilot CI)
cannot read. Disable IPO to produce standard object files.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Cppcheck 2.19.1 static analysis tool, built from source. Includes
the MISRA C addon, cfg files, and platform definitions for opendbc
and panda safety analysis.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Header-only Eigen 3.4.0 C++ linear algebra library, downloaded from
GitLab release. Exposes INCLUDE_DIR for scons integration.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Static build of libzmq 4.3.5 providing headers and library for
C/C++ projects that link against zmq.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>