diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.4-foss-2024a-PLUMED-2.9.2.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.4-foss-2024a-PLUMED-2.9.2.eb new file mode 100644 index 000000000000..ec990e1a8610 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.4-foss-2024a-PLUMED-2.9.2.eb @@ -0,0 +1,95 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2016 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, +# Ghent University / The Francis Crick Institute +# Authors:: +# * Wiktor Jurkowski +# * Fotis Georgatos +# * George Tsouloupas +# * Kenneth Hoste +# * Adam Huffman +# * Ake Sandgren +# * J. Sassmannshausen +# * Dugan Witherick +# * Christoph Siegert +# License:: MIT/GPL + +name = 'GROMACS' +version = '2024.4' +versionsuffix = '-PLUMED-2.9.2' + +homepage = 'https://www.gromacs.org' +description = """ +GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the +Newtonian equations of motion for systems with hundreds to millions of +particles. + +This is a CPU only build, containing both MPI and threadMPI binaries +for both single and double precision. + +It also contains the gmxapi extension for the single precision MPI build. +""" + +toolchain = {'name': 'foss', 'version': '2024a'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = [ + 'https://ftp.gromacs.org/pub/gromacs', + 'ftp://ftp.gromacs.org/pub/gromacs', +] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch', + 'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch', + 'GROMACS-2023.3_skip_test_for_plumed.patch', + 'GROMACS-2024.1_workaround-arm-sve512.patch', +] +checksums = [ + {'gromacs-2024.4.tar.gz': 'ac618ece2e58afa86b536c5a2c4fcb937f0760318f12d18f10346b6bdebd86a8'}, + {'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch': + '7f41bda16c9c2837624265dda4be252f655d1288ddc4486b1a2422af30d5d199'}, + {'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch': + '6df844bb3bbc51180446a3595c61a4ef195e5f975533a04cef76841aa763aec1'}, + {'GROMACS-2023.3_skip_test_for_plumed.patch': '6c541ee74f71f6a63950134d9d0e3afb176a2e25e76e017b4d1986a59163c083'}, + {'GROMACS-2024.1_workaround-arm-sve512.patch': '0dfa82a9425322d2b2c250d698ac2065f8c0ce0143df0057e7ec21686d60e5f7'}, +] + +builddependencies = [ + ('CMake', '3.29.3'), + ('scikit-build-core', '0.10.6'), +] +dependencies = [ + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), + ('networkx', '3.4.2'), + ('mpi4py', '4.0.1'), + ('pybind11', '2.12.0'), + ('PLUMED', '2.9.3'), +] + +# be a bit more forgiving w.r.t. timeouts for GROMACS test suite, +# see also https://gitlab.com/gromacs/gromacs/-/issues/5062 +configopts = '-DGMX_TEST_TIMEOUT_FACTOR=3' + +exts_defaultclass = 'PythonPackage' +# PLUMED 2.9.2 is compatible with GROMACS 2024.2; 2024.4 seems to work fine too +ignore_plumed_version_check = True + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], +} + +exts_list = [ + ('gmxapi', '0.4.2', { + 'patches': ['GROMACS-2025.2_gmxapi-remove-builddependencies.patch'], + 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' + + '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', + 'checksums': [ + {'gmxapi-0.4.2.tar.gz': 'c746c6498c73a75913d7fcb01c13cc001d4bcb82999e9bf91d63578565ed1a1f'}, + {'GROMACS-2025.2_gmxapi-remove-builddependencies.patch': + 'd35eedea75167a88cd1c74df4c201b666ec9f8aef00f0fc6136380e36eb1e0e5'}, + ], + }), +] + +moduleclass = 'bio'