aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/maths.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-03-18 19:41:08 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-03-18 19:41:08 +0100
commitc4d769d359c67680fe55c3b71e659cd31837f3ec (patch)
tree928fe50be266c8975f4abad56e07ce4ebaef55fe /gnu/packages/maths.scm
parentde2871c9faa44ee07f73470441f05d114a43bb48 (diff)
parent4de63cf3fc0a831d75cb507456821104f24800c2 (diff)
downloadguix-c4d769d359c67680fe55c3b71e659cd31837f3ec.tar
guix-c4d769d359c67680fe55c3b71e659cd31837f3ec.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r--gnu/packages/maths.scm92
1 files changed, 61 insertions, 31 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index d72f884a8f..9feb54d87d 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3356,7 +3356,7 @@ access to BLIS implementations via traditional BLAS routine calls.")
;; no configure script
(modify-phases %standard-phases (delete 'configure))
#:tests? #f)) ;the tests are part of the default target
- (home-page "http://openlibm.org/")
+ (home-page "https://openlibm.org/")
(synopsis "Portable C mathematical library (libm)")
(description
"OpenLibm is an effort to have a high quality, portable, standalone C
@@ -4591,13 +4591,10 @@ linear algebra primitives specifically targeting graph analytics.")
(modify-phases %standard-phases
(add-after 'build 'build-tests
(lambda* (#:key make-flags #:allow-other-keys)
- (apply invoke "make" "build_tests" make-flags)))
- (add-before 'check 'mpi-setup
- ,%openmpi-setup))))
+ (apply invoke "make" "build_tests" make-flags))))))
(inputs
`(("gmp" ,gmp)
("metis" ,metis)
- ("openmpi" ,openmpi)
("openblas" ,openblas)
("python" ,python)
("superlu" ,superlu)))
@@ -4635,7 +4632,6 @@ Differences} (FD).")
(apply invoke "make" "build_tests" make-flags))))))
(inputs
`(("dune-common" ,dune-common)
- ("openmpi" ,openmpi)
;; Optional
("openblas" ,openblas)
("gmp" ,gmp)
@@ -4675,8 +4671,7 @@ This package contains the basic DUNE geometry classes.")
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "build_tests" make-flags))))))
(inputs
- `(("dune-common" ,dune-common)
- ("openmpi" ,openmpi)))
+ `(("dune-common" ,dune-common)))
(native-inputs
`(("gfortran" ,gfortran)
("pkg-config" ,pkg-config)))
@@ -4709,16 +4704,13 @@ This package contains the DUNE UG grid classes.")
(modify-phases %standard-phases
(add-after 'build 'build-tests
(lambda* (#:key make-flags #:allow-other-keys)
- (apply invoke "make" "build_tests" make-flags)))
- (add-before 'check 'mpi-setup
- ,%openmpi-setup))))
+ (apply invoke "make" "build_tests" make-flags))))))
(inputs
`(("dune-common" ,dune-common)
("dune-geometry" ,dune-geometry)
("gmp" ,gmp)
("metis" ,metis)
("openblas" ,openblas)
- ("openmpi" ,openmpi)
("python" ,python)))
(propagated-inputs
`(("dune-uggrid" ,dune-uggrid)))
@@ -4755,12 +4747,9 @@ This package contains the basic DUNE grid classes.")
(modify-phases %standard-phases
(add-after 'build 'build-tests
(lambda* (#:key make-flags #:allow-other-keys)
- (apply invoke "make" "build_tests" make-flags)))
- (add-before 'check 'mpi-setup
- ,%openmpi-setup))))
+ (apply invoke "make" "build_tests" make-flags))))))
(inputs
`(("dune-common" ,dune-common)
- ("openmpi" ,openmpi)
;; Optional
("metis" ,metis)
("suitesparse" ,suitesparse)
@@ -4808,7 +4797,6 @@ aggregation-based algebraic multigrid.")
(inputs
`(("dune-common" ,dune-common)
("dune-geometry" ,dune-geometry)
- ("openmpi" ,openmpi)
;; Optional
("metis" ,metis)
("superlu" ,superlu)
@@ -4856,14 +4844,11 @@ assemble global function spaces on finite-element grids.")
(lambda* (#:key inputs make-flags #:allow-other-keys)
(setenv "CPLUS_INCLUDE_PATH"
(string-append (assoc-ref inputs "dune-grid") "/share"))
- (apply invoke "make" "build_tests" make-flags)))
- (add-before 'check 'mpi-setup
- ,%openmpi-setup))))
+ (apply invoke "make" "build_tests" make-flags))))))
(inputs
`(("dune-common" ,dune-common)
("dune-geometry" ,dune-geometry)
("dune-grid" ,dune-grid)
- ("openmpi" ,openmpi)
;; Optional
("metis" ,metis)
("openblas" ,openblas)
@@ -4901,14 +4886,11 @@ cubes.")
(modify-phases %standard-phases
(add-after 'build 'build-tests
(lambda* (#:key make-flags #:allow-other-keys)
- (apply invoke "make" "build_tests" make-flags)))
- (add-before 'check 'mpi-setup
- ,%openmpi-setup))))
+ (apply invoke "make" "build_tests" make-flags))))))
(inputs
`(("dune-common" ,dune-common)
("dune-geometry" ,dune-geometry)
("dune-grid" ,dune-grid)
- ("openmpi" ,openmpi)
;; Optional
("metis" ,metis)
("openblas" ,openblas)
@@ -4947,7 +4929,6 @@ provides the full grid interface including adaptive mesh refinement.")
(apply invoke "make" "build_tests" make-flags))))))
(inputs
`(("dune-common" ,dune-common)
- ("openmpi" ,openmpi)
;; Optional
("openblas" ,openblas)
("python" ,python)
@@ -4990,9 +4971,7 @@ operating on statically typed trees of objects.")
#t))
(add-after 'build 'build-tests
(lambda* (#:key make-flags #:allow-other-keys)
- (apply invoke "make" "build_tests" make-flags)))
- (add-before 'check 'mpi-setup
- ,%openmpi-setup))))
+ (apply invoke "make" "build_tests" make-flags))))))
(inputs
`(("dune-common" ,dune-common)
("dune-istl" ,dune-istl)
@@ -5000,7 +4979,6 @@ operating on statically typed trees of objects.")
("dune-grid" ,dune-grid)
("dune-geometry" ,dune-geometry)
("dune-typetree" ,dune-typetree)
- ("openmpi" ,openmpi)
("openblas" ,openblas)
("metis" ,metis)
("python" ,python)
@@ -5041,7 +5019,6 @@ implemented as callable objects, and bases of finite element spaces.")
("dune-grid" ,dune-grid)
("dune-typetree" ,dune-typetree)
("dune-functions" ,dune-functions)
- ("openmpi" ,openmpi)
;; Optional
("openblas" ,openblas)
("eigen" ,eigen)
@@ -5059,6 +5036,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")