guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: gnu: define dune-*-openmpi packages


From: guix-commits
Subject: 02/02: gnu: define dune-*-openmpi packages
Date: Sat, 14 Mar 2020 12:55:08 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 6ceb771657bdc3516c6c22f43532ff67d75465f6
Author: Felix Gruber <address@hidden>
AuthorDate: Fri Mar 13 18:30:38 2020 +0100

    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 <address@hidden>
---
 gnu/packages/maths.scm | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 0e2e6b0..6d9fd54 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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]