diff --git a/easybuild/easyconfigs/c/COSTA/COSTA-2.2.4-foss-2025a.eb b/easybuild/easyconfigs/c/COSTA/COSTA-2.2.4-foss-2025a.eb new file mode 100644 index 000000000000..3796c3fa9b80 --- /dev/null +++ b/easybuild/easyconfigs/c/COSTA/COSTA-2.2.4-foss-2025a.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'COSTA' +version = '2.2.4' + +homepage = 'https://github.com/eth-cscs/COSTA' +description = """OSTA is a communication-optimal, highly-optimised algorithm for data redistribution +accross multiple processors, using MPI and OpenMP and offering the possibility +to transpose and scale some or all data.""" + +toolchain = {'name': 'foss', 'version': '2025a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/eth-cscs/COSTA/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['2155af3696cd0db1d18f9da7325de6fbcd87833c5b9e62445229e17151f7fd0b'] + +builddependencies = [ + ('CMake', '3.31.3'), +] + +sanity_check_paths = { + 'files': ['lib/libcosta.a'], + 'dirs': ['include/costa'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2025.2-foss-2025a.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2025.2-foss-2025a.eb new file mode 100644 index 000000000000..b97291a7b362 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2025.2-foss-2025a.eb @@ -0,0 +1,48 @@ +name = 'CP2K' +version = '2025.2' + +homepage = 'https://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'foss', 'version': '2025a'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['c8392a4e123304644ec8d241443796277c6ed7ae977452317e779f3c387c2e19'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('Libint', '2.11.1', '-lmax-6-cp2k'), + ('libxc', '7.0.0'), + ('libvori', '220621'), + ('FFTW', '3.3.10'), + ('HDF5', '1.14.6'), + ('PLUMED', '2.9.4'), + ('SIRIUS', '7.8.0'), +] + +if ARCH == 'x86_64': + # LIBXSMM is not supported supported on ARM with GCC 12.2.0 and 12.3.0 + # see https://www.cp2k.org/dev:compiler_support + dependencies += [ + ('libxsmm', '1.17'), + ] + +type = 'psmp' + +# ignore_regtest_fails = True + +sanity_check_paths = { + 'files': ['bin/%(namelower)s.psmp'], + 'dirs': ['data', 'tests'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/SIRIUS/SIRIUS-7.8.0-foss-2025a.eb b/easybuild/easyconfigs/s/SIRIUS/SIRIUS-7.8.0-foss-2025a.eb new file mode 100644 index 000000000000..f5dd3fced9b9 --- /dev/null +++ b/easybuild/easyconfigs/s/SIRIUS/SIRIUS-7.8.0-foss-2025a.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'SIRIUS' +version = '7.8.0' + +homepage = 'https://github.com/electronic-structure/SIRIUS' +description = """SIRIUS is a domain specific library for electronic structure calculations. +It implements pseudopotential plane wave (PP-PW) and +full potential linearized augmented plane wave (FP-LAPW) methods.""" + +toolchain = {'name': 'foss', 'version': '2025a'} + +source_urls = ['https://github.com/electronic-structure/SIRIUS/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['2cd2f98d35fb9e0a8f6d68714c6f8d682895781d564e91ef6685d92569ffd413'] + +builddependencies = [ + ('CMake', '3.31.3'), + ('pkgconf', '2.3.0'), +] +dependencies = [ + ('GSL', '2.8'), + ('libxc', '7.0.0'), + ('HDF5', '1.14.6'), + ('spglib', '2.6.0'), + ('SpFFT', '1.1.1'), + ('spla', '1.6.1'), + ('COSTA', '2.2.4'), + ('Umpire', '2025.03.1'), + ('pugixml', '1.15'), + ('fmt', '11.2.0'), +] + +# CP2K need SIRIUS with pugixml +configopts = '-DSIRIUS_USE_PUGIXML=ON -DSIRIUS_USE_SCALAPACK=ON' + +sanity_check_paths = { + 'files': [ + 'bin/sirius.scf', + 'lib/libsirius.%s' % SHLIB_EXT, + ], + 'dirs': ['bin', 'include/sirius'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SpFFT/SpFFT-1.1.1-foss-2025a.eb b/easybuild/easyconfigs/s/SpFFT/SpFFT-1.1.1-foss-2025a.eb new file mode 100644 index 000000000000..11eb5fbcc8b0 --- /dev/null +++ b/easybuild/easyconfigs/s/SpFFT/SpFFT-1.1.1-foss-2025a.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'SpFFT' +version = '1.1.1' + +homepage = 'https://github.com/eth-cscs/SpFFT/' +description = """Sparse 3D FFT library with MPI, OpenMP, CUDA and ROCm support.""" + +toolchain = {'name': 'foss', 'version': '2025a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/eth-cscs/SpFFT/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['675a048124a96b8c7f89d59d3ac0355833e28b38622e76c4d478ee91b25d766c'] + +builddependencies = [ + ('CMake', '3.31.3'), +] + +configopts = "-DSPFFT_OMP=ON -DSPFFT_MPI=ON " + +sanity_check_paths = { + 'files': [ + 'include/spfft/spfft.h', + 'lib/libspfft.%s' % SHLIB_EXT, + ], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/spglib/spglib-2.6.0-GCCcore-14.2.0.eb b/easybuild/easyconfigs/s/spglib/spglib-2.6.0-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..0fbc7cdf28a9 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib/spglib-2.6.0-GCCcore-14.2.0.eb @@ -0,0 +1,34 @@ +# with thanks to akesandgren for the easyconfig for 2022a +# updated for 2022b by BEAR Software team at University of Birmingham +# updated by Pavel Tománek (Inuits) + +easyblock = 'CMakeMake' + +name = 'spglib' +version = '2.6.0' + +homepage = 'https://spglib.github.io/spglib/' +description = """Spglib is a C library for finding and handling crystal symmetries.""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = ['https://github.com/spglib/spglib/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c65af71136c915352eb82444b165ec83289877eb8e46593033f199801b43dbf7'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.31.3'), +] + +postinstallcmds = ["cd %(installdir)s/include && mkdir spglib && ln -s ../spglib.h spglib/"] + +sanity_check_paths = { + 'files': [ + 'include/spglib.h', + 'lib/libsymspg.%s' % SHLIB_EXT + ], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spla/spla-1.6.1-foss-2025a.eb b/easybuild/easyconfigs/s/spla/spla-1.6.1-foss-2025a.eb new file mode 100644 index 000000000000..7854ac904bb6 --- /dev/null +++ b/easybuild/easyconfigs/s/spla/spla-1.6.1-foss-2025a.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'spla' +version = '1.6.1' + +homepage = 'https://github.com/eth-cscs/spla/' +description = """SPLA provides specialized functions for linear algebra computations with a C++ and C interface, +which are inspired by requirements in computational material science codes.""" + +toolchain = {'name': 'foss', 'version': '2025a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/eth-cscs/spla/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['62b51e6ce05c41cfc1c6f6600410f9549a209c50f0331e1db41047f94493e02f'] + +builddependencies = [ + ('CMake', '3.31.3'), +] + +configopts = '-DBLA_VENDOR=FlexiBLAS' + +sanity_check_paths = { + 'files': [ + 'include/spla/spla.h', + 'lib/libspla.%s' % SHLIB_EXT, + ], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/Umpire/Umpire-2025.03.1-foss-2025a.eb b/easybuild/easyconfigs/u/Umpire/Umpire-2025.03.1-foss-2025a.eb new file mode 100644 index 000000000000..22c5b141eca9 --- /dev/null +++ b/easybuild/easyconfigs/u/Umpire/Umpire-2025.03.1-foss-2025a.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'Umpire' +version = '2025.03.1' + +homepage = 'https://github.com/LLNL/Umpire' +description = """Umpire is a resource management library that allows the discovery, provision, +and management of memory on machines with multiple memory devices like NUMA and GPUs.""" + +toolchain = {'name': 'foss', 'version': '2025a'} + +sources = [{ + 'filename': '%(name)s-%(version)s.tar.xz', + 'git_config': { + 'url': 'https://github.com/LLNL', + 'repo_name': 'Umpire', + 'tag': 'v%(version)s', + 'recursive': True, + } +}] +checksums = ['edaad45e18e4cbb452f64cc195bf79d5d60abc0f9d409c73b75395160adf9d3a'] + +builddependencies = [ + ('CMake', '3.31.3'), +] + +sanity_check_paths = { + 'files': ['lib/libcamp.a', 'include/umpire/Umpire.hpp'], + 'dirs': ['bin', 'include'], +} + +moduleclass = 'lib'