mirror of
https://gitlab.univ-nantes.fr/glicid-public/guix-glicid.git
synced 2025-04-30 06:08:37 +02:00
Merge branch 'devel' into 'main'
add gromacs+gpu. very basic for the moment See merge request glicid-public/guix-glicid!204
This commit is contained in:
commit
b3c0015c70
1 changed files with 79 additions and 0 deletions
79
glicid/packages/chemistry.scm
Normal file
79
glicid/packages/chemistry.scm
Normal file
|
@ -0,0 +1,79 @@
|
|||
(define-module (glicid packages chemistry)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages chemistry)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (non-free cuda))
|
||||
|
||||
(define-public gromacs+cuda
|
||||
(package
|
||||
(inherit gromacs)
|
||||
(arguments
|
||||
(list #: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_GPU=CUDA"
|
||||
(string-append "-DCUDA_TOOLKIT_ROOT_DIR=" #$(this-package-input "cuda-toolkit"))
|
||||
"-DGMX_EXTERNAL_TINYXML2=on"
|
||||
(string-append "-DTinyXML2_DIR="
|
||||
#$(this-package-input "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)))
|
||||
#: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 #$(package-source googletest)
|
||||
"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()")))))))
|
||||
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs gromacs)
|
||||
(append cuda hwloc))))
|
||||
)
|
||||
|
Loading…
Add table
Reference in a new issue