Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name = 'LLVM'
version = '14.0.6'
versionsuffix = '-llvmlite'

homepage = "https://llvm.org/"
description = """The LLVM Core libraries provide a modern source- and target-independent
optimizer, along with code generation support for many popular CPUs
(as well as some less common ones!) These libraries are built around a well
specified code representation known as the LLVM intermediate representation
("LLVM IR"). The LLVM Core libraries are well documented, and it is
particularly easy to invent your own language (or port an existing compiler)
to use LLVM as an optimizer and code generator.

This version include patches for llvmlite / numba."""

toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
toolchainopts = {'cstd': 'gnu11', 'pic': True}

source_urls = ['https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/']
sources = ['llvm-project-%(version)s.src.tar.xz']
patches = [
'LLVM-14.0.6-clear-gotoffsetmap.patch',
'LLVM-14.0.6-svml.patch',
'LLVM-14.0.x_fix-print-changed-dot-cfg-test.patch',
]
checksums = [
{'llvm-project-14.0.6.src.tar.xz': '8b3cfd7bc695bd6cea0f37f53f0981f34f87496e79e2529874fd03a2f9dd3a8a'},
{'LLVM-14.0.6-clear-gotoffsetmap.patch': 'c048afdddcf54c7213018d06f709f61274af5b90b8dcd97a632be4fe53750a51'},
{'LLVM-14.0.6-svml.patch': '5776de38e7b663fe9d3ae0a218e380dd59186c565ae277cb7e50785b253640c0'},
{'LLVM-14.0.x_fix-print-changed-dot-cfg-test.patch':
'd21abda1ecc5d15f1734d529a1332eea2c5f429281fb62969b9ee88acf3516f3'},
]

# Patches from https://github.com/numba/llvmlite/raw/v0.41.1/conda-recipes/ but
# renamed to follow EasyBuild conventions.
builddependencies = [
('binutils', '2.42'),
('CMake', '3.29.3'),
('Python', '3.12.3'),
('lit', '18.1.8'),
('git', '2.45.1'),
]

dependencies = [
('ncurses', '6.5'),
('zlib', '1.3.1'),
]

build_shared_libs = True

minimal = True

bootstrap = False
full_llvm = False
build_clang_extras = False
build_runtimes = False
build_lld = False
build_lldb = False
build_bolt = False
build_openmp = False
build_openmp_offload = False
build_openmp_tools = False
usepolly = False

python_bindings = False

skip_all_tests = False
skip_sanitizer_tests = False
test_suite_max_failed = 0

moduleclass = 'compiler'
49 changes: 49 additions & 0 deletions easybuild/easyconfigs/n/numba/numba-0.60.0-foss-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
easyblock = 'PythonBundle'

name = 'numba'
version = '0.60.0'

homepage = 'https://numba.pydata.org/'
description = """Numba is an Open Source NumPy-aware optimizing compiler for
Python sponsored by Continuum Analytics, Inc. It uses the remarkable LLVM
compiler infrastructure to compile Python syntax to machine code."""

toolchain = {'name': 'foss', 'version': '2024a'}
toolchainopts = {'pic': True}

builddependencies = [
('LLVM', '14.0.6', '-llvmlite'),
]

dependencies = [
('Python', '3.12.3'),
('SciPy-bundle', '2024.05'),
]

local_llvmlite_preinstallopts = "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && "
local_llvmlite_preinstallopts += "sed -i 's/llvm_config, \"--system-libs/llvm_config, \"--link-static --system-libs/' "
local_llvmlite_preinstallopts += "ffi/build.py && "

exts_list = [
('llvmlite', '0.43.0', {
'preinstallopts': local_llvmlite_preinstallopts,
'checksums': ['ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5'],
}),
(name, version, {
'checksums': ['5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16'],
}),
]

fix_python_shebang_for = ['bin/*']

sanity_check_paths = {
'files': ['bin/numba'],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}

sanity_check_commands = [
"python -m llvmlite.tests",
"numba --help",
]

moduleclass = 'lang'