1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-28 16:42:09 +00:00
nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
R. RyanTM 344fd2319b gromacs: 2018.4 -> 2019
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/gromacs/versions
2019-01-03 05:58:09 -08:00

56 lines
1.8 KiB
Nix

{ stdenv, fetchurl, cmake,
singlePrec ? true,
mpiEnabled ? false,
fftw,
openmpi
}:
stdenv.mkDerivation {
name = "gromacs-2019";
src = fetchurl {
url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2019.tar.gz";
sha256 = "02qd27pgc5kwkk68m8hwarkbb1b9z5rdrm67yjqyxd5my2jq3cn5";
};
buildInputs = [cmake fftw]
++ (stdenv.lib.optionals mpiEnabled [ openmpi ]);
cmakeFlags = ''
${if singlePrec then "-DGMX_DOUBLE=OFF" else "-DGMX_DOUBLE=ON -DGMX_DEFAULT_SUFFIX=OFF"}
${if mpiEnabled then "-DGMX_MPI:BOOL=TRUE
-DGMX_CPU_ACCELERATION:STRING=SSE4.1
-DGMX_OPENMP:BOOL=TRUE
-DGMX_THREAD_MPI:BOOL=FALSE"
else "-DGMX_MPI:BOOL=FALSE" }
'';
meta = with stdenv.lib; {
homepage = "http://www.gromacs.org";
license = licenses.gpl2;
description = "Molecular dynamics software package";
longDescription = ''
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.
It is primarily designed for biochemical molecules like
proteins, lipids and nucleic acids that have a lot of
complicated bonded interactions, but since GROMACS is
extremely fast at calculating the nonbonded interactions (that
usually dominate simulations) many groups are also using it
for research on non-biological systems, e.g. polymers.
GROMACS supports all the usual algorithms you expect from a
modern molecular dynamics implementation, (check the online
reference or manual for details), but there are also quite a
few features that make it stand out from the competition.
See: http://www.gromacs.org/About_Gromacs for details.
'';
platforms = platforms.unix;
};
}