Skip to content

pi-heif: add build-pi-heif.yml for riscv64 wheels - #847

Merged
luhenry merged 2 commits into
mainfrom
pi-heif
Sep 3, 2026
Merged

pi-heif: add build-pi-heif.yml for riscv64 wheels#847
luhenry merged 2 commits into
mainfrom
pi-heif

Conversation

@luhenry

@luhenry luhenry commented Sep 3, 2026

Copy link
Copy Markdown
Member

Compiles the _pi_heif C extension against libde265 and libheif (built from source, no x265), built from the same pillow_heif sources as pillow-heif transformed to the system-libs Raspberry-Pi variant. Upstream publishes no riscv64 wheel.

Mirrors upstream's wheels-pi_heif.yml Linux job, reusing build-pillow-heif.yml's shape.

Differs from upstream

  • Dropped the cmake==3.31.6 pin — no riscv64 cmake wheel below 4.1.0; the image ships 4.4.2.
  • PIP_EXTRA_INDEX_URL added — Pillow resolves from our registry.
  • musllinux dropped.

Testing

  • same as upstream

License: Wheel bundles libde265 and libheif (both LGPL-3.0); upstream already ships licence text for them via LICENSES_bundled.txt.

Patches

  • 0001-pyproject-drop-the-removed-cpython-freethreading-enable-group.patch - Backport upstream's v1.5.0 fix. Without it cibuildwheel 4.2.0 refuses to parse pyproject.toml, failing every interpreter before any build step. Reproduces off riscv64.

luhenry and others added 2 commits September 3, 2026 15:53
Mirrors the merged build-pillow-heif.yml, adapted for pi-heif's
system-libs (no x265) build: overlays pi-heif/ and runs
transform_to-pi_heif.py the way upstream's wheels-pi_heif.yml does,
and sets PH_LIGHT_ACTION=1 so build_libs.py skips x265.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Az13NcXsVZzzxXmaxxUEy7
cibuildwheel 4.2.0 rejects pillow_heif v1.4.0's [tool.cibuildwheel]
enable list ("Failed to parse enable group. Unknown enable group:
cpython-freethreading"), which fails every interpreter before any
build step runs. Carries the same fix upstream shipped in v1.5.0.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Az13NcXsVZzzxXmaxxUEy7
@luhenry
luhenry merged commit 6ff5072 into main Sep 3, 2026
12 checks passed
@luhenry
luhenry deleted the pi-heif branch September 3, 2026 14:29
@luhenry luhenry linked an issue Sep 3, 2026 that may be closed by this pull request
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.

pi-heif riscv64 support

1 participant