googleapis / googleapis/google-cloud-python

Add riscv64 (RISC-V) manylinux wheel builds

オープン
#16,517 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
api: storage priority: p3 type: feature request
主要言語
Python
スター
5.4k
フォーク
1.8k
平均マージ
3日 4時間
マージ済み PR(30日)
122

説明

**Is your feature request related to a problem? Please describe.**

There are no pre-built wheels for the `linux_riscv64` platform. Users on RISC-V hardware (e.g., SiFive boards, StarFive VisionFive 2, Milk-V) must compile google-crc32c from source, which requires a working C toolchain, cmake, and the google/crc32c submodule. This is a significant barrier for RISC-V adoption since many users expect `pip install google-crc32c` to just work.

**Describe the solution you'd like**

Add `riscv64` to the manylinux wheel build matrix using `quay.io/pypa/manylinux_2_28_riscv64` (the official PyPA manylinux image for RISC-V). The existing `build_on_centos.sh` script already works inside manylinux_2_28 containers, and QEMU user-mode emulation makes cross-building straightforward.

Additionally, add a GitHub Actions workflow that builds and tests riscv64 wheels via QEMU, so CI coverage is visible on pull requests.

**Describe alternatives you've considered**

- Building from source on native riscv64 hardware: works but is slow and requires users to have build tools installed.
- Cross-compiling with a riscv64 GCC toolchain outside Docker: more complex setup and harder to produce manylinux-compliant wheels.

**Additional context**

- The `manylinux_2_28_riscv64` image is officially maintained by PyPA: https://quay.io/repository/pypa/manylinux_2_28_riscv64
- The google/crc32c C library builds cleanly on riscv64 with cmake
- Several Python ecosystem packages (numpy, scipy, etc.) are adding riscv64 wheel support

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。