From 5db42d95a19640a2b60bdefc88f201b5422ea6f6 Mon Sep 17 00:00:00 2001
Message-ID: <5db42d95a19640a2b60bdefc88f201b5422ea6f6.1697139938.git.paul@apatience.com>
From: "Paul A. Patience" <paul@apatience.com>
Date: Thu, 12 Oct 2023 10:02:25 -0400
Subject: [PATCH v2] gnu: trilinos-for-dealii-openmpi: Fix build.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This fixes the error

  error: ‘std::hypot’ has not been declared

caused by using an older version of gcc, but requires some patches to
placate newer versions of gcc.

* gnu/packages/maths.scm (trilinos-for-dealii-openmpi)[origin]: Add
patches.
[native-inputs]: Remove gcc-7.
* gnu/packages/patches/teuchos-remove-duplicate-using.patch: New file.
* gnu/packages/patches/tpetra-remove-duplicate-using.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): Register them.
---
 gnu/local.mk                                  |  2 ++
 gnu/packages/maths.scm                        |  8 ++---
 .../teuchos-remove-duplicate-using.patch      | 34 +++++++++++++++++++
 .../tpetra-remove-duplicate-using.patch       | 18 ++++++++++
 4 files changed, 58 insertions(+), 4 deletions(-)
 create mode 100644 gnu/packages/patches/teuchos-remove-duplicate-using.patch
 create mode 100644 gnu/packages/patches/tpetra-remove-duplicate-using.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 9fa52833cb..0dda948032 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2026,6 +2026,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/texinfo-5-perl-compat.patch		\
   %D%/packages/patches/telegram-desktop-allow-disable-libtgvoip.patch   \
   %D%/packages/patches/telegram-purple-adjust-test.patch	\
+  %D%/packages/patches/teuchos-remove-duplicate-using.patch	\
   %D%/packages/patches/texi2html-document-encoding.patch	\
   %D%/packages/patches/texi2html-i18n.patch			\
   %D%/packages/patches/thefuck-test-environ.patch		\
@@ -2038,6 +2039,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/tofi-32bit-compat.patch			\
   %D%/packages/patches/tootle-glib-object-naming.patch		\
   %D%/packages/patches/tootle-reason-phrase.patch		\
+  %D%/packages/patches/tpetra-remove-duplicate-using.patch	\
   %D%/packages/patches/transcode-ffmpeg.patch	\
   %D%/packages/patches/trytond-add-egg-modules-to-path.patch	\
   %D%/packages/patches/trytond-add-guix_trytond_path.patch	\
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 928e169e95..7a87fcb54e 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -6431,13 +6431,13 @@ (define trilinos-for-dealii-openmpi
                              (string-replace-substring version "." "-")))))
        (file-name (git-file-name "trilinos" version))
        (sha256
-        (base32 "0fnwlhzsh85qj38cq3igbs8nm1b2jdgr2z734sapmyyzsy21mkgp"))))
+        (base32 "0fnwlhzsh85qj38cq3igbs8nm1b2jdgr2z734sapmyyzsy21mkgp"))
+       (patches
+        (search-patches "teuchos-remove-duplicate-using.patch"
+                        "tpetra-remove-duplicate-using.patch"))))
     (build-system cmake-build-system)
     (native-inputs
      (list
-      ;; The build fails with the current gcc.
-      ;; Use the version from when Trilinos was added.
-      gcc-7
       gfortran
       ;; Trilinos's repository contains several C-shell scripts, but adding
       ;; tcsh to the native inputs does not result in the check phase running
diff --git a/gnu/packages/patches/teuchos-remove-duplicate-using.patch b/gnu/packages/patches/teuchos-remove-duplicate-using.patch
new file mode 100644
index 0000000000..55cd3f6fc3
--- /dev/null
+++ b/gnu/packages/patches/teuchos-remove-duplicate-using.patch
@@ -0,0 +1,34 @@
+commit e27d9ae98502626d8407045a4e082797682ba56b
+Author: Christian Glusa <caglusa@sandia.gov>
+Date:   Fri Jul 3 18:02:27 2020 -0600
+
+    Teuchos Comm test: remove duplicate 'using ...'
+
+diff --git a/packages/teuchos/comm/test/Comm/reduce.cpp b/packages/teuchos/comm/test/Comm/reduce.cpp
+index c05ebc0dc34..eac1975ef83 100644
+--- a/packages/teuchos/comm/test/Comm/reduce.cpp
++++ b/packages/teuchos/comm/test/Comm/reduce.cpp
+@@ -53,9 +53,6 @@ bool
+ testReduceSum (bool& success, std::ostream& out,
+                const int root, const Teuchos::Comm<int>& comm)
+ {
+-#ifdef HAVE_TEUCHOS_MPI
+-  using Teuchos::MpiComm;
+-#endif // HAVE_TEUCHOS_MPI
+   using Teuchos::reduce;
+   using Teuchos::TypeNameTraits;
+   using std::endl;
+diff --git a/packages/teuchos/comm/test/Comm/scatter.cpp b/packages/teuchos/comm/test/Comm/scatter.cpp
+index 0ca961d2846..001009029c4 100644
+--- a/packages/teuchos/comm/test/Comm/scatter.cpp
++++ b/packages/teuchos/comm/test/Comm/scatter.cpp
+@@ -53,9 +53,6 @@ bool
+ testScatter (bool& success, std::ostream& out,
+              const int root, const Teuchos::Comm<int>& comm)
+ {
+-#ifdef HAVE_TEUCHOS_MPI
+-  using Teuchos::MpiComm;
+-#endif // HAVE_TEUCHOS_MPI
+   using Teuchos::scatter;
+   using Teuchos::TypeNameTraits;
+   using std::endl;
diff --git a/gnu/packages/patches/tpetra-remove-duplicate-using.patch b/gnu/packages/patches/tpetra-remove-duplicate-using.patch
new file mode 100644
index 0000000000..e9cb2c6472
--- /dev/null
+++ b/gnu/packages/patches/tpetra-remove-duplicate-using.patch
@@ -0,0 +1,18 @@
+commit 919ceb0acbf4c6bc4f463433504a338c643612c2
+Author: Karen D. Devine <kddevin@sandia.gov>
+Date:   Tue Feb 2 13:49:13 2021 -0700
+
+    tpetra: removed duplicate using statement #8673
+
+diff --git a/packages/tpetra/core/src/Tpetra_Details_FixedHashTable_def.hpp b/packages/tpetra/core/src/Tpetra_Details_FixedHashTable_def.hpp
+index a76f78c41a8..69d4dc46d03 100644
+--- a/packages/tpetra/core/src/Tpetra_Details_FixedHashTable_def.hpp
++++ b/packages/tpetra/core/src/Tpetra_Details_FixedHashTable_def.hpp
+@@ -1094,7 +1094,6 @@ init (const keys_type& keys,
+ 
+   // Allocate the array of (key,value) pairs.  Don't fill it with
+   // zeros, because we will fill it with actual data below.
+-  using Kokkos::ViewAllocateWithoutInitializing;
+   typedef typename val_type::non_const_type nonconst_val_type;
+   nonconst_val_type val (ViewAllocateWithoutInitializing ("Tpetra::FixedHashTable::pairs"),
+                          theNumKeys);

base-commit: f4e8baf3806e79d7111d2943859865ae4ee0b59d
-- 
2.41.0

