summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn W. Parent <45471568+johnwparent@users.noreply.github.com>2024-02-23 14:58:58 -0500
committerGitHub <noreply@github.com>2024-02-23 11:58:58 -0800
commit3e713bb0faf742e97a517bfd612495e0b98d930a (patch)
tree1b0ebf9873cce178e9e0f294f5f60a667d56be7d
parent55bbb1098436d6ac9d83fea0715a3daa7be02ed3 (diff)
downloadspack-3e713bb0faf742e97a517bfd612495e0b98d930a.tar.gz
spack-3e713bb0faf742e97a517bfd612495e0b98d930a.tar.bz2
spack-3e713bb0faf742e97a517bfd612495e0b98d930a.tar.xz
spack-3e713bb0faf742e97a517bfd612495e0b98d930a.zip
vtk package: support vtk@9 on Windows (#42751)
-rw-r--r--var/spack/repos/builtin/packages/vtk/package.py2
-rw-r--r--var/spack/repos/builtin/packages/vtk/vtk_alias_hdf5.patch14
-rw-r--r--var/spack/repos/builtin/packages/vtk/vtk_proj_include_no_strict.patch26
3 files changed, 42 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/vtk/package.py b/var/spack/repos/builtin/packages/vtk/package.py
index 82c09a7f16..adfec3da59 100644
--- a/var/spack/repos/builtin/packages/vtk/package.py
+++ b/var/spack/repos/builtin/packages/vtk/package.py
@@ -123,6 +123,8 @@ class Vtk(CMakePackage):
patch("vtk_find_liblzma.patch", when="@8.2")
patch("vtk_movie_link_ogg.patch", when="@8.2")
patch("vtk_use_sqlite_name_vtk_expects.patch", when="@8.2")
+ patch("vtk_proj_include_no_strict.patch", when="@9: platform=windows")
+ patch("vtk_alias_hdf5.patch", when="@9: platform=windows")
with when("~osmesa"):
depends_on("glx", when="platform=linux")
depends_on("glx", when="platform=cray")
diff --git a/var/spack/repos/builtin/packages/vtk/vtk_alias_hdf5.patch b/var/spack/repos/builtin/packages/vtk/vtk_alias_hdf5.patch
new file mode 100644
index 0000000000..c2e33e4ecb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/vtk/vtk_alias_hdf5.patch
@@ -0,0 +1,14 @@
+diff --git a/CMake/patches/99/FindHDF5.cmake b/CMake/patches/99/FindHDF5.cmake
+index b54877d519..adf5d84430 100644
+--- a/CMake/patches/99/FindHDF5.cmake
++++ b/CMake/patches/99/FindHDF5.cmake
+@@ -1150,6 +1150,9 @@ if (HDF5_FOUND)
+ endif ()
+ endif ()
+ endforeach ()
++ if(NOT TARGET "hdf5")
++ add_library(hdf5 ALIAS hdf5::hdf5)
++ endif()
+ unset(hdf5_lang)
+
+ if (HDF5_DIFF_EXECUTABLE AND NOT TARGET hdf5::h5diff)
diff --git a/var/spack/repos/builtin/packages/vtk/vtk_proj_include_no_strict.patch b/var/spack/repos/builtin/packages/vtk/vtk_proj_include_no_strict.patch
new file mode 100644
index 0000000000..209501623d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/vtk/vtk_proj_include_no_strict.patch
@@ -0,0 +1,26 @@
+diff --git a/ThirdParty/libproj/vtk_libproj.h.in b/ThirdParty/libproj/vtk_libproj.h.in
+index 00cd3599e3..3ce90dd198 100644
+--- a/ThirdParty/libproj/vtk_libproj.h.in
++++ b/ThirdParty/libproj/vtk_libproj.h.in
+@@ -26,6 +26,10 @@
+ #endif
+
+ #if VTK_MODULE_USE_EXTERNAL_vtklibproj
++# ifdef STRICT
++# define _OLD_STRICT STRICT
++# undef STRICT
++# endif
+ # if VTK_LibPROJ_MAJOR_VERSION >= 5
+ # include <proj.h>
+ # include <proj/io.hpp>
+@@ -35,6 +39,10 @@
+ # include <projects.h>
+ # endif
+ # include <geodesic.h>
++# ifdef _OLD_STRICT
++# define STRICT _OLD_STRICT
++# undef _OLD_STRICT
++# endif
+ #else
+ # include <vtklibproj/src/proj.h>
+ # include <vtklibproj/src/geodesic.h>