Merge pull request #185 from radarhere/arm64

Build arm64 wheel
This commit is contained in:
Hugo van Kemenade 2021-01-30 11:33:21 +02:00 committed by GitHub
commit 4e74d04f26
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 42 additions and 16 deletions

View File

@ -29,6 +29,8 @@ echo "::group::Build wheel"
ls -l "${GITHUB_WORKSPACE}/${WHEEL_SDIR}/" ls -l "${GITHUB_WORKSPACE}/${WHEEL_SDIR}/"
echo "::endgroup::" echo "::endgroup::"
echo "::group::Test wheel" if [[ $MACOSX_DEPLOYMENT_TARGET != "11.0" ]]; then
echo "::group::Test wheel"
install_run $PLAT install_run $PLAT
echo "::endgroup::" echo "::endgroup::"
fi

View File

@ -7,7 +7,6 @@ env:
REPO_DIR: Pillow REPO_DIR: Pillow
BUILD_DEPENDS: "" BUILD_DEPENDS: ""
TEST_DEPENDS: "pytest pytest-cov" TEST_DEPENDS: "pytest pytest-cov"
MACOSX_DEPLOYMENT_TARGET: "10.10"
WHEEL_SDIR: wheelhouse WHEEL_SDIR: wheelhouse
jobs: jobs:
@ -20,6 +19,7 @@ jobs:
os: [ "ubuntu-16.04", "macos-latest" ] os: [ "ubuntu-16.04", "macos-latest" ]
python: [ "pypy3.7-7.3.3","pypy3.6-7.3", "3.6", "3.7", "3.8", "3.9" ] python: [ "pypy3.7-7.3.3","pypy3.6-7.3", "3.6", "3.7", "3.8", "3.9" ]
platform: [ "x86_64", "i686" ] platform: [ "x86_64", "i686" ]
macos-target: [ "10.10" ]
exclude: exclude:
- os: "macos-latest" - os: "macos-latest"
platform: "i686" platform: "i686"
@ -28,11 +28,17 @@ jobs:
os-name: "osx" os-name: "osx"
- os: "ubuntu-16.04" - os: "ubuntu-16.04"
os-name: "xenial" os-name: "xenial"
- os: "macos-11.0"
os-name: "osx"
platform: "arm64"
python: "3.9"
macos-target: "11.0"
env: env:
BUILD_COMMIT: HEAD BUILD_COMMIT: HEAD
PLAT: ${{ matrix.platform }} PLAT: ${{ matrix.platform }}
MB_PYTHON_VERSION: ${{ matrix.python }} MB_PYTHON_VERSION: ${{ matrix.python }}
TRAVIS_OS_NAME: ${{ matrix.os-name }} TRAVIS_OS_NAME: ${{ matrix.os-name }}
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macos-target }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with: with:
@ -61,6 +67,7 @@ jobs:
os: [ "ubuntu-16.04", "macos-latest" ] os: [ "ubuntu-16.04", "macos-latest" ]
python: [ "pypy3.7-7.3.3", "pypy3.6-7.3", "3.6", "3.7", "3.8", "3.9" ] python: [ "pypy3.7-7.3.3", "pypy3.6-7.3", "3.6", "3.7", "3.8", "3.9" ]
platform: [ "x86_64", "i686" ] platform: [ "x86_64", "i686" ]
macos-target: [ "10.10" ]
exclude: exclude:
- os: "macos-latest" - os: "macos-latest"
platform: "i686" platform: "i686"
@ -69,11 +76,17 @@ jobs:
os-name: "osx" os-name: "osx"
- os: "ubuntu-16.04" - os: "ubuntu-16.04"
os-name: "xenial" os-name: "xenial"
- os: "macos-11.0"
os-name: "osx"
platform: "arm64"
python: "3.9"
macos-target: "11.0"
env: env:
BUILD_COMMIT: master BUILD_COMMIT: master
PLAT: ${{ matrix.platform }} PLAT: ${{ matrix.platform }}
MB_PYTHON_VERSION: ${{ matrix.python }} MB_PYTHON_VERSION: ${{ matrix.python }}
TRAVIS_OS_NAME: ${{ matrix.os-name }} TRAVIS_OS_NAME: ${{ matrix.os-name }}
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macos-target }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with: with:

