Skip to content

pyheif: add build-pyheif.yml for riscv64 wheels - #1465

Merged
luhenry merged 3 commits into
mainfrom
pyheif
Sep 8, 2026
Merged

pyheif: add build-pyheif.yml for riscv64 wheels#1465
luhenry merged 3 commits into
mainfrom
pyheif

Conversation

@luhenry

@luhenry luhenry commented Sep 7, 2026

Copy link
Copy Markdown
Member

CFFI binding to libheif for HEIF/HEIC image decoding. Upstream publishes no riscv64 wheel.

Mirrors the libheif/all-pythons-repaired stages of upstream's Dockerfile.

Differs from upstream

  • x265 bumped 3.6 -> 4.2 - CMake 4 on the image refuses x265 3.6's explicit cmake_policy(...OLD) calls

Testing

  • same as upstream

License: Wheel bundles x265 (GPL-2.0), libde265/libheif (LGPL-3.0), and libaom (BSD-2-Clause + patent grant) built from source; upstream ships no licence text for any of them, so the build adds it.

Built on cp312; 390 passed.

CFFI binding to libheif; none of libheif/libde265/libaom/x265 are
packaged for riscv64 (Rocky 10 has neither in its base repos nor CRB),
so the workflow builds all four from source exactly as upstream's own
Dockerfile does, staging their licence texts alongside pyheif's own.
luhenry added a commit that referenced this pull request Sep 7, 2026
x265 3.6 (upstream's pin) hard-sets both policies to OLD; CMake 4 on the
manylinux_2_39_riscv64 image errors outright regardless of
CMAKE_POLICY_VERSION_MINIMUM, since it's an explicit cmake_policy() call
rather than a bare cmake_minimum_required floor. 4.2 dropped both -- the
same version pillow-heif's own riscv64 port already uses for this reason.
test_versions.py::test_pyheif_version reads pyheif/data/version.txt by a
cwd-relative path instead of through the installed package; only tests/
was staged, so pytest ran from an empty dir missing that one file. The
other 389 tests (real HEIC/HIF/AVIF decode against the installed wheel)
already passed against the native build.
@luhenry
luhenry merged commit ad5e751 into main Sep 8, 2026
10 checks passed
@luhenry
luhenry deleted the pyheif branch September 8, 2026 08:47
@luhenry luhenry linked an issue Sep 8, 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.

pyheif riscv64 support

1 participant