Skip to content
Open
27 changes: 27 additions & 0 deletions easybuild/easyconfigs/c/COSTA/COSTA-2.2.4-foss-2025a.eb
Original file line number Diff line number Diff line change
@@ -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'
48 changes: 48 additions & 0 deletions easybuild/easyconfigs/c/CP2K/CP2K-2025.2-foss-2025a.eb
Original file line number Diff line number Diff line change
@@ -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'
45 changes: 45 additions & 0 deletions easybuild/easyconfigs/s/SIRIUS/SIRIUS-7.8.0-foss-2025a.eb
Original file line number Diff line number Diff line change
@@ -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'
30 changes: 30 additions & 0 deletions easybuild/easyconfigs/s/SpFFT/SpFFT-1.1.1-foss-2025a.eb
Original file line number Diff line number Diff line change
@@ -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'
34 changes: 34 additions & 0 deletions easybuild/easyconfigs/s/spglib/spglib-2.6.0-GCCcore-14.2.0.eb
Original file line number Diff line number Diff line change
@@ -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'
31 changes: 31 additions & 0 deletions easybuild/easyconfigs/s/spla/spla-1.6.1-foss-2025a.eb
Original file line number Diff line number Diff line change
@@ -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'
32 changes: 32 additions & 0 deletions easybuild/easyconfigs/u/Umpire/Umpire-2025.03.1-foss-2025a.eb
Original file line number Diff line number Diff line change
@@ -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'