Skip to content

Bundle cp313 and cp314 pygame for ROCKNIX Python 3.14 - #129

Open
misantronic wants to merge 1 commit into
mainfrom
fix/rocknix-python-314-pygame
Open

Bundle cp313 and cp314 pygame for ROCKNIX Python 3.14#129
misantronic wants to merge 1 commit into
mainfrom
fix/rocknix-python-314-pygame

Conversation

@misantronic

Copy link
Copy Markdown
Owner

Fixes #127.

ROCKNIX nightly 20260822 ships Python 3.14, while the bundle vendors a pygame-ce wheel whose extension modules are tagged cpython-313. An interpreter never loads extensions built for another minor version, so pygame/__init__.py (pure Python) imports fine and then dies on from pygame.base import *.

The two aarch64 wheels of pygame-ce 2.5.7 merge cleanly: their pure-Python files are identical and their pygame_ce.libs payloads are byte-for-byte the same, so base.cpython-313-*.so and base.cpython-314-*.so can sit side by side and each interpreter picks its own. That covers stable ROCKNIX and the nightlies from one bundle, with no launcher or install-time detection.

  • fetch_vendor.sh (new) downloads both wheels and merges them into vendor/, matching the pattern the onion and muos ports already use.
  • build_bundle.sh refuses to build unless every ABI in REQUIRED_PY_VERSIONS is present in the vendor directory.
  • README documents the multi-ABI rule and how to add a future Python version.

Installer grows 17.4 MB to 19.1 MB. Devices on Python 3.13 receive byte-identical files to alpha1, the cp314 modules are purely additive. Verified locally that the built payload contains both ABI sets; on-device confirmation for 3.14 is pending with the issue reporter.

@misantronic misantronic self-assigned this Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ROCKNIX nightly 20260822 - No module named 'pygame.base' on RG SP

1 participant