From bf318157288ab53edd229d58f4f390cd3209d147 Mon Sep 17 00:00:00 2001 From: ffgan Date: Sun, 4 Jan 2026 15:06:28 +0800 Subject: [PATCH 1/2] Build riscv64+glibc wheel Co-authored by: nijincheng@iscas.ac.cn; Signed-off-by: ffgan --- .github/workflows/posix.yml | 6 +++++- tools/build_steps.sh | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 6d4fe64..8b852dc 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -47,6 +47,9 @@ jobs: - { os: ubuntu-24.04-arm, PLAT: s390x, INTERFACE64: '0', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} - { os: ubuntu-24.04-arm, PLAT: s390x, INTERFACE64: '1', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} + - { os: ubuntu-24.04-arm, PLAT: riscv64, INTERFACE64: '0', MB_ML_VER: '_2_39', MB_ML_LIBC: manylinux} + - { os: ubuntu-24.04-arm, PLAT: riscv64, INTERFACE64: '1', MB_ML_VER: '_2_39', MB_ML_LIBC: manylinux} + env: NIGHTLY: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }} MB_ML_LIBC: ${{ matrix.MB_ML_LIBC }} @@ -73,7 +76,7 @@ jobs: xcode-version: '15.4' - name: Set up QEMU - if: matrix.PLAT == 'ppc64le' || matrix.PLAT == 's390x' + if: matrix.PLAT == 'ppc64le' || matrix.PLAT == 's390x' || matrix.PLAT == 'riscv64' uses: docker/setup-qemu-action@v3 with: platforms: all @@ -107,6 +110,7 @@ jobs: CIBW_MUSLLINUX_PPC64LE_IMAGE: ${{ matrix.MB_ML_LIBC }}${{matrix.MB_ML_VER}} CIBW_MANYLINUX_S390X_IMAGE: ${{ matrix.MB_ML_LIBC }}${{matrix.MB_ML_VER}} CIBW_MUSLLINUX_S390X_IMAGE: ${{ matrix.MB_ML_LIBC }}${{matrix.MB_ML_VER}} + CIBW_MANYLINUX_RISCV64_IMAGE: ${{ matrix.MB_ML_LIBC }}${{matrix.MB_ML_VER}} - name: Upload wheels to artifacts uses: actions/upload-artifact@v4.3.0 diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 448d732..66f7007 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -68,7 +68,7 @@ function get_plat_tag { local mb_ml_ver=${MB_ML_VER:-1} local mb_ml_libc=${MB_ML_LIBC:-manylinux} case $plat in - i686|x86_64|arm64|universal2|intel|aarch64|s390x|ppc64le|loongarch64) ;; + i686|x86_64|arm64|universal2|intel|aarch64|s390x|ppc64le|loongarch64|riscv64) ;; *) echo Did not recognize plat $plat; return 1 ;; esac local uname=${2:-$(uname)} @@ -153,6 +153,9 @@ function build_lib { Linux-loongarch64) local target="GENERIC" ;; + Linux-riscv64) + local target="GENERIC" + ;; *) echo "Strange plat value $plat"; exit 1 ;; esac case $interface64 in @@ -185,7 +188,7 @@ function build_lib { echo "the utest samin/damin have been temporarily disabled." echo "QEMU does not support the 'lper' /'lpdr' instructions used" fi - if [ "$plat" == "loongarch64" ] || [ "$plat" == "ppc64le" ] || [ "$plat" == "s390x" ]; then + if [ "$plat" == "loongarch64" ] || [ "$plat" == "ppc64le" ] || [ "$plat" == "s390x" ] || [ "$plat" == "riscv64" ]; then sed -i 's/CTEST(fork, safety)/CTEST_SKIP(fork, safety)/g' ./utest/test_fork.c sed -i 's/CTEST(fork, safety_after_fork_in_parent)/CTEST_SKIP(fork, safety_after_fork_in_parent)/g' ./utest/test_post_fork.c echo "QEMU has a race condition preventing fork tests to work as expected" From 8ba553789e86d08fc1f148045df8da5fbc449dff Mon Sep 17 00:00:00 2001 From: ffgan Date: Sun, 4 Jan 2026 15:41:53 +0800 Subject: [PATCH 2/2] incremented the wheel build number Co-authored by: nijincheng@iscas.ac.cn; Signed-off-by: ffgan --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 9922c2c..7da6cee 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ build-backend = "setuptools.build_meta" [project] name = "scipy-openblas64" # v0.3.30-359-g29fab2b9 -version = "0.3.30.359.2" +version = "0.3.30.359.3" requires-python = ">=3.7" description = "Provides OpenBLAS for python packaging" readme = "README.md"