forked from easybuilders/easybuild-easyconfigs
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathArrow-0.16.0-intel-2019b-Python-3.7.4.eb
More file actions
67 lines (53 loc) · 2.47 KB
/
Copy pathArrow-0.16.0-intel-2019b-Python-3.7.4.eb
File metadata and controls
67 lines (53 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
easyblock = 'CMakeMake'
name = 'Arrow'
version = '0.16.0'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://arrow.apache.org'
description = """Apache Arrow (incl. PyArrow Python bindings), a cross-language development platform
for in-memory data."""
toolchain = {'name': 'intel', 'version': '2019b'}
source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s']
sources = ['apache-arrow-%(version)s.tar.gz']
patches = ['Arrow-%(version)s_fix-intel.patch']
checksums = [
'261992de4029a1593195ff4000501503bd403146471b3168bd2cc414ad0fb7f5', # apache-arrow-0.16.0.tar.gz
'7c1569087f93959a0dfc163d80e5f542edb4d7ed0b9d71a2a05b4081211ad2b9', # Arrow-0.16.0_fix-intel.patch
]
builddependencies = [
('CMake', '3.15.3'),
('Autotools', '20180311'),
('flex', '2.6.4'),
('Bison', '3.3.2'),
('pkg-config', '0.29.2'),
]
# Arrow strongly prefers included jemalloc, so not including it as a dependency
dependencies = [
('Python', '3.7.4'),
('SciPy-bundle', '2019.10', versionsuffix), # for numpy
('Boost', '1.71.0'),
]
separate_build_dir = True
start_dir = 'cpp'
# see https://arrow.apache.org/docs/python/development.html
configopts = "-DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON "
configopts += "-DCMAKE_INSTALL_LIBDIR=lib"
# fix download of thrift 0.12.0, which is now archived
prebuildopts = "sed -i 's@dlcdn.apache.org@archive.apache.org/dist/@g' "
prebuildopts += "thrift_ep-prefix/src/thrift_ep-stamp/download-thrift_ep.cmake && "
# also install Python bindings
local_install_pyarrow_cmds = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && "
local_install_pyarrow_cmds += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && "
local_install_pyarrow_cmds += "cd %(builddir)s/*arrow-%(version)s/python && export XDG_CACHE_HOME=$TMPDIR && "
local_install_pyarrow_cmds += "PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s --no-build-isolation ."
postinstallcmds = [local_install_pyarrow_cmds]
modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}
sanity_check_paths = {
'files': ['lib/libarrow.a', 'lib/libarrow.%s' % SHLIB_EXT,
'lib/libarrow_python.a', 'lib/libarrow_python.%s' % SHLIB_EXT],
'dirs': ['include/arrow', 'lib/cmake/arrow', 'lib/pkgconfig', 'lib/python%(pyshortver)s/site-packages'],
}
sanity_check_commands = [
"python -c 'import pyarrow'",
"python -c 'import pyarrow.parquet'",
]
moduleclass = 'data'