summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHoward Pritchard <howardp@lanl.gov>2022-12-21 17:07:24 -0700
committerGitHub <noreply@github.com>2022-12-21 17:07:24 -0700
commitc74bbc67237d14dc1dfef103828f50ce25b5d02f (patch)
treeb6d9440725454de5c2a697877347eb718866ce0b
parent492a603d5e5feee7e30607288ec5e3ab9121a843 (diff)
downloadspack-c74bbc67237d14dc1dfef103828f50ce25b5d02f.tar.gz
spack-c74bbc67237d14dc1dfef103828f50ce25b5d02f.tar.bz2
spack-c74bbc67237d14dc1dfef103828f50ce25b5d02f.tar.xz
spack-c74bbc67237d14dc1dfef103828f50ce25b5d02f.zip
paraview: patch catalyst etc. to build with oneapi (#33562)
without this patch, build of paraview has a meltdown when reaching 3rd party catalyst and other packages with these types of errors: 335 /tmp/foo/spack-stage/spack-stage-paraview-5.10.1-gscoqxhhakjyyfirdefuhmi2bzw4scho/spack-src/VTK/ThirdParty/fmt/vtkfmt/vtkfmt/format.h:1732:11: error: cannot capture a bi t-field by reference 336 if (sign) *it++ = static_cast<Char>(data::signs[sign]); 337 ^ Signed-off-by: Howard Pritchard <howardp@lanl.gov> Signed-off-by: Howard Pritchard <howardp@lanl.gov>
-rw-r--r--var/spack/repos/builtin/packages/paraview/catalyst-etc_oneapi_fix.patch45
-rw-r--r--var/spack/repos/builtin/packages/paraview/package.py3
2 files changed, 48 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/paraview/catalyst-etc_oneapi_fix.patch b/var/spack/repos/builtin/packages/paraview/catalyst-etc_oneapi_fix.patch
new file mode 100644
index 0000000000..18f015f5b0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/paraview/catalyst-etc_oneapi_fix.patch
@@ -0,0 +1,45 @@
+diff --git a/ThirdParty/catalyst/vtkcatalyst/catalyst/thirdparty/conduit/fmt/conduit_fmt/format.h b/ThirdParty/catalyst/vtkcatalyst/catalyst/thirdparty/conduit/fmt/conduit_fmt/format.h
+index f0902169..86eb72e7 100644
+--- a/ThirdParty/catalyst/vtkcatalyst/catalyst/thirdparty/conduit/fmt/conduit_fmt/format.h
++++ b/ThirdParty/catalyst/vtkcatalyst/catalyst/thirdparty/conduit/fmt/conduit_fmt/format.h
+@@ -1726,7 +1726,7 @@ OutputIt write_nonfinite(OutputIt out, bool isinf,
+ auto str =
+ isinf ? (fspecs.upper ? "INF" : "inf") : (fspecs.upper ? "NAN" : "nan");
+ constexpr size_t str_size = 3;
+- auto sign = fspecs.sign;
++ auto sign = static_cast<unsigned int>(fspecs.sign);
+ auto size = str_size + (sign ? 1 : 0);
+ using iterator = remove_reference_t<decltype(reserve(out, 0))>;
+ return write_padded(out, specs, size, [=](iterator it) {
+@@ -1807,7 +1807,7 @@ OutputIt write_float(OutputIt out, const DecimalFP& fp,
+ auto significand = fp.significand;
+ int significand_size = get_significand_size(fp);
+ static const Char zero = static_cast<Char>('0');
+- auto sign = fspecs.sign;
++ auto sign = static_cast<unsigned int>(fspecs.sign);
+ size_t size = to_unsigned(significand_size) + (sign ? 1 : 0);
+ using iterator = remove_reference_t<decltype(reserve(out, 0))>;
+
+
+diff --git a/VTK/ThirdParty/fmt/vtkfmt/vtkfmt/format.h b/VTK/ThirdParty/fmt/vtkfmt/vtkfmt/format.h
+index 5398a23a..108b4f90 100644
+--- a/VTK/ThirdParty/fmt/vtkfmt/vtkfmt/format.h
++++ b/VTK/ThirdParty/fmt/vtkfmt/vtkfmt/format.h
+@@ -1587,7 +1587,7 @@ auto write_nonfinite(OutputIt out, bool isinf, basic_format_specs<Char> specs,
+ auto str =
+ isinf ? (fspecs.upper ? "INF" : "inf") : (fspecs.upper ? "NAN" : "nan");
+ constexpr size_t str_size = 3;
+- auto sign = fspecs.sign;
++ auto sign = static_cast<unsigned int>(fspecs.sign);
+ auto size = str_size + (sign ? 1 : 0);
+ // Replace '0'-padding with space for non-finite values.
+ const bool is_zero_fill =
+@@ -1673,7 +1673,7 @@ auto write_float(OutputIt out, const DecimalFP& fp,
+ auto significand = fp.significand;
+ int significand_size = get_significand_size(fp);
+ static const Char zero = static_cast<Char>('0');
+- auto sign = fspecs.sign;
++ auto sign = static_cast<unsigned int>(fspecs.sign);
+ size_t size = to_unsigned(significand_size) + (sign ? 1 : 0);
+ using iterator = reserve_iterator<OutputIt>;
+
diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py
index 1b6437e21f..6a6768d706 100644
--- a/var/spack/repos/builtin/packages/paraview/package.py
+++ b/var/spack/repos/builtin/packages/paraview/package.py
@@ -255,6 +255,9 @@ class Paraview(CMakePackage, CudaPackage):
# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7591
patch("xlc-compilation-pv590.patch", when="@5.9.0%xl_r")
+ # intel oneapi doesn't compile some code in catalyst
+ patch("catalyst-etc_oneapi_fix.patch", when="@5.10.0:5.10.1%oneapi")
+
@property
def generator(self):
# https://gitlab.kitware.com/paraview/paraview/-/issues/21223