Skip to content

pyvips-binary: Add version 8.18.6 - #2379

Open
luhenry wants to merge 2 commits into
mainfrom
pyvips-binary
Open

luhenry wants to merge 2 commits into
mainfrom
pyvips-binary

Conversation

@luhenry

@luhenry luhenry commented Sep 26, 2026 •

Copy link
Copy Markdown
Member

Compiles libvips and its full dependency stack from source with libvips-packaging's build.sh, then the cffi _libvips abi3 extension against it. Upstream publishes no riscv64 wheel, and libvips-packaging no riscv64 tarball.

Mirrors pyvips-binary's ci.yml and libvips-packaging's ci.yml.

Differs from upstream

  • libvips tarball built in this workflow - no linux-riscv64 release asset exists
  • musllinux dropped - no nightly Rust host toolchain for riscv64 musl

Matrix: cp314 only, as upstream - one abi3 wheel serves every interpreter.

Testing

  • adds pyvips' own pytest suite after upstream's smoke test, to exercise the bundled codecs

License: The bundled libvips statically links LGPL (libvips, GLib, Pango, librsvg, libheif, libexif, FriBidi) and permissive libraries; upstream ships none of their licence texts, so the build adds them and publishes their sources.

Patches

  • 0001 (libvips-packaging) - To upstream. Adds the linux-riscv64 platform; riscv64-only.
  • 0002 (libvips-packaging) - Inappropriate. Drops zlib-ng/libaom/pixman RVV kernels, which SIGILL on our runners, and zlib-ng's Zbc CRC32, which zlib-ng 2.3.3 cannot build without RVV; riscv64-only.
  • 0003 (pyvips-binary) - To upstream. download-vips.py rejects riscv64; riscv64-only.
  • 0004 (pyvips-binary) - Inappropriate. Unpacks the locally built tarball instead of downloading.

pyvips-binary bundles a libvips shared library downloaded from a
kleisauke/libvips-packaging release, which publishes no linux-riscv64
tarball. Build that tarball first with libvips-packaging's own build.sh
and posix.sh, patched to add a native linux-riscv64 platform, then feed
it to pyvips-binary's unchanged cibuildwheel before-build.
luhenry added a commit that referenced this pull request Sep 26, 2026
@github-actions

github-actions Bot commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://riseproject-dev.github.io/python-wheels/pr-preview/pr-2379/

Built to branch gh-pages at 2026-09-27 09:14 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

zlib-ng 2.3.3 defines RISCV_FEATURES only inside its WITH_RVV branch,
so with RVV off and the Zbc CRC32 kernel still detected, functable.c
fails on `cf.riscv.has_zbc` (zlib-ng/zlib-ng@9f396c3 fixes it after the
release). Turn WITH_RISCV_ZBC off too in patch 0002, keeping zlib-ng on
the rv64gc scalar paths the patch already intends.
@luhenry luhenry changed the title pyvips-binary: add riscv64 wheel build for 8.18.6 pyvips-binary: Add version 8.18.6 Sep 27, 2026

This branch has not been deployed

No deployments
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