Dear all,
I am relatively new to EasyBuild and I am trying to get my head around
how the EasyConfig files work in the following example:
The GROMACS molecular dynamics code can be patched with the so called
PLUMED plugin. The standard GROMACS EasyConfig file for the foss-2018b
tool-chain look like this:
https://github.com/easybuilders/easybuild-easyconfigs/blob/develop/easybuild/easyconfigs/g/GROMACS/GROMACS-2018.2-foss-2018b.eb
Now recently, in the development branch, a new EasyConfig for GROMACS
has been added which includes the mentioned PLUMED patch:
https://github.com/easybuilders/easybuild-easyconfigs/blob/develop/easybuild/easyconfigs/g/GROMACS/GROMACS-2018.1-foss-2018b-PLUMED.eb
The only difference being here (besides being gromacs version 2018.1
instead of 2018.2) the addition of:
* dependencies = [**
** ('PLUMED', '2.4.2'),**
** ]*
So my question is, how does EasyBuild know that it has to patch GROMACS
using PLUMED? Is this written in the EasyConfig of PLUMED itself? Is it
inside the EasyBlocks? When I do this by hand, I have to build PLUMED
first, go to the source directory of GROMACS, run PLUMED in there to
patch the source files and then compile GROMACS.
As a followup, if I wanted to create an EasyConfig for GROMACS+PLUMED
with GPU support enabled, would I then just have to modify the existing
GROMACS EasyConfig for the fosscuda tool-chain in the same way?
Many thanks
Sebastian