Skip to content

Conversation

@absrocks
Copy link
Contributor

@absrocks absrocks commented Aug 3, 2025

No description provided.

@github-actions github-actions bot added the update label Aug 3, 2025
@github-actions
Copy link

github-actions bot commented Aug 3, 2025

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

Diff against GROMACS-2025.2-foss-2025b.eb

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

diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-foss-2025b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-foss-2025a.eb
index 693bdddbf8..5e8fd2c36a 100644
--- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-foss-2025b.eb
+++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-foss-2025a.eb
@@ -29,7 +29,7 @@ for both single and double precision.
 It also contains the gmxapi extension for the single precision MPI build.
 """
 
-toolchain = {'name': 'foss', 'version': '2025b'}
+toolchain = {'name': 'foss', 'version': '2025a'}
 toolchainopts = {'openmp': True, 'usempi': True}
 
 source_urls = [
@@ -50,14 +50,14 @@ 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'),
 ]
Diff against GROMACS-2021.0-foss-2023a-20250409-constant-pH.eb

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

diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.0-foss-2023a-20250409-constant-pH.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-foss-2025a.eb
index cd0edce7e0..5e8fd2c36a 100644
--- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.0-foss-2023a-20250409-constant-pH.eb
+++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-foss-2025a.eb
@@ -1,44 +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 <[email protected]>
+# * Fotis Georgatos <[email protected]>
+# * George Tsouloupas <[email protected]>
+# * Kenneth Hoste <[email protected]>
+# * Adam Huffman <[email protected]>
+# * Ake Sandgren <[email protected]>
+# * J. Sassmannshausen <Crick HPC team>
+# * Dugan Witherick <[email protected]>
+# * Christoph Siegert <[email protected]>
+# License::   MIT/GPL
+
 name = 'GROMACS'
-version = '2021.0'
-_date = '-20250409'
-local_commit = '28807b11'
-versionsuffix = f'{_date}-constant-pH'
-# fork is from v2021.0-beta1, SOVERSION = 6.0.0
+version = '2025.2'
 
-homepage = 'https://gitlab.com/gromacs-constantph'
+homepage = 'https://www.gromacs.org'
 description = """
-GROMACS constant pH
-
 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,
-}]
-checksums = ['88548354e02c872052f2fa662eab5f111421706cb0ea264e94af19e7274d0f78']
+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.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'},
+]
 
 builddependencies = [
-    ('CMake', '3.26.3'),
+    ('CMake', '3.31.3'),
+    ('scikit-build-core', '0.11.1'),
+    ('pybind11', '2.13.6'),
+]
+
+dependencies = [
+    ('Python', '3.13.1'),
+    ('SciPy-bundle', '2025.06'),
+    ('networkx', '3.5'),
+    ('mpi4py', '4.1.0'),
 ]
 
-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"
 
-# this version does not support DOUBLE
-double_precision = False
+exts_defaultclass = 'PythonPackage'
 
-# 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_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'
Diff against GROMACS-2024.4-foss-2023b-PLUMED-2.9.2.eb

easybuild/easyconfigs/g/GROMACS/GROMACS-2024.4-foss-2023b-PLUMED-2.9.2.eb

diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.4-foss-2023b-PLUMED-2.9.2.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-foss-2025a.eb
index 9a950353a4..5e8fd2c36a 100644
--- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.4-foss-2023b-PLUMED-2.9.2.eb
+++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-foss-2025a.eb
@@ -15,9 +15,7 @@
 # License::   MIT/GPL
 
 name = 'GROMACS'
-version = '2024.4'
-local_plumedver = '2.9.2'
-versionsuffix = '-PLUMED-%s' % local_plumedver
+version = '2025.2'
 
 homepage = 'https://www.gromacs.org'
 description = """
@@ -31,7 +29,7 @@ for both single and double precision.
 It also contains the gmxapi extension for the single precision MPI build.
 """
 
