2525 MB_ML_LIBC=${AUDITWHEEL_POLICY:: 9}
2626 MB_ML_VER=${AUDITWHEEL_POLICY: 9}
2727fi
28- PLAT=$ CIBW_ARCHS
28+ PLAT=" ${ CIBW_ARCHS:- $AUDITWHEEL_ARCH } "
2929
3030# Define custom utilities
3131source wheels/multibuild/common_utils.sh
@@ -42,18 +42,30 @@ HARFBUZZ_VERSION=11.0.0
4242LIBPNG_VERSION=1.6.47
4343JPEGTURBO_VERSION=3.1.0
4444OPENJPEG_VERSION=2.5.3
45- if [[ $MB_ML_VER == 2014 ]]; then
46- XZ_VERSION=5.6.4
47- else
48- XZ_VERSION=5.8.0
49- fi
45+ XZ_VERSION=5.8.0
5046TIFF_VERSION=4.7.0
5147LCMS2_VERSION=2.17
48+ ZLIB_VERSION=1.3.1
5249ZLIB_NG_VERSION=2.2.4
5350LIBWEBP_VERSION=1.5.0
5451BZIP2_VERSION=1.0.8
5552LIBXCB_VERSION=1.17.0
5653BROTLI_VERSION=1.1.0
54+ LIBAVIF_VERSION=1.2.1
55+
56+ if [[ $MB_ML_VER == 2014 ]]; then
57+ function build_xz {
58+ if [ -e xz-stamp ]; then return ; fi
59+ yum install -y gettext-devel
60+ fetch_unpack https://tukaani.org/xz/xz-$XZ_VERSION .tar.gz
61+ (cd xz-$XZ_VERSION \
62+ && ./autogen.sh --no-po4a \
63+ && ./configure --prefix=$BUILD_PREFIX \
64+ && make -j4 \
65+ && make install)
66+ touch xz-stamp
67+ }
68+ fi
5769
5870function build_pkg_config {
5971 if [ -e pkg-config-stamp ]; then return ; fi
@@ -105,12 +117,55 @@ function build_harfbuzz {
105117 touch harfbuzz-stamp
106118}
107119
120+ function build_libavif {
121+ if [ -e libavif-stamp ]; then return ; fi
122+
123+ python3 -m pip install meson ninja
124+
125+ if [[ " $PLAT " == " x86_64" ]] || [ -n " $SANITIZER " ]; then
126+ build_simple nasm 2.16.03 https://www.nasm.us/pub/nasm/releasebuilds/2.16.03
127+ fi
128+
129+ # For rav1e
130+ curl https://sh.rustup.rs -sSf | sh -s -- -y
131+ . " $HOME /.cargo/env"
132+ if [ -z " $IS_ALPINE " ] && [ -z " $SANITIZER " ] && [ -z " $IS_MACOS " ]; then
133+ yum install -y perl
134+ if [[ " $MB_ML_VER " == 2014 ]]; then
135+ yum install -y perl-IPC-Cmd
136+ fi
137+ fi
138+
139+ local out_dir=$( fetch_unpack https://github.com/AOMediaCodec/libavif/archive/refs/tags/v$LIBAVIF_VERSION .tar.gz libavif-$LIBAVIF_VERSION .tar.gz)
140+ (cd $out_dir \
141+ && CMAKE_POLICY_VERSION_MINIMUM=3.5 cmake \
142+ -DCMAKE_INSTALL_PREFIX=$BUILD_PREFIX \
143+ -DCMAKE_INSTALL_LIBDIR=$BUILD_PREFIX /lib \
144+ -DCMAKE_BUILD_TYPE=Release \
145+ -DBUILD_SHARED_LIBS=OFF \
146+ -DAVIF_LIBSHARPYUV=LOCAL \
147+ -DAVIF_LIBYUV=LOCAL \
148+ -DAVIF_CODEC_AOM=LOCAL \
149+ -DAVIF_CODEC_DAV1D=LOCAL \
150+ -DAVIF_CODEC_RAV1E=LOCAL \
151+ -DAVIF_CODEC_SVT=LOCAL \
152+ -DENABLE_NASM=ON \
153+ -DCMAKE_MODULE_PATH=/tmp/cmake/Modules \
154+ . \
155+ && make install)
156+ touch libavif-stamp
157+ }
158+
108159function build {
109160 build_xz
110161 if [ -z " $IS_ALPINE " ] && [ -z " $SANITIZER " ] && [ -z " $IS_MACOS " ]; then
111162 yum remove -y zlib-devel
112163 fi
113- build_zlib_ng
164+ if [[ -n " $IS_MACOS " ]] && [[ " $MACOSX_DEPLOYMENT_TARGET " == " 10.10" || " $MACOSX_DEPLOYMENT_TARGET " == " 10.13" ]]; then
165+ build_new_zlib
166+ else
167+ build_zlib_ng
168+ fi
114169
115170 build_simple xcb-proto 1.17.0 https://xorg.freedesktop.org/archive/individual/proto
116171 if [ -n " $IS_MACOS " ]; then
@@ -135,6 +190,7 @@ function build {
135190 build_tiff
136191 fi
137192
193+ build_libavif
138194 build_libpng
139195 build_lcms2
140196 build_openjpeg
0 commit comments