diff options
Diffstat (limited to 'var')
4 files changed, 71 insertions, 5 deletions
diff --git a/var/spack/repos/builtin/packages/vtk/package.py b/var/spack/repos/builtin/packages/vtk/package.py index 38863fdcc3..7d25196db8 100644 --- a/var/spack/repos/builtin/packages/vtk/package.py +++ b/var/spack/repos/builtin/packages/vtk/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import glob import os from spack.package import * @@ -97,8 +98,9 @@ class Vtk(CMakePackage): # Broken downstream FindMPI patch("vtkm-findmpi-downstream.patch", when="@9.0.0") - # use internal FindHDF5 - patch("internal_findHDF5.patch", when="@:8") + for plat in ["linux", "darwin", "freebsd", "cray"]: + # use internal FindHDF5 + patch("internal_findHDF5.patch", when=f"@:8 platform={plat}") # Fix IOADIOS2 module to work with kits # https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8653 @@ -117,6 +119,10 @@ class Vtk(CMakePackage): depends_on("gl@3.2:", when="+opengl2") depends_on("gl@1.2:", when="~opengl2") + depends_on("xz") + patch("vtk_find_liblzma.patch", when="@:9.0") + patch("vtk_movie_link_ogg.patch") + patch("vtk_use_sqlite_name_vtk_expects.patch") with when("~osmesa"): depends_on("glx", when="platform=linux") depends_on("glx", when="platform=cray") @@ -161,7 +167,7 @@ class Vtk(CMakePackage): depends_on("eigen", when="@8.2.0:") depends_on("double-conversion", when="@8.2.0:") depends_on("sqlite", when="@8.2.0:") - depends_on("pugixml", when="@8.2.0:") + depends_on("pugixml", when="@8.3.0:") depends_on("libogg") depends_on("libtheora") depends_on("utf8cpp", when="@9:") @@ -472,7 +478,18 @@ class Vtk(CMakePackage): "-DCMAKE_CXX_FLAGS={0}".format(compile_flags), ] ) - - cmake_args.append(self.define_from_variant("VTK_BUILD_EXAMPLES", "examples")) + if spec.satisfies("@:8"): + vtk_example_arg = "BUILD_EXAMPLES" + else: + vtk_example_arg = "VTK_BUILD_EXAMPLES" + cmake_args.append(self.define_from_variant(f"{vtk_example_arg}", "examples")) return cmake_args + + @when("+examples") + def install(self, spec, prefix): + super().install(spec, prefix) + with working_dir(self.build_directory): + examples = glob.glob("bin\\*.exe") + for example in examples: + install(example, prefix.bin) diff --git a/var/spack/repos/builtin/packages/vtk/vtk_find_liblzma.patch b/var/spack/repos/builtin/packages/vtk/vtk_find_liblzma.patch new file mode 100644 index 0000000000..7ad2c9961e --- /dev/null +++ b/var/spack/repos/builtin/packages/vtk/vtk_find_liblzma.patch @@ -0,0 +1,11 @@ +diff --git a/CMake/FindLZMA.cmake b/CMake/FindLZMA.cmake +index 213ab18df1..c9e693800b 100644 +--- a/CMake/FindLZMA.cmake ++++ b/CMake/FindLZMA.cmake +@@ -1,5 +1,5 @@ + +-find_library(LZMA_LIBRARIES NAMES lzma) ++find_library(LZMA_LIBRARIES NAMES lzma liblzma) + find_path(LZMA_INCLUDE_DIRS NAMES lzma.h) + + include(FindPackageHandleStandardArgs) diff --git a/var/spack/repos/builtin/packages/vtk/vtk_movie_link_ogg.patch b/var/spack/repos/builtin/packages/vtk/vtk_movie_link_ogg.patch new file mode 100644 index 0000000000..d020286678 --- /dev/null +++ b/var/spack/repos/builtin/packages/vtk/vtk_movie_link_ogg.patch @@ -0,0 +1,12 @@ +diff --git a/IO/Movie/module.cmake b/IO/Movie/module.cmake +index 4275171403..dd1efc3dd9 100644 +--- a/IO/Movie/module.cmake ++++ b/IO/Movie/module.cmake +@@ -1,6 +1,6 @@ + if(NOT CMAKE_C_COMPILER_ID STREQUAL "XL") + if(NOT ${CMAKE_CROSSCOMPILING}) +- set(vtkIOMovie_vtkoggtheora vtktheora) ++ set(vtkIOMovie_vtkoggtheora vtkogg vtktheora) + endif() + endif() + vtk_module(vtkIOMovie diff --git a/var/spack/repos/builtin/packages/vtk/vtk_use_sqlite_name_vtk_expects.patch b/var/spack/repos/builtin/packages/vtk/vtk_use_sqlite_name_vtk_expects.patch new file mode 100644 index 0000000000..8d72a380d2 --- /dev/null +++ b/var/spack/repos/builtin/packages/vtk/vtk_use_sqlite_name_vtk_expects.patch @@ -0,0 +1,26 @@ +diff --git a/CMake/FindSQLite3.cmake b/CMake/FindSQLite3.cmake +index 7933ba7cc3..43f467e524 100644 +--- a/CMake/FindSQLite3.cmake ++++ b/CMake/FindSQLite3.cmake +@@ -1,6 +1,6 @@ +-find_path(SQLite3_INCLUDE_DIR NAMES sqlite3.h) ++find_path(SQLite3_INCLUDE_DIRS NAMES sqlite3.h) + +-get_filename_component(POSSIBLE_SQLite_ROOT "${SQLite3_INCLUDE_DIR}" DIRECTORY) ++get_filename_component(POSSIBLE_SQLite_ROOT "${SQLite3_INCLUDE_DIRS}" DIRECTORY) + + find_library(SQLite3_LIBRARY + NAMES sqlite3 +@@ -14,9 +14,9 @@ add_library(sqlite3::sqlite3 UNKNOWN IMPORTED) + set_target_properties(sqlite3::sqlite3 + PROPERTIES + IMPORTED_LOCATION ${SQLite3_LIBRARY} +- INTERFACE_INCLUDE_DIRECTORIES ${SQLite3_INCLUDE_DIR}) ++ INTERFACE_INCLUDE_DIRECTORIES ${SQLite3_INCLUDE_DIRS}) + + include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(SQLite3 DEFAULT_MSG SQLite3_LIBRARY SQLite3_INCLUDE_DIR) ++find_package_handle_standard_args(SQLite3 DEFAULT_MSG SQLite3_LIBRARY SQLite3_INCLUDE_DIRS) + +-mark_as_advanced(SQLite3_INCLUDE_DIR SQLite3_LIBRARY) ++mark_as_advanced(SQLite3_INCLUDE_DIRS SQLite3_LIBRARY) |