Skip to content

Add riscv64 wheels for pylibjpeg-libjpeg - #2425

Merged
luhenry merged 3 commits into
mainfrom
pylibjpeg-libjpeg
Sep 28, 2026
Merged

luhenry merged 3 commits into
mainfrom
pylibjpeg-libjpeg

Conversation

@luhenry

@luhenry luhenry commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

Compiles a Cython/C++ wrapper around a vendored libjpeg fork (thorfdbg/libjpeg, a git submodule) used as a pylibjpeg plugin for JPEG and JPEG-LS DICOM transfer syntaxes. Upstream publishes no riscv64 wheel.

Mirrors upstream's release-wheels.yml.

Differs from upstream

  • Dropped cp314t - upstream ships no cp314t wheel, has no free-threaded CI leg, and the Cython extension declares no Py_mod_gil slot.

Matrix: cp312/cp313/cp314 (no cp314t, see above).

Testing

  • Upstream's release job builds and uploads wheels without exercising them; added a smoke test that round-trips a Pillow-encoded JPEG through libjpeg.decode() and checks the extension is a real .so.

License: GPL-3.0-only; the wheel statically compiles the vendored libjpeg fork (also GPL-3.0), and the project's own LICENSE file already covers both.

Built and smoke-tested on cp312/cp313/cp314-manylinux_riscv64.

Cython/C++ extension over a vendored fork of libjpeg (thorfdbg/libjpeg,
a git submodule), used as a pylibjpeg plugin for JPEG/JPEG-LS DICOM
transfer syntaxes. No SIMD or architecture-specific code; the vendored
library's own autoconf configure probes compiler flags (including
x86-only ones like -mfpmath=387) and skips what riscv64's gcc doesn't
support.
@luhenry
luhenry marked this pull request as draft September 28, 2026 07:34
The YAML >- fold joined "python -c \"" with the next line via a single
space, so the executed string started with a leading space before its
first statement, which python -c parses as an indentation error.
@github-actions

github-actions Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-09-28 17:55 UTC

poetry-core <2 (this project's build-system floor) copies legal files
straight into <dist-info>/, not the PEP 639 licenses/ subdirectory that
only poetry-core 2.x writes; confirmed by reading poetry-core 1.9.1's
wheel builder. The cp312 CI job's build, repair and smoke test all
already passed - only this assertion's expected path was wrong.
@luhenry
luhenry marked this pull request as ready for review September 28, 2026 14:30
luhenry added a commit that referenced this pull request Sep 28, 2026
@luhenry
luhenry merged commit 3b2af8e into main Sep 28, 2026
11 checks passed
@luhenry
luhenry deleted the pylibjpeg-libjpeg branch September 28, 2026 17:54
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