summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/arrow/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/arrow/package.py')
-rw-r--r--var/spack/repos/builtin/packages/arrow/package.py64
1 files changed, 64 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/arrow/package.py b/var/spack/repos/builtin/packages/arrow/package.py
new file mode 100644
index 0000000000..7610d1fae0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/arrow/package.py
@@ -0,0 +1,64 @@
+# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Arrow(CMakePackage):
+ """A cross-language development platform for in-memory data.
+
+ This package contains the C++ bindings.
+ """
+
+ homepage = "http://arrow.apache.org"
+ url = "https://github.com/apache/arrow/archive/apache-arrow-0.9.0.tar.gz"
+
+ version('0.11.0', '0ac629a7775d86108e403eb66d9f1a3d3bdd6b3a497a86228aa4e8143364b7cc')
+ version('0.9.0', 'ebbd36c362b9e1d398ca612f6d2531ec')
+ version('0.8.0', '56436f6f61ccc68686b7e0ea30bf4d09')
+
+ depends_on('boost@1.60:')
+ depends_on('cmake@3.2.0:', type='build')
+ depends_on('flatbuffers@1.8.0 build_type=Release') # only Release contains flatc
+ depends_on('python', when='+python')
+ depends_on('py-numpy', when='+python')
+ depends_on('rapidjson')
+ depends_on('snappy~shared')
+ depends_on('zlib+pic')
+ depends_on('zstd+pic')
+
+ variant('build_type', default='Release',
+ description='CMake build type',
+ values=('Debug', 'FastDebug', 'Release'))
+ variant('python', default=False, description='Build Python interface')
+ variant('parquet', default=False, description='Build Parquet interface')
+
+ root_cmakelists_dir = 'cpp'
+
+ def patch(self):
+ """Prevent `-isystem /usr/include` from appearing, since this confuses gcc.
+ """
+ filter_file(r'(include_directories\()SYSTEM ',
+ r'\1',
+ 'cpp/cmake_modules/ThirdpartyToolchain.cmake')
+
+ def cmake_args(self):
+ args = [
+ "-DARROW_USE_SSE=ON",
+ "-DARROW_BUILD_SHARED=ON",
+ "-DARROW_BUILD_STATIC=OFF",
+ "-DARROW_BUILD_TESTS=OFF",
+ "-DARROW_WITH_BROTLI=OFF",
+ "-DARROW_WITH_LZ4=OFF",
+ ]
+ if self.spec.satisfies('+python'):
+ args.append("-DARROW_PYTHON:BOOL=ON")
+ if self.spec.satisfies('+parquet'):
+ args.append("-DARROW_PARQUET:BOOL=ON")
+ for dep in ('flatbuffers', 'rapidjson', 'snappy', 'zlib', 'zstd'):
+ args.append("-D{0}_HOME={1}".format(dep.upper(),
+ self.spec[dep].prefix))
+ args.append("-DZLIB_LIBRARIES={0}".format(self.spec['zlib'].libs))
+ return args