Skip to content

kivy: Add version 2.3.1 - #2548

Merged
luhenry merged 3 commits into
mainfrom
kivy
Oct 1, 2026
Merged

luhenry merged 3 commits into
mainfrom
kivy

Conversation

@luhenry

@luhenry luhenry commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Compiles kivy's Cython extensions against a from-source SDL2/SDL2_image/SDL2_mixer/SDL2_ttf stack. Upstream publishes no riscv64 wheel.

Mirrors upstream's manylinux_wheels.yml.

Differs from upstream

  • SDL2 stack built in before-all - upstream's separate manylinux2014 docker run has no riscv64 image
  • No EPEL; drops libXScrnSaver-devel, fcitx-devel, mesa-libGLES-devel - absent on Rocky 10 riscv64
  • Adds python-unversioned-command and zlib-ng-compat-devel - bare python and zlib headers manylinux2014 had
  • CMAKE_POLICY_VERSION_MINIMUM=3.5 - the image's CMake 4 rejects vendored deps' old minimums

Matrix: cp312, cp313 - 2.3.1 predates Python 3.14 (Cython capped at 3.0.11).

Testing

  • same as upstream; Xvfb and Mesa installed with apt on the riscv64 runner

License: Wheel bundles SDL2, SDL2_image, SDL2_mixer, SDL2_ttf (zlib), libtiff, libwebp, libxmp, FreeType, HarfBuzz and libpng; upstream ships no licence text for them, so the build adds it.

Test counts pending CI.

luhenry commented Sep 30, 2026

Copy link
Copy Markdown
Member Author

check_commit_messages fails against a stale github.event.pull_request.body captured at PR-open time, which briefly carried an auto-injected attribution footer (the actual commit message itself was always clean). The live PR description has been clean since shortly after opening. This will clear itself on this PR's next real commit; not re-running since a rerun replays the same cached event payload.


Generated by Claude Code

@github-actions

github-actions Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-01 12:10 UTC

Test collection failed on all matrix legs with "Failed: Marks cannot
be applied to fixtures." in common.py's async_run helper
(pytest.mark.asyncio(pytest_asyncio.fixture(func))).

Not riscv64-specific: setup.cfg's [dev] extra pins pytest>=3.6 and
pytest-asyncio!=0.11.0, both open-ended, so install_kivy_wheel dev
resolves against today's PyPI and lands on pytest 9.1+. Verified by
diffing the pytest 9.0.3 and 9.1.0 wheels directly: the same message
lives in _pytest/deprecated.py (a PytestRemovedIn8Warning) through
9.0.3, and moves to _pytest/fixtures.py as a hard fail() in 9.1.0.

A PIP_CONSTRAINT file caps pytest for the test install only, without
touching setup.cfg's own bound or the shipped wheel's dependencies
(kivy declares no pytest runtime dependency at all).

Signed-off-by: Ludovic Henry <git@ludovic.dev>
<9.1 fixed the hard `Failed: Marks cannot be applied to fixtures.`
error (that's pytest 9.1.0+ only), but the resolved 9.0.x still
promotes the same underlying PytestRemovedIn9Warning to a collection
ERROR at import time -- same test_app.py collection failure, different
error class. pytest's own deprecation-escalation policy in the 9.0
pre-9.1 window apparently already enforces this one as fatal, not just
warn-worthy.

Drop the cap below the whole 8.x/9.0 cycle to pytest<8, the last major
line predating this deprecation existing at all (my earlier diff of
7.4.4's _pytest/fixtures.py and deprecated.py found neither the
warning nor the hard-error string). No change to pytest-asyncio's own
version -- pip's resolver picks whichever release is compatible with
pytest<8.

Signed-off-by: Ludovic Henry <git@ludovic.dev>
@luhenry
luhenry marked this pull request as ready for review September 30, 2026 22:57
luhenry added a commit that referenced this pull request Sep 30, 2026
@luhenry
luhenry merged commit 40231ee into main Oct 1, 2026
13 checks passed
@luhenry
luhenry deleted the kivy branch October 1, 2026 09:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant