Skip to content

pymupdfb: add build-pymupdfb.yml for riscv64 wheels - #1733

Merged
luhenry merged 3 commits into
mainfrom
pymupdfb
Sep 11, 2026
Merged

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

Conversation

@luhenry

@luhenry luhenry commented Sep 10, 2026

Copy link
Copy Markdown
Member

Compiles MuPDF's shared libraries (libmupdf.so, libmupdfcpp.so) into the split wheel that PyMuPDF 1.24.10 depends on. Upstream publishes no riscv64 wheel.

Mirrors upstream's own scripts/gh_release.py, which builds this flavour with cibuildwheel and PYMUPDF_SETUP_FLAVOUR=bd; same in-tree pipcl/setup.py as build-pymupdf.yml (1.28.2), just a different flavour and an older tag.

Differs from upstream

  • dnf install -y clang-devel + PYMUPDF_SETUP_LIBCLANG=clang - libclang PyPI wheel has no riscv64 build (same fix as build-pymupdf.yml).
  • XCFLAGS/XCXXFLAGS=-D__LITTLE_ENDIAN__ - mupdf's tesseract endianness detection has no riscv64 case (same fix as build-pymupdf.yml).
  • CIBW_REPAIR_WHEEL_COMMAND_LINUX='' - upstream itself disables repair for this flavour; auditwheel finds nothing to add and exits non-zero.
  • musllinux dropped - same libclang-via-dnf workaround as build-pymupdf.yml, which is also manylinux-only.

Matrix: single cp312 selector - the wheel is py3-none-*, independent of Python version.

Testing: upstream never unit-tests this flavour standalone (only as a pip install fixture before testing PyMuPDF itself); the build instead asserts the wheel carries riscv64 ELF libmupdf.so/libmupdfcpp.so and its licence file.

License: OK

Built on cp312; wheel content and ELF machine type verified.

luhenry added a commit that referenced this pull request Sep 10, 2026
@luhenry
luhenry merged commit 5da986e into main Sep 11, 2026
6 checks passed
@luhenry
luhenry deleted the pymupdfb branch September 11, 2026 09:01
@luhenry luhenry linked an issue Sep 11, 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.

pymupdfb riscv64 support

1 participant