summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/maths.scm11
-rw-r--r--gnu/packages/patches/dealii-mpi-deprecations.patch28
3 files changed, 34 insertions, 6 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index a73f10b0f8..69d157b8a7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -707,6 +707,7 @@ dist_patch_DATA = \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-2017-12836.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
+ %D%/packages/patches/dealii-mpi-deprecations.patch \
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
%D%/packages/patches/diffutils-gets-undeclared.patch \
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 180737001e..bf03571c45 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3447,7 +3447,7 @@ revised simplex and the branch-and-bound methods.")
(define-public dealii
(package
(name "dealii")
- (version "8.5.1")
+ (version "9.0.1")
(source
(origin
(method url-fetch)
@@ -3455,7 +3455,8 @@ revised simplex and the branch-and-bound methods.")
"download/v" version "/dealii-" version ".tar.gz"))
(sha256
(base32
- "1bh9rsmkrg0zi70n27b11djmac9lximghsiy7mg7w7x544n82gnk"))
+ "0r7f8rhl3xr94imd372plizdcbqk0a70w73lwc3vw912dxk0sbyz"))
+ (patches (search-patches "dealii-mpi-deprecations.patch"))
(modules '((guix build utils)))
(snippet
;; Remove bundled sources: UMFPACK, TBB, muParser, and boost
@@ -3508,10 +3509,8 @@ in finite element programs.")
(arguments
(substitute-keyword-arguments (package-arguments dealii)
((#:configure-flags cf)
- ``("-DMPI_C_COMPILER=mpicc"
- "-DMPI_CXX_COMPILER=mpicxx"
- "-DMPI_Fortran_COMPILER=mpifort"
- ,@,cf))
+ `(cons "-DDEAL_II_WITH_MPI:BOOL=ON"
+ ,cf))
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(add-before 'check 'mpi-setup
diff --git a/gnu/packages/patches/dealii-mpi-deprecations.patch b/gnu/packages/patches/dealii-mpi-deprecations.patch
new file mode 100644
index 0000000000..816d54140a
--- /dev/null
+++ b/gnu/packages/patches/dealii-mpi-deprecations.patch
@@ -0,0 +1,28 @@
+From 40538ad31a71495649d174b0f7be5f7135d0a905 Mon Sep 17 00:00:00 2001
+From: David Wells <drwells@email.unc.edu>
+Date: Sat, 2 Feb 2019 10:00:38 -0500
+Subject: [PATCH] Avoid calling a deprecated MPI function.
+
+This was deprecated a long time ago (1996) and is not present in the
+latest version of openMPI (4.0): see
+
+https://www.open-mpi.org/faq/?category=mpi-removed
+
+Credit goes to Pratik Nayak for finding this issue.
+---
+ source/base/mpi.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/source/base/mpi.cc b/source/base/mpi.cc
+index bd1f7f9846a..b8cd45e7c26 100644
+--- a/source/base/mpi.cc
++++ b/source/base/mpi.cc
+@@ -448,7 +448,7 @@ namespace Utilities
+ MPI_Aint displacements[] = {0, offsetof(MinMaxAvg, min_index)};
+ MPI_Datatype types[] = {MPI_DOUBLE, MPI_INT};
+
+- ierr = MPI_Type_struct(2, lengths, displacements, types, &type);
++ ierr = MPI_Type_create_struct(2, lengths, displacements, types, &type);
+ AssertThrowMPI(ierr);
+
+ ierr = MPI_Type_commit(&type);