Conversation
luhenry
added a commit
that referenced
this pull request
Sep 8, 2026
C-Blosc's own CMakeLists.txt already gates SSE2/AVX2 on a recognized x86 CMAKE_SYSTEM_PROCESSOR and falls back to its portable shuffle-generic.c/bitshuffle-generic.c path with just a warning otherwise, so riscv64 needs no SIMD-fallback patch. Verified locally by building and running the full test suite on macOS arm64 (an equally-unrecognized architecture for this old c-blosc), which exercises the same code path riscv64 will. One patch adds an explicit license_files list (setup.py sets none today, so setuptools' default LICEN[CS]E* glob only picks up this project's own LICENSE.txt) covering c-blosc's own licence plus the codecs it statically compiles in by default (LZ4, zlib), including a restored LICENSE for the vendored zstd 1.5.6 tree, which never carried one over from upstream.
The registry does have riscv64 numpy wheels for cp313/cp314/cp314t too (numpy >= 2.3.3, manylinux_2_38/2_39_riscv64) -- an earlier check missed them by grepping only for the legacy `linux_riscv64.whl` filename suffix, which the newer manylinux_2_38/2_39-tagged wheels don't use. Drop the cp312-only restriction.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
blosc1.11.4Compiles the vendored c-blosc C library (with LZ4 and zlib codecs) into a Python extension via CMake/scikit-build. Upstream publishes no riscv64 wheel.
Mirrors upstream's
cibuildwheels.yml.Differs from upstream
Testing
python -m blosc.testLicense: Wheel bundles c-blosc's own BSD licence plus its statically-linked LZ4 (BSD) and zlib (zlib licence); the vendored zstd (BSD) copy ships no licence file at all, so the patch restores one.
Patches
0001-Ship-the-licences-of-what-the-wheel-actually-bundles.patch- To upstream (not submitted, no cross-repo issue/PR). Adds alicense_fileslist to setup.py; without it only the wrapper's own LICENSE.txt ships. Reproduces off riscv64 too (verified locally on macOS arm64, an equally SIMD-unsupported architecture for this c-blosc version).Built and tested locally (macOS arm64, no SIMD path, same fallback riscv64 will take): 38 passed, 1 skipped (psutil-gated leak test, same as upstream's own CI).