mirror of
https://github.com/python-pillow/Pillow.git
synced 2026-02-05 06:49:32 +03:00
Build on macOS and Linux wheels, except for manylinux2014
This commit is contained in:
parent
6ab48abe6f
commit
9096240a63
20
.github/workflows/wheels-dependencies.sh
vendored
20
.github/workflows/wheels-dependencies.sh
vendored
|
|
@ -102,6 +102,7 @@ HARFBUZZ_VERSION=12.2.0
|
|||
LIBPNG_VERSION=1.6.50
|
||||
JPEGTURBO_VERSION=3.1.2
|
||||
OPENJPEG_VERSION=2.5.4
|
||||
JPEGXL_VERSION=0.11.1
|
||||
XZ_VERSION=5.8.1
|
||||
ZSTD_VERSION=1.5.7
|
||||
TIFF_VERSION=4.7.1
|
||||
|
|
@ -173,6 +174,21 @@ function build_brotli {
|
|||
touch brotli-stamp
|
||||
}
|
||||
|
||||
function build_jpegxl {
|
||||
if [ -e jpegxl-stamp ]; then return; fi
|
||||
|
||||
local out_dir=$(fetch_unpack https://github.com/google/highway/archive/1.3.0.tar.gz)
|
||||
(cd $out_dir \
|
||||
&& cmake -DCMAKE_INSTALL_PREFIX=$BUILD_PREFIX -DCMAKE_INSTALL_LIBDIR=$BUILD_PREFIX/lib -DCMAKE_INSTALL_NAME_DIR=$BUILD_PREFIX/lib $HOST_CMAKE_FLAGS . \
|
||||
&& make install)
|
||||
|
||||
local out_dir=$(fetch_unpack https://github.com/libjxl/libjxl/archive/v$JPEGXL_VERSION.tar.gz)
|
||||
(cd $out_dir \
|
||||
&& cmake -DCMAKE_INSTALL_PREFIX=$BUILD_PREFIX -DCMAKE_INSTALL_LIBDIR=$BUILD_PREFIX/lib -DCMAKE_INSTALL_NAME_DIR=$BUILD_PREFIX/lib -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_ENABLE_SKCMS=OFF -DBUILD_TESTING=OFF $HOST_CMAKE_FLAGS . \
|
||||
&& make install)
|
||||
touch jpegxl-stamp
|
||||
}
|
||||
|
||||
function build_harfbuzz {
|
||||
if [ -e harfbuzz-stamp ]; then return; fi
|
||||
python3 -m pip install meson ninja
|
||||
|
|
@ -335,6 +351,10 @@ function build {
|
|||
# On iOS, there's no vendor-provided raqm, and we can't ship it due to
|
||||
# licensing, so there's no point building harfbuzz.
|
||||
build_harfbuzz
|
||||
|
||||
if [[ "$MB_ML_VER" != 2014 ]]; then
|
||||
build_jpegxl
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
|
||||
|
|
@ -25,6 +26,8 @@ def test_wheel_modules() -> None:
|
|||
elif sys.platform == "ios":
|
||||
# tkinter is not available on iOS
|
||||
expected_modules.remove("tkinter")
|
||||
elif os.environ.get("AUDITWHEEL_POLICY") != "manylinux2014":
|
||||
expected_modules.add("jpegxl")
|
||||
|
||||
assert set(features.get_supported_modules()) == expected_modules
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user