gnu: dealii: Update to 9.3.3.

* gnu/packages/maths.scm (dealii): Update to 9.3.3.
* gnu/packages/patches/dealii-fix-compiliation-with-boost-1.78.patch:
Delete file.
* gnu/packages/patches/dealii-fix-sundials.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Paul A. Patience 2022-04-28 18:19:35 +00:00 committed by Ludovic Courtès
parent 240b604eda
commit 8b2d266607
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
4 changed files with 2 additions and 106 deletions

View File

@ -994,8 +994,6 @@ dist_patch_DATA = \
%D%/packages/patches/dbus-c++-gcc-compat.patch \
%D%/packages/patches/dbus-c++-threading-mutex.patch \
%D%/packages/patches/dbxfs-remove-sentry-sdk.patch \
%D%/packages/patches/dealii-fix-compiliation-with-boost-1.78.patch \
%D%/packages/patches/dealii-fix-sundials.patch \
%D%/packages/patches/debops-constants-for-external-program-names.patch \
%D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
%D%/packages/patches/dee-vapi.patch \

View File

@ -5179,16 +5179,14 @@ A unique design feature of Trilinos is its focus on packages.")
(define-public dealii
(package
(name "dealii")
(version "9.3.2")
(version "9.3.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/dealii/dealii/releases/"
"download/v" version "/dealii-" version ".tar.gz"))
(sha256
(base32 "1s0kawnljg24jj6nibwrif5gxdgg2daqfylhqqpl1lvmzmmxfhak"))
(patches (search-patches "dealii-fix-compiliation-with-boost-1.78.patch"
"dealii-fix-sundials.patch"))
(base32 "0a8s4yxcbvzmfgv5qcg27h2ss4fcnyhrhhs35glqj59l9cbmkysx"))
(modules '((guix build utils)))
(snippet
;; Remove bundled boost, muparser, TBB and UMFPACK.

View File

@ -1,40 +0,0 @@
From cbef761731627cece2a6f0276b87dacabbdc8a72 Mon Sep 17 00:00:00 2001
From: David Wells <drwells@email.unc.edu>
Date: Tue, 4 Jan 2022 12:46:30 -0500
Subject: [PATCH] Fix compilation with boost 1.78.
I bisected (fortunately Boost.Geometry a header-only library so adding the
include directory sufficed) and
https://github.com/boostorg/geometry/commit/6eb9e238bcb37e26dc31d16acf826784a2ba30f4
is where this problem starts for us. See also
https://github.com/boostorg/geometry/issues/792 - the easiest fix for all such
issues is to just include the project header `boost/geometry/geometry.hpp`.
In this particular case, if you look at the commit which causes grid_tools.cc
fails to compile, its because we were relying on some implicit includes. In
particular, we need the distance header to find the distance between points and
boxes, but that was previously included in another file.
This patch has been adapted from
e0e76835519d122fd12b5858e16d08641a641c6a to apply to dealii 9.3.2.
See https://github.com/dealii/dealii/pull/13165.
---
include/deal.II/numerics/rtree.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/deal.II/numerics/rtree.h b/include/deal.II/numerics/rtree.h
index 1b9d04dacd..1e1bfd2932 100644
--- a/include/deal.II/numerics/rtree.h
+++ b/include/deal.II/numerics/rtree.h
@@ -26,6 +26,7 @@
#include <deal.II/boost_adaptors/segment.h>
DEAL_II_DISABLE_EXTRA_DIAGNOSTICS
+#include <boost/geometry/algorithms/distance.hpp>
#include <boost/geometry/index/rtree.hpp>
#include <boost/geometry/strategies/strategies.hpp>
DEAL_II_ENABLE_EXTRA_DIAGNOSTICS
--
2.30.2

View File

@ -1,60 +0,0 @@
From af73f368f7f9d4a00df075d1a9f50fc495f8e87a Mon Sep 17 00:00:00 2001
From: Timo Heister <timo.heister@gmail.com>
Date: Sat, 25 Dec 2021 12:30:45 -0500
Subject: [PATCH] fix sundials compilation
---
include/deal.II/sundials/n_vector.templates.h | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/include/deal.II/sundials/n_vector.templates.h b/include/deal.II/sundials/n_vector.templates.h
index 2b49e3efc9..746f63a03b 100644
--- a/include/deal.II/sundials/n_vector.templates.h
+++ b/include/deal.II/sundials/n_vector.templates.h
@@ -253,13 +253,13 @@ namespace SUNDIALS
template <
typename VectorType,
typename std::enable_if_t<!IsBlockVector<VectorType>::value, int> = 0>
- MPI_Comm
+ const MPI_Comm &
get_communicator(N_Vector v);
template <
typename VectorType,
typename std::enable_if_t<IsBlockVector<VectorType>::value, int> = 0>
- MPI_Comm
+ const MPI_Comm &
get_communicator(N_Vector v);
/**
@@ -481,7 +481,7 @@ SUNDIALS::internal::NVectorOperations::destroy(N_Vector v)
template <typename VectorType,
std::enable_if_t<IsBlockVector<VectorType>::value, int>>
-MPI_Comm
+const MPI_Comm &
SUNDIALS::internal::NVectorOperations::get_communicator(N_Vector v)
{
return unwrap_nvector_const<VectorType>(v)->block(0).get_mpi_communicator();
@@ -491,7 +491,7 @@ SUNDIALS::internal::NVectorOperations::get_communicator(N_Vector v)
template <typename VectorType,
std::enable_if_t<!IsBlockVector<VectorType>::value, int>>
-MPI_Comm
+const MPI_Comm &
SUNDIALS::internal::NVectorOperations::get_communicator(N_Vector v)
{
return unwrap_nvector_const<VectorType>(v)->get_mpi_communicator();
@@ -519,7 +519,8 @@ SUNDIALS::internal::NVectorOperations::get_communicator_as_void_ptr(N_Vector v)
(void)v;
return nullptr;
# else
- return get_communicator<VectorType>(v);
+ // We need to cast away const here, as SUNDIALS demands a pure `void *`.
+ return &(const_cast<MPI_Comm &>(get_communicator<VectorType>(v)));
# endif
}
--
2.30.2