@@ -291,6 +291,23 @@ def parse_hook_ucx_eprefix(ec, eprefix):
291
291
raise EasyBuildError ("UCX-specific hook triggered for non-UCX easyconfig?!" )
292
292
293
293
294
+ def parse_hook_lammps_remove_deps_for_CI_aarch64 (ec , * args , ** kwargs ):
295
+ """
296
+ Remove x86_64 specific dependencies for the CI to pass on aarch64
297
+ """
298
+ if ec .name == 'LAMMPS' and ec .version in ('2Aug2023_update2' ,):
299
+ if os .getenv ('EESSI_CPU_FAMILY' ) == 'aarch64' :
300
+ # ScaFaCoS and tbb are not compatible with aarch64/* CPU targets,
301
+ # so remove them as dependencies for LAMMPS (they're optional);
302
+ # see also https://github.com/easybuilders/easybuild-easyconfigs/pull/19164 +
303
+ # https://github.com/easybuilders/easybuild-easyconfigs/pull/19000;
304
+ # we need this hook because we check for missing installations for all CPU targets
305
+ # on an x86_64 VM in GitHub Actions (so condition based on ARCH in LAMMPS easyconfig is always true)
306
+ ec ['dependencies' ] = [dep for dep in ec ['dependencies' ] if dep [0 ] not in ('ScaFaCoS' , 'tbb' )]
307
+ else :
308
+ raise EasyBuildError ("LAMMPS-specific hook triggered for non-LAMMPS easyconfig?!" )
309
+
310
+
294
311
def pre_configure_hook (self , * args , ** kwargs ):
295
312
"""Main pre-configure hook: trigger custom functions based on software name."""
296
313
if self .name in PRE_CONFIGURE_HOOKS :
@@ -363,24 +380,6 @@ def pre_configure_hook_wrf_aarch64(self, *args, **kwargs):
363
380
raise EasyBuildError ("WRF-specific hook triggered for non-WRF easyconfig?!" )
364
381
365
382
366
- def pre_configure_hook_LAMMPS_aarch64 (self , * args , ** kwargs ):
367
- """
368
- pre-configure hook for LAMMPS:
369
- - set kokkos_arch on Aarch64
370
- """
371
-
372
- cpu_target = get_eessi_envvar ('EESSI_SOFTWARE_SUBDIR' )
373
- if self .name == 'LAMMPS' :
374
- if self .version == '23Jun2022' :
375
- if get_cpu_architecture () == AARCH64 :
376
- if cpu_target == CPU_TARGET_AARCH64_GENERIC :
377
- self .cfg ['kokkos_arch' ] = 'ARM80'
378
- else :
379
- self .cfg ['kokkos_arch' ] = 'ARM81'
380
- else :
381
- raise EasyBuildError ("LAMMPS-specific hook triggered for non-LAMMPS easyconfig?!" )
382
-
383
-
384
383
def pre_configure_hook_atspi2core_filter_ld_library_path (self , * args , ** kwargs ):
385
384
"""
386
385
pre-configure hook for at-spi2-core:
@@ -634,6 +633,7 @@ def inject_gpu_property(ec):
634
633
'pybind11' : parse_hook_pybind11_replace_catch2 ,
635
634
'Qt5' : parse_hook_qt5_check_qtwebengine_disable ,
636
635
'UCX' : parse_hook_ucx_eprefix ,
636
+ 'LAMMPS' : parse_hook_lammps_remove_deps_for_CI_aarch64 ,
637
637
}
638
638
639
639
POST_PREPARE_HOOKS = {
@@ -645,7 +645,6 @@ def inject_gpu_property(ec):
645
645
'MetaBAT' : pre_configure_hook_metabat_filtered_zlib_dep ,
646
646
'OpenBLAS' : pre_configure_hook_openblas_optarch_generic ,
647
647
'WRF' : pre_configure_hook_wrf_aarch64 ,
648
- 'LAMMPS' : pre_configure_hook_LAMMPS_aarch64 ,
649
648
'at-spi2-core' : pre_configure_hook_atspi2core_filter_ld_library_path ,
650
649
}
651
650
0 commit comments