diff --git a/.travis.yml b/.travis.yml index 406a07975294f82bdd31272843da08ace36cde23..30a0ff0df304c60909d0d72942fc18259fe5c3f9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -295,6 +295,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.6 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=0 + - ENABLE_HEADLESS=0 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache - os: linux language: generic dist: xenial @@ -319,6 +334,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.7 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=0 + - ENABLE_HEADLESS=0 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache - os: linux language: generic dist: xenial @@ -343,6 +373,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.8 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=0 + - ENABLE_HEADLESS=0 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache - os: linux language: generic dist: xenial @@ -367,6 +412,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.8 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=0 + - ENABLE_HEADLESS=0 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache # headless builds for Linux - os: linux @@ -393,6 +453,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.6 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=0 + - ENABLE_HEADLESS=1 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache - os: linux language: generic dist: xenial @@ -417,6 +492,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.7 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=0 + - ENABLE_HEADLESS=1 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache - os: linux language: generic dist: xenial @@ -441,6 +531,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.8 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=0 + - ENABLE_HEADLESS=1 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache - os: linux language: generic dist: xenial @@ -465,6 +570,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.9 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=0 + - ENABLE_HEADLESS=1 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache # contrib builds for Linux - os: linux @@ -491,6 +611,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.6 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=1 + - ENABLE_HEADLESS=0 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache - os: linux language: generic dist: xenial @@ -515,6 +650,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.7 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=1 + - ENABLE_HEADLESS=0 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache - os: linux language: generic dist: xenial @@ -539,6 +689,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.8 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=1 + - ENABLE_HEADLESS=0 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache - os: linux language: generic dist: xenial @@ -563,6 +728,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.9 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=1 + - ENABLE_HEADLESS=0 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache # headless contrib builds for Linux @@ -590,6 +770,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.6 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=1 + - ENABLE_HEADLESS=1 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache - os: linux language: generic dist: xenial @@ -614,6 +809,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.7 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=1 + - ENABLE_HEADLESS=1 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache - os: linux language: generic dist: xenial @@ -638,6 +848,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.8 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=1 + - ENABLE_HEADLESS=1 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache - os: linux language: generic dist: xenial @@ -662,6 +887,21 @@ jobs: - USE_CCACHE=0 cache: directories: $HOME/.ccache + - os: linux + arch: arm64 + language: generic + dist: xenial + services: docker + env: + - MB_PYTHON_VERSION=3.9 + - PLAT=aarch64 + - DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8 + - ENABLE_CONTRIB=1 + - ENABLE_HEADLESS=1 + - TEST_DEPENDS=numpy==1.19.0 + - USE_CCACHE=0 + cache: + directories: $HOME/.ccache # The first line is printed in the folding header in Travis output before_install: | diff --git a/docker/manylinux2014/Dockerfile_aarch64 b/docker/manylinux2014/Dockerfile_aarch64 index 5fb47264fc161bce6102cfec808325e5f452d38f..e89207706ceb16d612b5d08c9fecac249b417a64 100644 --- a/docker/manylinux2014/Dockerfile_aarch64 +++ b/docker/manylinux2014/Dockerfile_aarch64 @@ -68,16 +68,6 @@ RUN curl -O -L https://github.com/ccache/ccache/releases/download/v3.7.9/ccache- make -j$(getconf _NPROCESSORS_ONLN) && \ make install -RUN curl -O -L https://github.com/Kitware/CMake/releases/download/v3.17.0/cmake-3.17.0.tar.gz && \ - tar -xf cmake-3.17.0.tar.gz && \ - cd cmake-3.17.0 && \ - export MAKEFLAGS=-j$(getconf _NPROCESSORS_ONLN) && \ - ./configure --system-curl && \ - make && \ - make install && \ - cd .. && \ - rm -rf cmake-3.17.0* - ENV PKG_CONFIG_PATH /usr/local/lib/pkgconfig:/root/ffmpeg_build/lib/pkgconfig ENV LDFLAGS -L/root/ffmpeg_build/lib ENV PATH "$HOME/bin:$PATH" diff --git a/pyproject.toml b/pyproject.toml index b362f93ffca113fad676e9fbd1ef00ecc3dce151..b2efd1bddcd88f527276e4b4fa2c559e532798dd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,8 +1,9 @@ [build-system] requires = [ "setuptools", "wheel", "scikit-build", "cmake", "pip", - "numpy==1.13.3; python_version=='3.6'", - "numpy==1.14.5; python_version=='3.7'", - "numpy==1.17.3; python_version=='3.8'", - "numpy==1.19.3; python_version>='3.9'" -] \ No newline at end of file + "numpy==1.13.3; python_version=='3.6' and platform_machine != 'aarch64'", + "numpy==1.19.0; python_version>='3.6' and sys_platform == 'linux' and platform_machine == 'aarch64'", + "numpy==1.14.5; python_version=='3.7' and platform_machine != 'aarch64'", + "numpy==1.17.3; python_version=='3.8' and platform_machine != 'aarch64'", + "numpy==1.19.3; python_version>='3.9' and platform_machine != 'aarch64'" +] diff --git a/setup.py b/setup.py index b58ea894d7bcebe6e975c363ed6dde5fd51f1cfc..4ad06197729df7fb888d40ae6cf9003acd9b343b 100644 --- a/setup.py +++ b/setup.py @@ -6,6 +6,7 @@ import runpy import subprocess import re import sysconfig +import platform import skbuild from skbuild import cmaker @@ -23,6 +24,8 @@ def main(): if sys.version_info[:2] >= (3, 6): minimum_supported_numpy = "1.13.3" + if sys.version_info[:2] >= (3, 6) and platform.machine() == "aarch64": + minimum_supported_numpy = "1.19.0" if sys.version_info[:2] >= (3, 7): minimum_supported_numpy = "1.14.5" if sys.version_info[:2] >= (3, 8):