Skip to content

{bio}[foss/2025a] GROMACS v2025.2 w/ PLUMED 2.9.4#25320

Draft
gkaf89 wants to merge 4 commits intoeasybuilders:developfrom
gkaf89:20260218125017_new_pr_GROMACS20252
Draft

{bio}[foss/2025a] GROMACS v2025.2 w/ PLUMED 2.9.4#25320
gkaf89 wants to merge 4 commits intoeasybuilders:developfrom
gkaf89:20260218125017_new_pr_GROMACS20252

Conversation

@github-actions github-actions bot added 2025a issues & PRs related to 2025a common toolchains update labels Feb 18, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 18, 2026

Updated software GROMACS-2025.2-foss-2025a-PLUMED-2.9.4.eb

Diff against GROMACS-2021.0-foss-2023a-20250409-constant-pH-CUDA-12.1.1-PLUMED.eb

easybuild/easyconfigs/g/GROMACS/GROMACS-2021.0-foss-2023a-20250409-constant-pH-CUDA-12.1.1-PLUMED.eb

diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.0-foss-2023a-20250409-constant-pH-CUDA-12.1.1-PLUMED.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-foss-2025a-PLUMED-2.9.4.eb
index 6f868a8215..bb5050c5f8 100644
--- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.0-foss-2023a-20250409-constant-pH-CUDA-12.1.1-PLUMED.eb
+++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-foss-2025a-PLUMED-2.9.4.eb
@@ -1,60 +1,93 @@
+# 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 <wiktor.jurkowski@gmail.com>
+# * Fotis Georgatos <fotis@cern.ch>
+# * George Tsouloupas <g.tsouloupas@cyi.ac.cy>
+# * Kenneth Hoste <kenneth.hoste@ugent.be>
+# * Adam Huffman <adam.huffman@crick.ac.uk>
+# * Ake Sandgren <ake.sandgren@hpc2n.umu.se>
+# * J. Sassmannshausen <Crick HPC team>
+# * Dugan Witherick <dugan.witherick@warwick.ac.uk>
+# * Christoph Siegert <christoph.siegert@uni-leipzig.de>
+# License::   MIT/GPL
+
 name = 'GROMACS'
-version = '2021.0'
-_date = '-20250409'
-local_commit = '28807b11'
-_cuda_suffix = '-CUDA-%(cudaver)s'
-versionsuffix = f'{_date}-constant-pH{_cuda_suffix}-PLUMED'
-# fork is from v2021.0-beta1, SOVERSION = 6.0.0
-
-homepage = 'https://gitlab.com/gromacs-constantph'
-description = """
-GROMACS constant pH
+version = '2025.2'
+local_plumedver = '2.9.4'
+versionsuffix = '-PLUMED-%s' % local_plumedver
 
+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 preliminary version of the GROMACS constant pH code.
-The modified force fields needed for constnat pH.
+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': '2023a'}
-# Currently, separate PME ranks are not supported with MPI
-toolchainopts = {'openmp': True, 'usempi': False}
+toolchain = {'name': 'foss', 'version': '2025a'}
+toolchainopts = {'openmp': True, 'usempi': True}
 
-source_urls = ['https://gitlab.com/gromacs-constantph/constantph/-/archive/']
-sources = [{
-    'download_filename': '%s.tar.gz' % local_commit,
-    'filename': '%%(name)s-%%(version)s-%s.tar.gz' % local_commit,
-}]
+source_urls = [
+    'https://ftp.gromacs.org/pub/gromacs/',
+    'ftp://ftp.gromacs.org/pub/gromacs/',
+]
+sources = [SOURCELOWER_TAR_GZ]
 patches = [
-    'GROMACS-2021.0-20250409-constant-pH_enable-CUDA-12.1.1.patch',
+    'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch',
+    'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch',
+    'GROMACS-2025.2_workaround-arm-sve512.patch',
 ]
 checksums = [
-    {'GROMACS-2021.0-28807b11.tar.gz': '88548354e02c872052f2fa662eab5f111421706cb0ea264e94af19e7274d0f78'},
-    {'GROMACS-2021.0-20250409-constant-pH_enable-CUDA-12.1.1.patch':
-     'f1bf5026b92aea6e6ca1265d75aa42976cfa9cf480e6ee5168e935d4380aab3e'},
+    {'gromacs-2025.2.tar.gz': '0df09f9d45a99ef00e66b9baa9493a27e906813763a3b6c7672217c66b43ea11'},
+    {'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-2025.2_workaround-arm-sve512.patch': 'e62e075ee9328f647954365edd7979ea79e6f1d7a3b84834a2aae546cf74772c'},
 ]
 
 builddependencies = [
-    ('CMake', '3.26.3'),
-    ('Doxygen', '1.9.7'),
+    ('CMake', '3.31.3'),
+    ('scikit-build-core', '0.11.1'),
+    ('pybind11', '2.13.6'),
 ]
+
 dependencies = [
-    ('CUDA', '12.1.1', '', SYSTEM),
-    ('PLUMED', '2.9.0'),
+    ('Python', '3.13.1'),
+    ('SciPy-bundle', '2025.06'),
+    ('networkx', '3.5'),
+    ('mpi4py', '4.1.0'),
+    ('PLUMED', local_plumedver),
 ]
 
-start_dir = 'gromacs-constantph'
+# 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"
 
-plumed = 'patch'
-ignore_plumed_version_check = True
+exts_defaultclass = 'PythonPackage'
 
-# Disable installing the Python gmxapi bindings - python 3.11 not supported
-python_pkg = False
+_gmxapi_source_version = version
 
-# Code is not sufficiently covered with tests and some standard GROMACS test might be broken.
-# Thus, make check might end up with errors
-runtest = False
+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.2.tar.gz': '0df09f9d45a99ef00e66b9baa9493a27e906813763a3b6c7672217c66b43ea11'},
+            {'GROMACS-2024.1-fix-gmxapi-version.patch':
+                'df30b21352a26d8e01d693e2822db0ea45015c23f900a6ceb68522d44e6e790c'},
+        ],
+    }),
+]
 
 moduleclass = 'bio'
Diff against GROMACS-2025.2-lmpflf-2025b.eb

easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lmpflf-2025b.eb

diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lmpflf-2025b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-foss-2025a-PLUMED-2.9.4.eb
index ec5805ab48..bb5050c5f8 100644
--- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lmpflf-2025b.eb
+++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-foss-2025a-PLUMED-2.9.4.eb
@@ -16,6 +16,8 @@
 
 name = 'GROMACS'
 version = '2025.2'
+local_plumedver = '2.9.4'
+versionsuffix = '-PLUMED-%s' % local_plumedver
 
 homepage = 'https://www.gromacs.org'
 description = """