View File

@ -33,6 +33,7 @@ function pre_build {
BUILD_PREFIX=`dirname $(dirname $(which python))` BUILD_PREFIX=`dirname $(dirname $(which python))`
PKG_CONFIG_PATH="$BUILD_PREFIX/lib/pkgconfig" PKG_CONFIG_PATH="$BUILD_PREFIX/lib/pkgconfig"
fi fi
if [[ $MACOSX_DEPLOYMENT_TARGET != "11.0" ]]; then
build_simple xcb-proto 1.14.1 https://xcb.freedesktop.org/dist build_simple xcb-proto 1.14.1 https://xcb.freedesktop.org/dist
if [ -n "$IS_MACOS" ]; then if [ -n "$IS_MACOS" ]; then
build_simple xproto 7.0.31 https://www.x.org/pub/individual/proto build_simple xproto 7.0.31 https://www.x.org/pub/individual/proto
@ -42,6 +43,7 @@ function pre_build {
sed -i s/\${pc_sysrootdir\}// /usr/local/lib/pkgconfig/xcb-proto.pc sed -i s/\${pc_sysrootdir\}// /usr/local/lib/pkgconfig/xcb-proto.pc
fi fi
build_simple libxcb $LIBXCB_VERSION https://xcb.freedesktop.org/dist build_simple libxcb $LIBXCB_VERSION https://xcb.freedesktop.org/dist
fi
if [ -n "$IS_MACOS" ]; then if [ -n "$IS_MACOS" ]; then
BUILD_PREFIX=$ORIGINAL_BUILD_PREFIX BUILD_PREFIX=$ORIGINAL_BUILD_PREFIX
PKG_CONFIG_PATH=$ORIGINAL_PKG_CONFIG_PATH PKG_CONFIG_PATH=$ORIGINAL_PKG_CONFIG_PATH
@ -56,7 +58,9 @@ function pre_build {
build_tiff build_tiff
build_libpng build_libpng
build_lcms2 build_lcms2
if [[ $MACOSX_DEPLOYMENT_TARGET != "11.0" ]]; then
build_openjpeg build_openjpeg
fi
CFLAGS="$CFLAGS -O3 -DNDEBUG" CFLAGS="$CFLAGS -O3 -DNDEBUG"
build_libwebp build_libwebp
@ -82,9 +86,16 @@ function run_tests_in_repo {
pytest pytest
} }
EXP_CODECS="jpg jpg_2000 libtiff zlib" EXP_CODECS="jpg"
if [[ $MACOSX_DEPLOYMENT_TARGET != "11.0" ]]; then
EXP_CODECS="$EXP_CODECS jpg_2000"
fi
EXP_CODECS="$EXP_CODECS libtiff zlib"
EXP_MODULES="freetype2 littlecms2 pil tkinter webp" EXP_MODULES="freetype2 littlecms2 pil tkinter webp"
EXP_FEATURES="transp_webp webp_anim webp_mux xcb" EXP_FEATURES="transp_webp webp_anim webp_mux"
if [[ $MACOSX_DEPLOYMENT_TARGET != "11.0" ]]; then
EXP_FEATURES="$EXP_FEATURES xcb"
fi
function run_tests { function run_tests {
if [ -n "$IS_MACOS" ]; then if [ -n "$IS_MACOS" ]; then

@ -1 +1 @@
Subproject commit a01ddf72034b184f1b15341fe8cc7c02ea30bcb9 Subproject commit 2bf2b360f084aaa4b166935c3bd279e2e842f6ff