Skip to content

Commit 734c1ae

Browse files
committed
add parse hook that replaces build dep on Rust 1.65.0 by 1.75.0 on A64FX
1 parent a1b77a3 commit 734c1ae

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

eb_hooks.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,9 @@ def parse_hook(ec, *args, **kwargs):
140140
if cpu_target == CPU_TARGET_ZEN4:
141141
parse_hook_zen4_module_only(ec, eprefix)
142142

143+
# All A64FX builds for the 2022b toolchain should use a newer Rust version, as the original one does not work
144+
parse_hook_bump_rust_version_in_2022b_for_a64fx(ec, eprefix)
145+
143146
# inject the GPU property (if required)
144147
ec = inject_gpu_property(ec)
145148

@@ -434,6 +437,27 @@ def parse_hook_openblas_relax_lapack_tests_num_errors(ec, eprefix):
434437
raise EasyBuildError("OpenBLAS-specific hook triggered for non-OpenBLAS easyconfig?!")
435438

436439

440+
def parse_hook_bump_rust_version_in_2022b_for_a64fx(ec, eprefix):
441+
"""
442+
Replace Rust 1.65.0 build dependency by version 1.75.0 for A64FX builds,
443+
because version 1.65.0 has build issues.
444+
"""
445+
cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR')
446+
if cpu_target == CPU_TARGET_A64FX
447+
if is_gcccore_1220_based(ecname=ec['name'], ecversion=ec['version'],
448+
tcname=ec['toolchain']['name'], tcversion=ec['toolchain']['version']):
449+
450+
build_deps = ec['builddependencies']
451+
print(build_deps)
452+
rust_name = 'Rust'
453+
rust_original_version = '1.65.0'
454+
rust_new_version = '1.75.0'
455+
for idx, build_dep in enumerate(build_deps):
456+
if build_dep[0] == rust_name and build_dep[1] == rust_original_version:
457+
build_deps[idx] = (rust_name, rust_new_version)
458+
break
459+
460+
437461
def parse_hook_pybind11_replace_catch2(ec, eprefix):
438462
"""
439463
Replace Catch2 build dependency in pybind11 easyconfigs with one that doesn't use system toolchain.

0 commit comments

Comments
 (0)