From 21c4107d3e498b48c56eeaf0868f8e9fcb5c06f7 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Fri, 27 Oct 2023 18:34:19 +0200 Subject: [PATCH] gromacs: add the plumed patches plumed 2.9.0 only supports gromacs-2023 so I had to downgrade the package as well. --- .../molecular-dynamics/gromacs/default.nix | 29 ++++++++++++++++--- pkgs/top-level/all-packages.nix | 6 ++++ 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix index 2ca47d812bbf..e669562c9cc7 100644 --- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix +++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix @@ -1,8 +1,10 @@ { lib, stdenv, fetchurl, cmake, hwloc, fftw, perl, blas, lapack, mpi, cudatoolkit +, plumed , singlePrec ? true , config -, enableMpi ? false , enableCuda ? config.cudaSupport +, enableMpi ? false +, enablePlumed ? false , cpuAcceleration ? null }: @@ -18,20 +20,39 @@ let if stdenv.hostPlatform.system == "aarch64-linux" then "ARM_NEON_ASIMD" else "None"; + source = + if enablePlumed then + { + version = "2023"; + hash = "sha256-rJLG2nL7vMpBT9io2Xnlbs8XxMHNq+0tpc+05yd7e6g="; + } + else + { + version = "2023.3"; + hash = "sha256-Tsj40MevdrE/j9FtuOLBIOdJ3kOa6VVNn2U/gS140cs="; + }; + in stdenv.mkDerivation rec { pname = "gromacs"; - version = "2023.3"; + version = source.version; src = fetchurl { url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-${version}.tar.gz"; - sha256 = "sha256-Tsj40MevdrE/j9FtuOLBIOdJ3kOa6VVNn2U/gS140cs="; + inherit (source) hash; }; patches = [ ./pkgconfig.patch ]; + postPatch = lib.optionalString enablePlumed '' + plumed patch -p -e gromacs-2023 + ''; + outputs = [ "out" "dev" "man" ]; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = + [ cmake ] + ++ lib.optional enablePlumed plumed + ; buildInputs = [ fftw diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bda9a5447d0b..2fe1ffbd964a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -39358,6 +39358,12 @@ with pkgs; fftw = fftwSinglePrec; }; + gromacsPlumed = lowPrio (gromacs.override { + singlePrec = true; + enablePlumed = true; + fftw = fftwSinglePrec; + }); + gromacsMpi = lowPrio (gromacs.override { singlePrec = true; enableMpi = true;