Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .ci/requirements-cibw.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
cibuildwheel==3.4.0
cibuildwheel==3.4.1
13 changes: 13 additions & 0 deletions .github/workflows/wheels-dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,12 @@ function build_libavif {
-DAVIF_CODEC_DAV1D=LOCAL
)
fi
# libaom's riscv64 RVV code calls functions without declarations, which
# GCC 14 (manylinux_2_39) treats as errors. Disable arch-specific AOM
# optimizations for riscv64; QEMU-based builds don't benefit from them.
if [[ "$(uname -m)" == "riscv64" ]]; then
libavif_cmake_flags+=(-DAOM_TARGET_CPU=generic)
fi

local out_dir=$(fetch_unpack https://github.com/AOMediaCodec/libavif/archive/refs/tags/v$LIBAVIF_VERSION.tar.gz libavif-$LIBAVIF_VERSION.tar.gz)

Expand Down Expand Up @@ -267,6 +273,13 @@ function build {
fi
build_simple libxcb $LIBXCB_VERSION https://www.x.org/releases/individual/lib

# libjpeg-turbo 3.1.4.1 simdcoverage.c references riscv64 RVV SIMD
# functions that are only in upstream main and not yet released. Disable
# SIMD for riscv64 to avoid the build error; there is no production
# riscv64 SIMD support in this version anyway.
if [[ "$(uname -m)" == "riscv64" ]]; then
HOST_CMAKE_FLAGS="${HOST_CMAKE_FLAGS} -DWITH_SIMD=FALSE"
fi
build_libjpeg_turbo
if [[ -n "$IS_MACOS" ]]; then
# Custom tiff build to include jpeg; by default, configure won't include
Expand Down
15 changes: 14 additions & 1 deletion .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ concurrency:
cancel-in-progress: true

env:
EXPECTED_DISTS: 66
EXPECTED_DISTS: 68
FORCE_COLOR: 1

jobs:
Expand Down Expand Up @@ -94,6 +94,12 @@ jobs:
os: ubuntu-24.04-arm
cibw_arch: aarch64
build: "*musllinux*"
- name: "manylinux_2_39 riscv64"
platform: linux
os: ubuntu-latest
cibw_arch: riscv64
build: "cp3{12,13}-manylinux*"
manylinux: "manylinux_2_39"
- name: "iOS arm64 device"
platform: ios
os: macos-latest
Expand All @@ -116,6 +122,12 @@ jobs:
with:
python-version: "3.x"

- name: Set up QEMU
if: matrix.cibw_arch == 'riscv64'
uses: docker/setup-qemu-action@v4
with:
platforms: riscv64

- name: Install cibuildwheel
run: |
python3 -m pip install -r .ci/requirements-cibw.txt
Expand All @@ -128,6 +140,7 @@ jobs:
CIBW_ARCHS: ${{ matrix.cibw_arch }}
CIBW_BUILD: ${{ matrix.build }}
CIBW_ENABLE: cpython-prerelease pypy
CIBW_MANYLINUX_RISCV64_IMAGE: ${{ matrix.manylinux }}
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx_deployment_target }}

- uses: actions/upload-artifact@v7
Expand Down
Loading