From c20b4b62b39d5d076acb1be6bb12b75a0efbe689 Mon Sep 17 00:00:00 2001 From: Phillip Seeber Date: Wed, 15 Mar 2023 11:31:03 +0100 Subject: [PATCH 1/2] plumed: init at 2.8.2 plumed: fix build --- .../science/chemistry/plumed/default.nix | 34 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/development/libraries/science/chemistry/plumed/default.nix diff --git a/pkgs/development/libraries/science/chemistry/plumed/default.nix b/pkgs/development/libraries/science/chemistry/plumed/default.nix new file mode 100644 index 000000000000..8c308cf2df5b --- /dev/null +++ b/pkgs/development/libraries/science/chemistry/plumed/default.nix @@ -0,0 +1,34 @@ +{ stdenv +, lib +, fetchFromGitHub +, blas +}: + +assert !blas.isILP64; + +stdenv.mkDerivation rec { + pname = "plumed"; + version = "2.8.2"; + + src = fetchFromGitHub { + owner = "plumed"; + repo = "plumed2"; + rev = "v${version}"; + hash = "sha256-ugYhJq8KFjT8rkAOX/yZ9IlEklXCwRxKH49REd2QN9E="; + }; + + postPatch = '' + patchShebangs . + ''; + + buildInputs = [ blas ]; + + enableParallelBuilding = true; + + meta = with lib; { + description = "Molecular metadynamics library"; + homepage = "https://github.com/plumed/plumed2"; + license = licenses.lgpl3Only; + maintainers = [ maintainers.sheepforce ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 22049bd8762b..c814a0e31a5f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24224,6 +24224,8 @@ with pkgs; mail = callPackage ../development/libraries/gsignond/plugins/mail.nix { }; }; + plumed = callPackage ../development/libraries/science/chemistry/plumed { }; + ### DEVELOPMENT / LIBRARIES / AGDA agdaPackages = callPackage ./agda-packages.nix { From 09b52c631a75aac7d68f56ec3b1e8571ece81cce Mon Sep 17 00:00:00 2001 From: Phillip Seeber Date: Thu, 16 Mar 2023 14:30:15 +0100 Subject: [PATCH 2/2] cp2k: enable plumed plugin cp2k: enable plumed plugin cp2k: use mpicxx to figure out link lines --- pkgs/applications/science/chemistry/cp2k/default.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/science/chemistry/cp2k/default.nix b/pkgs/applications/science/chemistry/cp2k/default.nix index 81849f675af3..a16797b955e5 100644 --- a/pkgs/applications/science/chemistry/cp2k/default.nix +++ b/pkgs/applications/science/chemistry/cp2k/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub, python3, gfortran, blas, lapack , fftw, libint, libvori, libxc, mpi, gsl, scalapack, openssh, makeWrapper -, libxsmm, spglib, which, pkg-config +, libxsmm, spglib, which, pkg-config, plumed, zlib , enableElpa ? false , elpa } : @@ -34,6 +34,8 @@ in stdenv.mkDerivation rec { scalapack blas lapack + plumed + zlib ] ++ lib.optional enableElpa elpa; propagatedBuildInputs = [ mpi ]; @@ -64,7 +66,8 @@ in stdenv.mkDerivation rec { AR = ar -r DFLAGS = -D__FFTW3 -D__LIBXC -D__LIBINT -D__parallel -D__SCALAPACK \ -D__MPI_VERSION=3 -D__F2008 -D__LIBXSMM -D__SPGLIB \ - -D__MAX_CONTR=4 -D__LIBVORI ${lib.optionalString enableElpa "-D__ELPA"} + -D__MAX_CONTR=4 -D__LIBVORI ${lib.optionalString enableElpa "-D__ELPA"} \ + -D__PLUMED2 CFLAGS = -fopenmp FCFLAGS = \$(DFLAGS) -O2 -ffree-form -ffree-line-length-none \ -ftree-vectorize -funroll-loops -msse2 \ @@ -77,8 +80,11 @@ in stdenv.mkDerivation rec { -lxcf03 -lxc -lxsmmf -lxsmm -lsymspg \ -lint2 -lstdc++ -lvori \ -lgomp -lpthread -lm \ - -fopenmp ${lib.optionalString enableElpa "$(pkg-config --libs elpa)"} + -fopenmp ${lib.optionalString enableElpa "$(pkg-config --libs elpa)"} \ + -lz -ldl -lstdc++ ${lib.optionalString (mpi.pname == "openmpi") "$(mpicxx --showme:link)"} \ + -lplumed LDFLAGS = \$(FCFLAGS) \$(LIBS) + include ${plumed}/lib/plumed/src/lib/Plumed.inc EOF '';