diff options
author | Felix Gruber <felgru@posteo.net> | 2020-03-13 18:30:38 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-03-14 17:54:34 +0100 |
commit | 6ceb771657bdc3516c6c22f43532ff67d75465f6 (patch) | |
tree | 1168732d87d86030f13c674c0ebd1ff913be04b0 /gnu | |
parent | 393dc1cc0bc4677bfa7929db9b83cf94849dcc21 (diff) | |
download | guix-6ceb771657bdc3516c6c22f43532ff67d75465f6.tar.gz guix-6ceb771657bdc3516c6c22f43532ff67d75465f6.zip |
gnu: define dune-*-openmpi packages
* gnu/packages/maths.scm (dune-common-openmpi, dune-geometry-openmpi,
dune-istl-openmpi, dune-typetree-openmpi, dune-uggrid-openmpi,
dune-grid-openmpi, dune-alugrid-openmpi, dune-subgrid-openmpi,
dune-localfunctions-openmpi, dune-functions-openmpi,
dune-pdelab-openmpi): New variables.
(add-openmpi-to-dune-package): New function to add openmpi to the
inputs of a dune-* package and replace all dune-* packages in its
input with the corresponding dune-*-openmpi package.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/maths.scm | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 0e2e6b0ac4..6d9fd54e75 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -5037,6 +5037,59 @@ built on top of DUNE, the Distributed and Unified Numerics Environment.") ;; Either GPL version 2 with "runtime exception" or LGPLv3+. (license (list license:lgpl3+ license:gpl2)))) +(define add-openmpi-to-dune-package + (let ((dune-package? + (lambda (p) (string-prefix? "dune-" (package-name p))))) + (package-mapping + (lambda (p) + (if (dune-package? p) + (package (inherit p) + (name (string-append (package-name p) "-openmpi")) + (inputs `(,@(package-inputs p) + ("openmpi" ,openmpi))) + (arguments + (substitute-keyword-arguments (package-arguments p) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-before 'check 'mpi-setup + ,%openmpi-setup))))) + (synopsis (string-append (package-synopsis p) " (with MPI support)"))) + p)) + (negate dune-package?)))) + +(define-public dune-common-openmpi + (add-openmpi-to-dune-package dune-common)) + +(define-public dune-geometry-openmpi + (add-openmpi-to-dune-package dune-geometry)) + +(define-public dune-istl-openmpi + (add-openmpi-to-dune-package dune-istl)) + +(define-public dune-typetree-openmpi + (add-openmpi-to-dune-package dune-typetree)) + +(define-public dune-uggrid-openmpi + (add-openmpi-to-dune-package dune-uggrid)) + +(define-public dune-grid-openmpi + (add-openmpi-to-dune-package dune-grid)) + +(define-public dune-alugrid-openmpi + (add-openmpi-to-dune-package dune-alugrid)) + +(define-public dune-subgrid-openmpi + (add-openmpi-to-dune-package dune-subgrid)) + +(define-public dune-localfunctions-openmpi + (add-openmpi-to-dune-package dune-localfunctions)) + +(define-public dune-functions-openmpi + (add-openmpi-to-dune-package dune-functions)) + +(define-public dune-pdelab-openmpi + (add-openmpi-to-dune-package dune-pdelab)) + (define-public mlucas (package (name "mlucas") |