@@ -29,7 +31,7 @@ for both single and double precision.
 It also contains the gmxapi extension for the single precision MPI build.
 """
 
-toolchain = {'name': 'lmpflf', 'version': '2025b'}
+toolchain = {'name': 'foss', 'version': '2025a'}
 toolchainopts = {'openmp': True, 'usempi': True}
 
 source_urls = [
@@ -41,7 +43,6 @@ patches = [
     'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch',
     'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch',
     'GROMACS-2025.2_workaround-arm-sve512.patch',
-    'GROMACS-2025.2_fix-sample_restraint-mpich-launch.patch',
 ]
 checksums = [
     {'gromacs-2025.2.tar.gz': '0df09f9d45a99ef00e66b9baa9493a27e906813763a3b6c7672217c66b43ea11'},
@@ -50,21 +51,20 @@ checksums = [
     {'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch':
      '6df844bb3bbc51180446a3595c61a4ef195e5f975533a04cef76841aa763aec1'},
     {'GROMACS-2025.2_workaround-arm-sve512.patch': 'e62e075ee9328f647954365edd7979ea79e6f1d7a3b84834a2aae546cf74772c'},
-    {'GROMACS-2025.2_fix-sample_restraint-mpich-launch.patch':
-     'a910ec50cf296a6bdf8e5d425617d54c13b4ef049b61196487d7dc8a8f674e2c'},
 ]
 
 builddependencies = [
-    ('CMake', '4.0.3'),
-    ('scikit-build-core', '0.11.5'),
-    ('pybind11', '3.0.0'),
+    ('CMake', '3.31.3'),
+    ('scikit-build-core', '0.11.1'),
+    ('pybind11', '2.13.6'),
 ]
 
 dependencies = [
-    ('Python', '3.13.5'),
-    ('SciPy-bundle', '2025.07'),
+    ('Python', '3.13.1'),
+    ('SciPy-bundle', '2025.06'),
     ('networkx', '3.5'),
     ('mpi4py', '4.1.0'),
+    ('PLUMED', local_plumedver),
 ]
 
 # be a bit more forgiving w.r.t. timeouts for GROMACS test suite,
@@ -73,19 +73,19 @@ configopts = "-DGMX_TEST_TIMEOUT_FACTOR=3"
 
 exts_defaultclass = 'PythonPackage'
 
-exts_default_options = {
-    'source_urls': [PYPI_SOURCE],
-}
+_gmxapi_source_version = version
 
 exts_list = [
-    ('gmxapi', '0.4.2', {
-        'patches': ['GROMACS-2025.2_gmxapi-remove-builddependencies.patch'],
+    ('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': [
-            {'gmxapi-0.4.2.tar.gz': 'c746c6498c73a75913d7fcb01c13cc001d4bcb82999e9bf91d63578565ed1a1f'},
-            {'GROMACS-2025.2_gmxapi-remove-builddependencies.patch':
-             'd35eedea75167a88cd1c74df4c201b666ec9f8aef00f0fc6136380e36eb1e0e5'},
+            {'gromacs-2025.2.tar.gz': '0df09f9d45a99ef00e66b9baa9493a27e906813763a3b6c7672217c66b43ea11'},
+            {'GROMACS-2024.1-fix-gmxapi-version.patch':
+                'df30b21352a26d8e01d693e2822db0ea45015c23f900a6ceb68522d44e6e790c'},
         ],
     }),
 ]
Diff against GROMACS-2025.2-lfoss-2025b.eb

easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lfoss-2025b.eb

diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lfoss-2025b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-foss-2025a-PLUMED-2.9.4.eb
index fc29744c2c..bb5050c5f8 100644
--- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lfoss-2025b.eb
+++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-foss-2025a-PLUMED-2.9.4.eb
@@ -16,6 +16,8 @@
 
 name = 'GROMACS'
 version = '2025.2'
+local_plumedver = '2.9.4'
+versionsuffix = '-PLUMED-%s' % local_plumedver
 
 homepage = 'https://www.gromacs.org'
 description = """
