Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
89 changes: 89 additions & 0 deletions easybuild/easyconfigs/l/LLVM/LLVM-20.1.8-GCCcore-14.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name = 'LLVM'
version = '20.1.8'


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.
"""

toolchain = {'name': 'GCCcore', 'version': '14.3.0'}
toolchainopts = {
# 'cstd': 'gnu++11',
'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-18.1.8_envintest.patch',
'LLVM-19.1.7_libomptarget_tests.patch',
'LLVM-19.1.7_clang_rpathwrap_test.patch',
]
checksums = [
{'llvm-project-20.1.8.src.tar.xz': '6898f963c8e938981e6c4a302e83ec5beb4630147c7311183cf61069af16333d'},
{'LLVM-18.1.8_envintest.patch': '8e25dfab8a29a860717b4bd2d8cdd0e795433766d7fffbda32d06a2bde47058d'},
{'LLVM-19.1.7_libomptarget_tests.patch': '79a67c118d034cfb74e255696369150c73432d2b422f4834efacb26f7904edbf'},
{'LLVM-19.1.7_clang_rpathwrap_test.patch': '5ee6a87ec8ff1c8b736ffe0513aa2098bd2b83a1ffc647a1ad2cf966f567e8a1'},
]

builddependencies = [
('binutils', '2.44'),
('Python', '3.13.5'),
('CMake', '4.0.3'),
('psutil', '7.0.0'), # Needed to enable test timeout in lit
('lit', '18.1.8'),
('git', '2.50.1'),
]

dependencies = [
('libxml2', '2.14.3'),
('ncurses', '6.5'),
('zlib', '1.3.1'),
('Z3', '4.15.1'),
]

build_shared_libs = True

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

python_bindings = True

build_targets = ['all']
# disable_werror = True

skip_all_tests = False
skip_sanitizer_tests = True
test_suite_max_failed = 10
test_suite_timeout_single = 5 * 60
test_suite_ignore_patterns = [
"X86/register-fragments-bolt-symbols.s",
"modularize/ProblemsCoverage.modularize",
"Driver/atomic.f90",
"Driver/gcc-toolchain-install-dir.f90",
"api_tests/test_ompd_get_icv_from_scope.c",
]

# LLVM will produce .mod files for its flang installation at the 3rd stage of the build via Clang+Flang
# These should not be checked for sanity, as we want to build LLVM on top of GCCcore to be used as a new toolchain
skip_mod_files_sanity_check = True

moduleclass = 'compiler'
35 changes: 35 additions & 0 deletions easybuild/easyconfigs/l/lit/lit-18.1.8-GCCcore-14.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
easyblock = 'PythonBundle'

name = 'lit'
version = '18.1.8'

homepage = 'https://llvm.org/docs/CommandGuide/lit.html'
description = """lit is a portable tool for executing LLVM and Clang style test suites, summarizing their results, and
providing indication of failures."""

toolchain = {'name': 'GCCcore', 'version': '14.3.0'}

builddependencies = [
('binutils', '2.44'),
]

dependencies = [
('Python', '3.13.5'),
]

exts_list = [
('ptyprocess', '0.7.0', {
'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl',
'checksums': ['4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35'],
}),
('pexpect', '4.9.0', {
'checksums': ['ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f'],
}),
(name, version, {
'checksums': ['47c174a186941ae830f04ded76a3444600be67d5e5fb8282c3783fba671c4edb'],
}),
]

sanity_check_commands = ['lit -h']

moduleclass = 'tools'
23 changes: 23 additions & 0 deletions easybuild/easyconfigs/p/psutil/psutil-7.0.0-GCCcore-14.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
easyblock = 'PythonBundle'

name = 'psutil'
version = '7.0.0'

homepage = 'https://github.com/giampaolo/psutil'
description = """A cross-platform process and system utilities module for Python"""

toolchain = {'name': 'GCCcore', 'version': '14.3.0'}

builddependencies = [('binutils', '2.44')]

dependencies = [('Python', '3.13.5')]

exts_list = [
(name, version, {
'source_urls': ['https://github.com/giampaolo/psutil/archive'],
'sources': ['release-%(version)s.tar.gz'],
'checksums': ['a3c736187215d1f94ebe18ee6b14202d1b89c165c2eaad159f55cdfb494f7a1c'],
}),
]

moduleclass = 'lib'
48 changes: 48 additions & 0 deletions easybuild/easyconfigs/z/Z3/Z3-4.15.1-GCCcore-14.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
easyblock = 'PythonBundle'

name = 'Z3'
version = '4.15.1'

homepage = 'https://github.com/Z3Prover/z3'
description = """Z3 is a theorem prover from Microsoft Research with support for bitvectors,
booleans, arrays, floating point numbers, strings, and other data types. This
module includes z3-solver, the Python interface of Z3.
"""

toolchain = {'name': 'GCCcore', 'version': '14.3.0'}

builddependencies = [
('binutils', '2.44'),
('CMake', '4.0.3'),
]

dependencies = [
('Python', '3.13.5'),
('GMP', '6.3.0'),
]


_fix_parallelism = """sed -i 's/str(multiprocessing.cpu_count())/"%(parallel)s"/' setup.py && """
_enable_gmp = """sed -i "s/Z3_USE_LIB_GMP.*/Z3_USE_LIB_GMP' : True,/" setup.py && """

exts_list = [
('z3_solver', '4.15.1.0', {
'modulename': 'z3',
'preinstallopts': """sed -i 's/str(multiprocessing.cpu_count())/"%(parallel)s"/' setup.py && sed -i "s/Z3_USE_LIB_GMP.*/Z3_USE_LIB_GMP' : True,/" setup.py && """,
'checksums': ['e8522602a76f6e45c45e78eec7bff5cbaa44fa51e94dce0d5432b0f9ab3f7064'],
}),
]

# make Z3 headers and libraries accessible in their usual location
local_z3_site_path = "lib/python%(pyshortver)s/site-packages/%(namelower)s"
postinstallcmds = [
'ln -s %s/include "%%(installdir)s/include"' % local_z3_site_path,
'cd "%%(installdir)s"; for lib in %s/lib/*; do ln -s ../$lib lib/$(basename $lib); done' % local_z3_site_path
]

sanity_check_paths = {
'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.' + SHLIB_EXT],
'dirs': ['include', 'lib/python%(pyshortver)s/site-packages'],
}

moduleclass = 'tools'
Loading