|
| 1 | +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild |
| 2 | +# |
| 3 | +# Copyright:: Copyright 2012-2016 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, |
| 4 | +# Ghent University / The Francis Crick Institute |
| 5 | +# Authors:: |
| 6 | +# * Wiktor Jurkowski <[email protected]> |
| 7 | +# * Fotis Georgatos <[email protected]> |
| 8 | +# * George Tsouloupas <[email protected]> |
| 9 | +# * Kenneth Hoste <[email protected]> |
| 10 | +# * Adam Huffman <[email protected]> |
| 11 | +# * Ake Sandgren <[email protected]> |
| 12 | +# * J. Sassmannshausen <Crick HPC team> |
| 13 | +# * Dugan Witherick <[email protected]> |
| 14 | +# * Christoph Siegert <[email protected]> |
| 15 | +# License:: MIT/GPL |
| 16 | + |
| 17 | +name = 'GROMACS' |
| 18 | +version = '2025.2' |
| 19 | + |
| 20 | +homepage = 'https://www.gromacs.org' |
| 21 | +description = """ |
| 22 | +GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the |
| 23 | +Newtonian equations of motion for systems with hundreds to millions of |
| 24 | +particles. |
| 25 | +
|
| 26 | +This is a CPU only build, containing both MPI and threadMPI binaries |
| 27 | +for both single and double precision. |
| 28 | +
|
| 29 | +It also contains the gmxapi extension for the single precision MPI build. |
| 30 | +""" |
| 31 | + |
| 32 | +toolchain = {'name': 'foss', 'version': '2025a'} |
| 33 | +toolchainopts = {'openmp': True, 'usempi': True} |
| 34 | + |
| 35 | +source_urls = [ |
| 36 | + 'https://ftp.gromacs.org/pub/gromacs/', |
| 37 | + 'ftp://ftp.gromacs.org/pub/gromacs/', |
| 38 | +] |
| 39 | +sources = [SOURCELOWER_TAR_GZ] |
| 40 | +patches = [ |
| 41 | + 'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch', |
| 42 | + 'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch', |
| 43 | +] |
| 44 | +checksums = [ |
| 45 | + {'gromacs-2025.2.tar.gz': '0df09f9d45a99ef00e66b9baa9493a27e906813763a3b6c7672217c66b43ea11'}, |
| 46 | + {'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch': |
| 47 | + '7f41bda16c9c2837624265dda4be252f655d1288ddc4486b1a2422af30d5d199'}, |
| 48 | + {'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch': |
| 49 | + '6df844bb3bbc51180446a3595c61a4ef195e5f975533a04cef76841aa763aec1'}, |
| 50 | +] |
| 51 | + |
| 52 | +builddependencies = [ |
| 53 | + ('CMake', '3.31.3'), |
| 54 | + ('scikit-build-core', '0.11.1'), |
| 55 | + ('pybind11', '2.13.6'), |
| 56 | +] |
| 57 | + |
| 58 | +dependencies = [ |
| 59 | + ('Python', '3.13.1'), |
| 60 | + ('SciPy-bundle', '2025.06'), |
| 61 | + ('networkx', '3.5'), |
| 62 | + ('mpi4py', '4.1.0'), |
| 63 | +] |
| 64 | + |
| 65 | +# be a bit more forgiving w.r.t. timeouts for GROMACS test suite, |
| 66 | +# see also https://gitlab.com/gromacs/gromacs/-/issues/5062 |
| 67 | +configopts = "-DGMX_TEST_TIMEOUT_FACTOR=3" |
| 68 | + |
| 69 | +exts_defaultclass = 'PythonPackage' |
| 70 | + |
| 71 | +exts_default_options = { |
| 72 | + 'source_urls': [PYPI_SOURCE], |
| 73 | +} |
| 74 | + |
| 75 | +exts_list = [ |
| 76 | + ('gmxapi', '0.4.2', { |
| 77 | + 'patches': ['GROMACS-2025.2_gmxapi-remove-builddependencies.patch'], |
| 78 | + 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' + |
| 79 | + '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', |
| 80 | + 'checksums': [ |
| 81 | + {'gmxapi-0.4.2.tar.gz': 'c746c6498c73a75913d7fcb01c13cc001d4bcb82999e9bf91d63578565ed1a1f'}, |
| 82 | + {'GROMACS-2025.2_gmxapi-remove-builddependencies.patch': |
| 83 | + 'd35eedea75167a88cd1c74df4c201b666ec9f8aef00f0fc6136380e36eb1e0e5'}, |
| 84 | + ], |
| 85 | + }), |
| 86 | +] |
| 87 | + |
| 88 | +moduleclass = 'bio' |
0 commit comments