Skip to content

Commit 2020c36

Browse files
committed
adding easyconfigs: LLVM-14.0.6-GCCcore-13.3.0-llvmlite.eb, numba-0.60.0-foss-2024a.eb
Signed-off-by: Jan André Reuter <j.reuter@fz-juelich.de>
1 parent 8ef224d commit 2020c36

File tree

2 files changed

+105
-0
lines changed

2 files changed

+105
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name = 'LLVM'
2+
version = '14.0.6'
3+
versionsuffix = '-llvmlite'
4+
5+
homepage = "https://llvm.org/"
6+
description = """The LLVM Core libraries provide a modern source- and target-independent
7+
optimizer, along with code generation support for many popular CPUs
8+
(as well as some less common ones!) These libraries are built around a well
9+
specified code representation known as the LLVM intermediate representation
10+
("LLVM IR"). The LLVM Core libraries are well documented, and it is
11+
particularly easy to invent your own language (or port an existing compiler)
12+
to use LLVM as an optimizer and code generator.
13+
14+
This version include patches for llvmlite / numba."""
15+
16+
toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
17+
toolchainopts = {'cstd': 'gnu++11', 'pic': True}
18+
19+
source_urls = ['https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/']
20+
sources = ['llvm-%(version)s.src.tar.xz']
21+
patches = [
22+
'LLVM-14.0.6-clear-gotoffsetmap.patch',
23+
'LLVM-14.0.6-svml.patch',
24+
]
25+
checksums = [
26+
{'llvm-14.0.6.src.tar.xz': '050922ecaaca5781fdf6631ea92bc715183f202f9d2f15147226f023414f619a'},
27+
{'LLVM-14.0.6-clear-gotoffsetmap.patch': '690c96dcbd0a81e11d87f02e740c4ef34a0c578be741aaa6559cc00a5349fabf'},
28+
{'LLVM-14.0.6-svml.patch': '59df18ea4af3479de42ecbc1c524d4106f4a55f23335a64c0f0d5433daaba1b7'},
29+
]
30+
31+
# Patches from https://github.com/numba/llvmlite/raw/v0.41.1/conda-recipes/ but
32+
# renamed to follow EasyBuild conventions.
33+
builddependencies = [
34+
('binutils', '2.42'),
35+
('CMake', '3.29.3'),
36+
('Python', '3.12.3'),
37+
]
38+
39+
dependencies = [
40+
('ncurses', '6.5'),
41+
('zlib', '1.3.1'),
42+
]
43+
44+
build_shared_libs = True
45+
46+
sanity_check_paths = {
47+
'files': ['bin/llvm-ar', 'bin/FileCheck'],
48+
'dirs': ['include/llvm', 'include/llvm-c'],
49+
}
50+
51+
sanity_check_commands = ["llvm-ar --help"]
52+
53+
moduleclass = 'compiler'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
easyblock = 'PythonBundle'
2+
3+
name = 'numba'
4+
version = '0.60.0'
5+
6+
homepage = 'https://numba.pydata.org/'
7+
description = """Numba is an Open Source NumPy-aware optimizing compiler for
8+
Python sponsored by Continuum Analytics, Inc. It uses the remarkable LLVM
9+
compiler infrastructure to compile Python syntax to machine code."""
10+
11+
toolchain = {'name': 'foss', 'version': '2024a'}
12+
toolchainopts = {'pic': True}
13+
14+
builddependencies = [
15+
('LLVM', '14.0.6', '-llvmlite'),
16+
]
17+
18+
dependencies = [
19+
('Python', '3.12.3'),
20+
('SciPy-bundle', '2024.05'),
21+
]
22+
23+
use_pip = True
24+
sanity_pip_check = True
25+
26+
local_llvmlite_preinstallopts = "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && "
27+
local_llvmlite_preinstallopts += "sed -i 's/llvm_config, \"--system-libs/llvm_config, \"--link-static --system-libs/' "
28+
local_llvmlite_preinstallopts += "ffi/build.py && "
29+
30+
exts_list = [
31+
('llvmlite', '0.43.0', {
32+
'preinstallopts': local_llvmlite_preinstallopts,
33+
'checksums': ['ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5'],
34+
}),
35+
(name, version, {
36+
'checksums': ['5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16'],
37+
}),
38+
]
39+
40+
fix_python_shebang_for = ['bin/*']
41+
42+
sanity_check_paths = {
43+
'files': ['bin/numba'],
44+
'dirs': ['lib/python%(pyshortver)s/site-packages'],
45+
}
46+
47+
sanity_check_commands = [
48+
"python -m llvmlite.tests",
49+
"numba --help",
50+
]
51+
52+
moduleclass = 'lang'

0 commit comments

Comments
 (0)