summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2019-02-13 19:04:38 -0600
committerEric Bavier <bavier@member.fsf.org>2019-02-13 22:39:12 -0600
commit40b114c0bb3da70a209f204e50505c8e4b987257 (patch)
tree5277a2b76203f488fdbd1d2d7530b4e9d2fef432 /gnu
parentff7559d65ca4dae655bc4d4e62a91381e5afd085 (diff)
downloadguix-40b114c0bb3da70a209f204e50505c8e4b987257.tar.gz
gnu: dealii: Upgrade to 9.0.1.
* gnu/packages/patches/dealii-mpi-deprecations.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/maths.scm (dealii)[source]: Upgrade to 9.0.1.  Use patch.
[arguments]: Use new MPI configuration flags.
Diffstat (limited to 'gnu')
-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);