From da13ce644ac19dd30ef4dd3357a1d72f650a827b Mon Sep 17 00:00:00 2001 From: Yann Dupont Date: Mon, 25 May 2020 16:48:22 +0200 Subject: [PATCH] gromacs openmpi --- gnu/packages/glicid.scm | 65 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/gnu/packages/glicid.scm b/gnu/packages/glicid.scm index 0320ef0..411d5fd 100644 --- a/gnu/packages/glicid.scm +++ b/gnu/packages/glicid.scm @@ -206,6 +206,71 @@ ;) +(define-public glicid-gromacs-openmpi + (package + (inherit gromacs) + (name "glicid-gromacs-openmpi") + (inputs `(("openmpi", openmpi) + ("openssh", openssh) + ,@(package-inputs gromacs))) + (build-system cmake-build-system) + + (arguments + `(#:configure-flags + (list "-DGMX_DEVELOPER_BUILD=on" ; Needed to run tests + ;; Unbundling + "-DGMX_USE_LMFIT=EXTERNAL" + "-DGMX_BUILD_OWN_FFTW=off" + "-DGMX_EXTERNAL_BLAS=on" + "-DGMX_EXTERNAL_LAPACK=on" + "-DGMX_EXTERNAL_TNG=on" + "-DGMX_EXTERNAL_ZLIB=on" + "-DGMX_EXTERNAL_TINYXML2=on" + ;; special glicid + "-DGMX_MPI=on" + "-DCMAKE_C_COMPILER=mpicc" + "-DCMAKE_CXX_COMPILER=mpicxx" + (string-append "-DTinyXML2_DIR=" + (assoc-ref %build-inputs "tinyxml2")) + ;; Workaround for cmake/FindSphinx.cmake version parsing that does + ;; not understand the guix-wrapped `sphinx-build --version' answer + (string-append "-DSPHINX_EXECUTABLE_VERSION=" + ,(package-version python-sphinx))) + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fixes + (lambda* (#:key inputs #:allow-other-keys) + ;; Still bundled: part of gromacs, source behind registration + ;; but free software anyways + ;;(delete-file-recursively "src/external/vmd_molfile") + ;; Still bundled: threads-based OpenMPI-compatible fallback + ;; designed to be bundled like that + ;;(delete-file-recursively "src/external/thread_mpi") + ;; Unbundling + (delete-file-recursively "src/external/lmfit") + (delete-file-recursively "src/external/clFFT") + (delete-file-recursively "src/external/fftpack") + (delete-file-recursively "src/external/build-fftw") + (delete-file-recursively "src/external/tng_io") + (delete-file-recursively "src/external/tinyxml2") + (delete-file-recursively "src/external/googletest") + (copy-recursively (assoc-ref inputs "googletest-source") + "src/external/googletest") + ;; This test warns about the build host hardware, disable + (substitute* "src/gromacs/hardware/tests/hardwaretopology.cpp" + (("TEST\\(HardwareTopologyTest, HwlocExecute\\)") + "void __guix_disabled()")) + #t))))) + + + + ) + +) + + + ;; pour futures customisations. (define-public glicid-openmpi-gcc-8