This commit is contained in:
Andrew Murray 2025-08-12 07:59:45 +00:00 committed by GitHub
commit 646991e4c8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 45 additions and 0 deletions

View File

@ -276,6 +276,10 @@ function build {
build_simple libxcb $LIBXCB_VERSION https://www.x.org/releases/individual/lib
build_libjpeg_turbo
if [[ "$AUDITWHEEL_ARCH" == "ppc64le" ]]; then
return
fi
if [[ -n "$IS_MACOS" ]]; then
# Custom tiff build to include jpeg; by default, configure won't include
# headers/libs in the custom macOS/iOS prefix. Explicitly disable webp,

View File

@ -93,6 +93,31 @@ jobs:
os: ubuntu-24.04-arm
cibw_arch: aarch64
build: "*manylinux*"
- name: "manylinux_2_28 3.10 ppc64le"
platform: linux
os: ubuntu-latest
cibw_arch: ppc64le
build: "*cp310-manylinux*"
- name: "manylinux_2_28 3.11 ppc64le"
platform: linux
os: ubuntu-latest
cibw_arch: ppc64le
build: "*cp311-manylinux*"
- name: "manylinux_2_28 3.12 ppc64le"
platform: linux
os: ubuntu-latest
cibw_arch: ppc64le
build: "*cp312-manylinux*"
- name: "manylinux_2_28 3.13 ppc64le"
platform: linux
os: ubuntu-latest
cibw_arch: ppc64le
build: "*cp313*-manylinux*"
- name: "manylinux_2_28 3.14 ppc64le"
platform: linux
os: ubuntu-latest
cibw_arch: ppc64le
build: "*cp314*-manylinux*"
- name: "iOS arm64 device"
platform: ios
os: macos-latest
@ -115,6 +140,10 @@ jobs:
with:
python-version: "3.x"
- name: Set up QEMU
if: "matrix.cibw_arch == 'ppc64le'"
uses: docker/setup-qemu-action@v3
- name: Install cibuildwheel
run: |
python3 -m pip install -r .ci/requirements-cibw.txt

View File

@ -27,11 +27,16 @@ def test_wheel_modules() -> None:
# tkinter is not available on iOS
expected_modules.remove("tkinter")
elif platform.processor() == "ppc64le":
expected_modules -= {"freetype2", "littlecms2", "webp", "avif"}
assert set(features.get_supported_modules()) == expected_modules
def test_wheel_codecs() -> None:
expected_codecs = {"jpg", "jpg_2000", "zlib", "libtiff"}
if platform.processor() == "ppc64le":
expected_codecs -= {"jpg_2000", "libtiff"}
assert set(features.get_supported_codecs()) == expected_codecs
@ -54,5 +59,7 @@ def test_wheel_features() -> None:
# Can't distribute raqm due to licensing, and there's no system version;
# fribidi and harfbuzz won't be available if raqm isn't available.
expected_features -= {"raqm", "fribidi", "harfbuzz"}
elif platform.processor() == "ppc64le":
expected_features -= {"raqm", "fribidi", "harfbuzz"}
assert set(features.get_supported_features()) == expected_features

View File

@ -150,6 +150,11 @@ environment.PATH = "$(pwd)/build/deps/iphonesimulator/bin:$PATH"
select = "*-win32"
test-requires = [ ]
[[tool.cibuildwheel.overrides]]
select = "*_ppc64le"
config-settings = "raqm=disable fribidi=disable imagequant=disable"
test-requires = [ ]
[tool.black]
exclude = "wheels/multibuild"