diff options
author | Felix Gruber <felgru@posteo.net> | 2020-03-10 20:29:06 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-03-12 11:52:38 +0100 |
commit | 07ebb75d175e0285dc3a5f525f111e3a7c544ba0 (patch) | |
tree | a401cf581a4aed287b8821cde3452757768d661a /gnu | |
parent | a669f6e27b5c078fdd7f4592cd5dc688a979a864 (diff) | |
download | guix-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')
-rw-r--r-- | gnu/packages/maths.scm | 53 |
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) |