@@ -29,7 +31,7 @@ for both single and double precision.
 It also contains the gmxapi extension for the single precision MPI build.
 """
 
-toolchain = {'name': 'lfoss', 'version': '2025b'}
+toolchain = {'name': 'foss', 'version': '2025a'}
 toolchainopts = {'openmp': True, 'usempi': True}
 
 source_urls = [
@@ -52,16 +54,17 @@ checksums = [
 ]
 
 builddependencies = [
-    ('CMake', '4.0.3'),
-    ('scikit-build-core', '0.11.5'),
-    ('pybind11', '3.0.0'),
+    ('CMake', '3.31.3'),
+    ('scikit-build-core', '0.11.1'),
+    ('pybind11', '2.13.6'),
 ]
 
 dependencies = [
-    ('Python', '3.13.5'),
-    ('SciPy-bundle', '2025.07'),
+    ('Python', '3.13.1'),
+    ('SciPy-bundle', '2025.06'),
     ('networkx', '3.5'),
     ('mpi4py', '4.1.0'),
+    ('PLUMED', local_plumedver),
 ]
 
 # be a bit more forgiving w.r.t. timeouts for GROMACS test suite,
@@ -70,19 +73,19 @@ configopts = "-DGMX_TEST_TIMEOUT_FACTOR=3"
 
 exts_defaultclass = 'PythonPackage'
 
-exts_default_options = {
-    'source_urls': [PYPI_SOURCE],
-}
+_gmxapi_source_version = version
 
 exts_list = [
-    ('gmxapi', '0.4.2', {
-        'patches': ['GROMACS-2025.2_gmxapi-remove-builddependencies.patch'],
+    ('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': [
-            {'gmxapi-0.4.2.tar.gz': 'c746c6498c73a75913d7fcb01c13cc001d4bcb82999e9bf91d63578565ed1a1f'},
-            {'GROMACS-2025.2_gmxapi-remove-builddependencies.patch':
-             'd35eedea75167a88cd1c74df4c201b666ec9f8aef00f0fc6136380e36eb1e0e5'},
+            {'gromacs-2025.2.tar.gz': '0df09f9d45a99ef00e66b9baa9493a27e906813763a3b6c7672217c66b43ea11'},
+            {'GROMACS-2024.1-fix-gmxapi-version.patch':
+                'df30b21352a26d8e01d693e2822db0ea45015c23f900a6ceb68522d44e6e790c'},
         ],
     }),
 ]

@gkaf89 gkaf89 marked this pull request as draft February 18, 2026 12:13
@gkaf89 gkaf89 marked this pull request as draft February 18, 2026 12:13
gkaf89 and others added 3 commits February 18, 2026 15:47
…ED-2.9.4.eb


Add missing patch for GROMACS 2025.2

Co-authored-by: Bob Dröge <b.e.droge@rug.nl>
@gkaf89 gkaf89 marked this pull request as ready for review February 19, 2026 10:26
@gkaf89 gkaf89 requested a review from bedroge February 19, 2026 10:27
@gkaf89 gkaf89 marked this pull request as draft February 19, 2026 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2025a issues & PRs related to 2025a common toolchains update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants