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>
This commit is contained in:
Felix Gruber 2020-03-10 20:29:06 +01:00 committed by Ludovic Courtès
parent a669f6e27b
commit 07ebb75d17
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5

View File

@ -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)