aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/maths.scm
diff options
context:
space:
mode:
authorFelix Gruber <felgru@posteo.net>2020-03-10 20:29:06 +0100
committerLudovic Courtès <ludo@gnu.org>2020-03-12 11:52:38 +0100
commit07ebb75d175e0285dc3a5f525f111e3a7c544ba0 (patch)
treea401cf581a4aed287b8821cde3452757768d661a /gnu/packages/maths.scm
parenta669f6e27b5c078fdd7f4592cd5dc688a979a864 (diff)
downloadpatches-07ebb75d175e0285dc3a5f525f111e3a7c544ba0.tar
patches-07ebb75d175e0285dc3a5f525f111e3a7c544ba0.tar.gz
gnu: Add dune-uggrid.
* gnu/packages/maths.scm (dune-uggrid): New variable. (dune-grid)[propagated-inputs]: Add dune-uggrid dependency, so that the UGGrid class in dune-grid can be used by packages that have dune-grid as input. (dune-functions)[arguments]: Enable tests that previously weren't built as they require dune-uggrid. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r--gnu/packages/maths.scm53
1 files changed, 52 insertions, 1 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 4235d5a0ad..ab1532cd05 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4656,6 +4656,42 @@ This package contains the basic DUNE geometry classes.")
;; GPL version 2 with "runtime exception"
(license license:gpl2)))
+(define-public dune-uggrid
+ (package
+ (name "dune-uggrid")
+ (version "2.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dune-project.org/download/"
+ version "/dune-uggrid-" version ".tar.gz"))
+ (sha256
+ (base32
+ "05l7a1gb78mny49anyxk6rjvn66rhgm30y72v5cjg0m5kfgr1a1f"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'build-tests
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "build_tests" make-flags))))))
+ (inputs
+ `(("dune-common" ,dune-common)
+ ("openmpi" ,openmpi)))
+ (native-inputs
+ `(("gfortran" ,gfortran)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://dune-project.org/")
+ (synopsis "Distributed and Unified Numerics Environment")
+ (description "DUNE, the Distributed and Unified Numerics Environment is a
+modular toolbox for solving @dfn{partial differential equations} (PDEs) with
+grid-based methods. It supports the easy implementation of methods like
+@dfn{Finite Elements} (FE), @dfn{Finite Volumes} (FV), and also @dfn{Finite
+Differences} (FD).
+
+This package contains the DUNE UG grid classes.")
+ (license license:lgpl2.1)))
+
(define-public dune-grid
(package
(name "dune-grid")
@@ -4685,6 +4721,8 @@ This package contains the basic DUNE geometry classes.")
("openblas" ,openblas)
("openmpi" ,openmpi)
("python" ,python)))
+ (propagated-inputs
+ `(("dune-uggrid" ,dune-uggrid)))
(native-inputs
`(("gfortran" ,gfortran)
("pkg-config" ,pkg-config)))
@@ -4898,7 +4936,20 @@ operating on statically typed trees of objects.")
(base32
"1an8gb477n8j0kzpbrv7nr1snh8pxip0gsxq6w63jc83gg3dj200"))))
(build-system cmake-build-system)
- (arguments `(#:tests? #f)) ; FIXME: tests require dune-uugrid
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (setenv "ARGS"
+ ;; unable to load GMSH file in this test
+ "--exclude-regex gridviewfunctionspacebasistest")
+ #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))))
(inputs
`(("dune-common" ,dune-common)
("dune-istl" ,dune-istl)