-toolchain = {'name': 'foss', 'version': '2023b'}
+toolchain = {'name': 'foss', 'version': '2025a'}
 toolchainopts = {'openmp': True, 'usempi': True}
 
 source_urls = [
@@ -42,33 +40,28 @@ 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',
 ]
 checksums = [
-    {'gromacs-2024.4.tar.gz': 'ac618ece2e58afa86b536c5a2c4fcb937f0760318f12d18f10346b6bdebd86a8'},
+    {'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-2023.3_skip_test_for_plumed.patch': '6c541ee74f71f6a63950134d9d0e3afb176a2e25e76e017b4d1986a59163c083'},
 ]
 
 builddependencies = [
-    ('CMake', '3.27.6'),
-    ('scikit-build-core', '0.9.3'),
+    ('CMake', '3.31.3'),
+    ('scikit-build-core', '0.11.1'),
+    ('pybind11', '2.13.6'),
 ]
 
 dependencies = [
-    ('Python', '3.11.5'),
-    ('SciPy-bundle', '2023.11'),
-    ('networkx', '3.2.1'),
-    ('mpi4py', '3.1.5'),
-    ('PLUMED', local_plumedver),
+    ('Python', '3.13.1'),
+    ('SciPy-bundle', '2025.06'),
+    ('networkx', '3.5'),
+    ('mpi4py', '4.1.0'),
 ]
 
-# PLUMED 2.9.2 is compatible with GROMACS 2024.2; 2024.4 seems to work fine too
-ignore_plumed_version_check = True
-
 # 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"
@@ -81,9 +74,14 @@ exts_default_options = {
 
 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': ['c746c6498c73a75913d7fcb01c13cc001d4bcb82999e9bf91d63578565ed1a1f'],
+        'checksums': [
+            {'gmxapi-0.4.2.tar.gz': 'c746c6498c73a75913d7fcb01c13cc001d4bcb82999e9bf91d63578565ed1a1f'},
+            {'GROMACS-2025.2_gmxapi-remove-builddependencies.patch':
+             'd35eedea75167a88cd1c74df4c201b666ec9f8aef00f0fc6136380e36eb1e0e5'},
+        ],
     }),
 ]
 

@Thyre Thyre added the 2025a issues & PRs related to 2025a common toolchains label Aug 3, 2025
Copy link
Contributor

@smoors smoors left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks a lot for your contribution @absrocks !

('SciPy-bundle', '2025.06'),
('networkx', '3.5'),
('mpi4py', '4.1.0'),
('pybind11', '2.13.6'),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should probably a builddependency instead of a normal dependency

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hijacking this thread, since I've built the same version for the potential 2025b:

== FAILED: Installation ended unsuccessfully: `/data/EasyBuild-develop/software/Python/3.13.5-GCCcore-14.3.0/bin/python -m pip check` failed:
gmxapi 0.4.2 requires pybind11, which is not installed.

So we need a hard-dependency.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i don't think it's needed.

in the gmxapi sources on pypi (which are used here) it is listed as an install dependency, but in gmxapi sources included in the GROMACS sources it is only listed as a build dependency.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So we might be able to work around this with a patch.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Patch added in #23699

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added patch from #23699 and added pybind in builddependency

@Crivella
Copy link
Contributor

Crivella commented Sep 9, 2025

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Collaborator

@Crivella: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=23566 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_23566 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 7899

Test results coming soon (I hope)...

- notification for comment with ID 3271250568 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@Crivella
Copy link
Contributor

Crivella commented Sep 9, 2025

Test report by @Crivella
SUCCESS
Build succeeded for 3 out of 3 (1 easyconfigs in total)
crivella-desktop - Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish), x86_64, 13th Gen Intel(R) Core(TM) i9-13900K (skylake), Python 3.11.13
See https://gist.github.com/Crivella/2acf85bf6a6fadd32dcacd28889ef5ff for a full test report.

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3c2.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.6, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/e2860f509df7da771a81a8736bd7e0b7 for a full test report.

Copy link
Contributor

@Crivella Crivella left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Crivella Crivella changed the title {bio,tools}[foss/2025a] GROMACS v2025.2 {bio}[foss/2025a] GROMACS v2025.2 Sep 9, 2025
@Crivella Crivella added this to the next release (5.1.2) milestone Sep 9, 2025
@Crivella
Copy link
Contributor

Crivella commented Sep 9, 2025

Going in, thanks @absrocks!

@Crivella Crivella merged commit 33787b9 into easybuilders:develop Sep 9, 2025
8 checks passed
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.

5 participants