summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomoyasu Nojiri <68096132+t-nojiri@users.noreply.github.com>2020-12-11 17:37:36 +0900
committerGitHub <noreply@github.com>2020-12-11 09:37:36 +0100
commit6672278e68755dd035eedc5feee96bce1c3cf978 (patch)
tree02cd7d4536a52f5bcd7bf2516eab7d592af6273b
parent1728b0ea250bc1ad7fc55ab9ebf377f52b0406f5 (diff)
downloadspack-6672278e68755dd035eedc5feee96bce1c3cf978.tar.gz
spack-6672278e68755dd035eedc5feee96bce1c3cf978.tar.bz2
spack-6672278e68755dd035eedc5feee96bce1c3cf978.tar.xz
spack-6672278e68755dd035eedc5feee96bce1c3cf978.zip
py-pyarrow: fix build for aarch64 (#20335)
-rw-r--r--var/spack/repos/builtin/packages/py-pyarrow/for_aarch64.patch14
-rw-r--r--var/spack/repos/builtin/packages/py-pyarrow/package.py2
2 files changed, 16 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/py-pyarrow/for_aarch64.patch b/var/spack/repos/builtin/packages/py-pyarrow/for_aarch64.patch
new file mode 100644
index 0000000000..b269aa09a6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pyarrow/for_aarch64.patch
@@ -0,0 +1,14 @@
+--- spack-src/CMakeLists.txt.bak 2020-05-14 19:42:00.000000000 +0900
++++ spack-src/CMakeLists.txt 2020-12-11 14:02:52.645857641 +0900
+@@ -97,6 +97,11 @@
+ # Cython generated code emits way to many warnings at CHECKIN and EVERYTHING
+ set(BUILD_WARNING_LEVEL "PRODUCTION")
+
++# This must be synchronized with the definition in
++# cmake_modules/DefineOptions.cmake.
++set(ARROW_ARMV8_ARCH
++ "armv8-a"
++ CACHE STRING "Arm64 arch and extensions: armv8-a, armv8-a or armv8-a+crc+crypto")
+ include(SetupCxxFlags)
+
+ # Add common flags
diff --git a/var/spack/repos/builtin/packages/py-pyarrow/package.py b/var/spack/repos/builtin/packages/py-pyarrow/package.py
index 8e4514b8f3..3f8c3f640e 100644
--- a/var/spack/repos/builtin/packages/py-pyarrow/package.py
+++ b/var/spack/repos/builtin/packages/py-pyarrow/package.py
@@ -49,6 +49,8 @@ class PyPyarrow(PythonPackage, CudaPackage):
phases = ['build_ext', 'install']
+ patch('for_aarch64.patch', when='target=aarch64:')
+
def build_ext_args(self, spec, prefix):
args = []
if spec.satisfies('+parquet'):