From 661f4c5e2d51fde72ff92d28811b5ecabbcdac0a Mon Sep 17 00:00:00 2001 From: Romain GARBAGE Date: Mon, 27 Oct 2025 16:16:02 +0100 Subject: chemistry: Add plumed. * guix-science/packages/chemistry.scm (plumed): New variable. --- guix-science/packages/chemistry.scm | 59 +++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/guix-science/packages/chemistry.scm b/guix-science/packages/chemistry.scm index 7b48278..069e66a 100644 --- a/guix-science/packages/chemistry.scm +++ b/guix-science/packages/chemistry.scm @@ -11,14 +11,15 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages compression) #:use-module (gnu packages gcc) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) - #:use-module (gnu packages python) #:use-module (gnu packages perl) - #:use-module (gnu packages wget) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages version-control) + #:use-module (gnu packages wget) #:use-module (guix-science packages fortran)) (define-public wannier90 @@ -138,6 +139,60 @@ programming languages and frameworks (Fortran, C, Python C bindings, Python/Numpy, Python/Tensorflow).") (license license:mpl2.0))) +(define-public plumed + (package + (name "plumed") + (version "2.10.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/plumed/plumed2") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 (base32 "1n49dd8rnklflxnyfsn5l7k49xi2ncsvfqvd8v0b4vydwnxzqmb8")))) + (build-system gnu-build-system) + (arguments + (list + #:configure-flags + #~(list + (string-append "CXX=" #$(this-package-input "openmpi") "/bin/mpic++") + (string-append "LDFLAGS=-lopenblas") + (string-append "MPIEXEC=" #$(this-package-input "openmpi") "/bin/mpirun") + ;; Fix runpath validation error. + "--enable-rpath") + ;; Prevent non reproducible timeouts. + #:parallel-tests? #f + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'mpi-setup #$%openmpi-setup) + (add-before 'check 'fix-tests + (lambda _ + (for-each delete-file-recursively + ;; Need missing data. + '("regtest/basic/rt-make-7" + "regtest/basic/rt-make-subprocess" + "regtest/basic/rt-vimsyntax" + ;; Need too much resources to pass on CI. + "regtest/basic/rt-NeigbourlistInitializationError"))))))) + (native-inputs + (list pkg-config)) + (inputs + (list fftw + gsl + openmpi + openblas + zlib)) + (home-page "https://www.plumed.org/") + (synopsis "The community-developed PLUgin for MolEcular Dynamics") + (description "PLUMED is a library that provides a wide range of different methods, +which include: enhanced-sampling algorithms, free-energy methods, +tools to analyze the vast amounts of data produced by molecular +dynamics (MD) simulations. These techniques can be used in combination +with a large toolbox of collective variables that describe complex +processes in physics, chemistry, material science, and biology.") + (license license:lgpl3+))) + (define-public quantum-espresso (package (name "quantum-espresso") -- cgit v1.2.3