diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.4-foss-2025b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.4-foss-2025b.eb new file mode 100644 index 000000000000..5ce83469287a --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.4-foss-2025b.eb @@ -0,0 +1,88 @@ +# 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 = '2025.4' + +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': '2025b'} +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', +] +checksums = [ + {'gromacs-2025.4.tar.gz': 'ca17720b4a260eb73649211e9f6a940ee7543452129844213c3accb0a927a5c3'}, + {'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch': + '7f41bda16c9c2837624265dda4be252f655d1288ddc4486b1a2422af30d5d199'}, + {'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch': + '6df844bb3bbc51180446a3595c61a4ef195e5f975533a04cef76841aa763aec1'}, +] + +builddependencies = [ + ('CMake', '4.0.3'), + ('scikit-build-core', '0.11.5'), + ('pybind11', '3.0.0'), +] + +dependencies = [ + ('Python', '3.13.5'), + ('SciPy-bundle', '2025.07'), + ('networkx', '3.5'), + ('mpi4py', '4.1.0'), +] + +# 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' + +_gmxapi_source_version = version + +exts_list = [ + ('gmxapi', '0.5.0a1', { + 'patches': ['GROMACS-2024.1-fix-gmxapi-version.patch'], + 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' + + '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', + 'source_tmpl': 'gromacs-%s.tar.gz' % _gmxapi_source_version, + 'start_dir': 'python_packaging/gmxapi', + 'checksums': [ + {'gromacs-2025.4.tar.gz': 'ca17720b4a260eb73649211e9f6a940ee7543452129844213c3accb0a927a5c3'}, + {'GROMACS-2024.1-fix-gmxapi-version.patch': + 'df30b21352a26d8e01d693e2822db0ea45015c23f900a6ceb68522d44e6e790c'}, + ], + }), +] + +moduleclass = 'bio'