Skip to content

Commit

Permalink
#64 update vtk 8.1 patches
Browse files Browse the repository at this point in the history
  • Loading branch information
kwabenantim committed May 13, 2024
1 parent d909dcd commit af9afd6
Show file tree
Hide file tree
Showing 37 changed files with 1,089 additions and 663 deletions.
47 changes: 39 additions & 8 deletions scripts/install_vtk.sh
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ mkdir -p ${src_dir}
wget -nc https://github.com/Kitware/VTK/archive/v${version}.tar.gz
tar -xzf v${version}.tar.gz -C ${src_dir} --strip-components=1

# VTK 6.3.x patches: https://sources.debian.org/patches/vtk6/6.3.0%2Bdfsg2-8.1/
# VTK 6.3.x patches: https://sources.debian.org/patches/vtk6/
if [[ ${major} -eq 6 && ${minor} -eq 3 ]]; then # VTK == 6.3.x
cd ${src_dir}
patch -t -p1 < ${script_dir}/patches/vtk/6.3/10_allpatches.patch
Expand All @@ -127,7 +127,7 @@ if [[ ${major} -eq 6 && ${minor} -eq 3 ]]; then # VTK == 6.3.x
patch -t -p1 < ${script_dir}/patches/vtk/6.3/vtk6-gcc11-support.patch
fi

# VTK 7.1.x patches: https://sources.debian.org/patches/vtk7/7.1.1%2Bdfsg2-10.2/
# VTK 7.1.x patches: https://sources.debian.org/patches/vtk7/
if [[ ${major} -eq 7 && ${minor} -eq 1 ]]; then # VTK == 7.1.x
cd ${src_dir}
patch -t -p1 < ${script_dir}/patches/vtk/7.1/10_allpatches.patch
Expand Down Expand Up @@ -159,24 +159,58 @@ fi
# VTK 8.1.x patches
if [[ ${major} -eq 8 && ${minor} -eq 1 ]]; then # VTK == 8.1.x
cd ${src_dir}
patch -t -p1 < ${script_dir}/patches/vtk/8.1/20_soversion-sharedlib.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/30_matplotlib.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/60_use_system_mpi4py.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/70_vtk8_fix_ftbfs_gcc49.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/100_javac-heap.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/101_java_install_path.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/106_install_doxygen_scripts_in_nodoc_build.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/108_Doxygen-use-mathjax.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/109_java-jar-nonjavafiles.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/110_python-371.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/111_fix_perl.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/112_riscv_support.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/113_vtk8_fix_python_equal.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/115_support-gcc10.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/mysq8_my_bool.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/3edc0de2b04ae1e100c229e592d6b9fa94f2915a.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/581d9eb874b2b80a3fb21c739a96fa6f955ffb5e.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.1/vtk8-gcc-11-exodus.patch
fi

# VTK 8.2.x patches
if [[ ${major} -eq 8 && ${minor} -eq 2 ]]; then # VTK == 8.2.x
cd ${src_dir}
patch -t -p1 < ${script_dir}/patches/vtk/8.2/vtk8.2.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/20_soversion-sharedlib.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/30_matplotlib.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/60_vtk8_use_system_mpi4py.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/70_vtk8_fix_ftbfs_gcc49.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/100_javac-heap.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/101_java_install_path.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/106_install_doxygen_scripts_in_nodoc_build.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/108_Doxygen-use-mathjax.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/109_java-jar-nonjavafiles.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/110_python-371.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/111_fix_perl.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/112_riscv_support.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/113_vtk8_fix_python_equal.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/115_support-gcc10.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/mysq8_my_bool.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/3edc0de2b04ae1e100c229e592d6b9fa94f2915a.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/581d9eb874b2b80a3fb21c739a96fa6f955ffb5e.patch
patch -t -p1 < ${script_dir}/patches/vtk/8.2/vtk8-gcc-11-exodus.patch
fi

# VTK 9.0.x patches: https://sources.debian.org/patches/vtk9/9.0.1%2Bdfsg1-8/
# VTK 9.0.x patches: https://sources.debian.org/patches/vtk9/
if [[ ${major} -eq 9 && ${minor} -eq 0 ]]; then # VTK == 9.0.x
cd ${src_dir}
patch -t -p1 < ${script_dir}/patches/vtk/9.0/50_fix_python-modules_path.patch
patch -t -p1 < ${script_dir}/patches/vtk/9.0/70_fix_python_numpy_warning.patch
patch -t -p1 < ${script_dir}/patches/vtk/9.0/fix-limits.patch
fi

# VTK 9.1.x patches: https://sources.debian.org/patches/vtk9/9.1.0%2Breally9.1.0%2Bdfsg2-7.1/
# VTK 9.1.x patches: https://sources.debian.org/patches/vtk9/
if [[ ${major} -eq 9 && ${minor} -eq 1 ]]; then # VTK == 9.1.x
cd ${src_dir}
patch -t -p1 < ${script_dir}/patches/vtk/9.1/gcc-13.patch
Expand All @@ -203,9 +237,6 @@ cmake \
-DBUILD_TESTING=OFF \
-DBUILD_DOCUMENTATION=OFF \
-DVTK_INSTALL_NO_DOCUMENTATION=ON \
-DVTK_WRAP_PYTHON=ON \
-DVTK_ENABLE_VTKPYTHON=OFF \
-DVTK_PYTHON_VERSION=3 \
${src_dir} && \
make -j ${parallel} && \
make install
Expand Down
18 changes: 18 additions & 0 deletions scripts/patches/vtk/8.1/100_javac-heap.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Description: set JVM max memory to 1024m.
Author: Matthias Klose <[email protected]>
Acked-By: Anton Gladky <[email protected]>
Last-Update: 2016-02-12

Index: VTK-6.3.0/Wrapping/Java/CMakeLists.txt
===================================================================
--- VTK-6.3.0.orig/Wrapping/Java/CMakeLists.txt
+++ VTK-6.3.0/Wrapping/Java/CMakeLists.txt
@@ -80,6 +80,8 @@ if(APPLE)
set(JAVAC_OPTIONS -J-Xmx512m)
endif()

+set(JAVAC_OPTIONS -J-Xmx1024m)
+
get_property(java_modules GLOBAL PROPERTY VTK_JAVA_WRAPPED)
foreach(module IN LISTS java_modules)
if(NOT ${module}_EXCLUDE_FROM_WRAPPING)
21 changes: 21 additions & 0 deletions scripts/patches/vtk/8.1/101_java_install_path.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Description: Install Java modules in the correct path
This patch corrects the installation of the native Java modules
to go to the path given by the Debian Java Policy. This helps
to later use the simple install file to get them to the right
location in the package.
Author: Gert Wollny <[email protected]
Last-Update: 2016-03-26

Index: VTK-6.3.0/CMake/vtkJavaWrapping.cmake
===================================================================
--- VTK-6.3.0.orig/CMake/vtkJavaWrapping.cmake
+++ VTK-6.3.0/CMake/vtkJavaWrapping.cmake
@@ -79,7 +79,7 @@ function(vtk_add_java_wrapping module_na
install(TARGETS ${module_name}Java
EXPORT ${VTK_INSTALL_EXPORT_NAME}
RUNTIME DESTINATION ${VTK_INSTALL_RUNTIME_DIR} COMPONENT RuntimeLibraries
- LIBRARY DESTINATION ${VTK_INSTALL_LIBRARY_DIR} COMPONENT RuntimeLibraries
+ LIBRARY DESTINATION ${VTK_INSTALL_LIBRARY_DIR}/jni COMPONENT RuntimeLibraries
ARCHIVE DESTINATION ${VTK_INSTALL_ARCHIVE_DIR} COMPONENT Development)
endif()
endfunction()
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
Description: _install_doxygen_scripts_in_nodoc_build
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -540,9 +540,7 @@

# The doxygen documentation needs to be aware of all modules.
option(BUILD_DOCUMENTATION "Build the VTK documentation" OFF)
-if(BUILD_DOCUMENTATION)
- add_subdirectory(Utilities/Doxygen)
-endif()
+add_subdirectory(Utilities/Doxygen)

# If python wrapping and testing is enabled then add driver scripts to run
# tests. Note: Many pythong tests used to be automatically converted from TCL
--- a/Utilities/Doxygen/CMakeLists.txt
+++ b/Utilities/Doxygen/CMakeLists.txt
@@ -1,69 +1,72 @@
#
# Build the documentation
#
-find_package(Doxygen REQUIRED)
-find_package(Perl REQUIRED)
-find_package(HTMLHelp)
-
-option(DOXYGEN_SHORT_NAMES "Build Doxygen of VTK using short file names" OFF)
-option(DOXYGEN_KEEP_TEMP "Do not delete the temporary Doxygen headers" OFF)
-option(DOXYGEN_GENERATE_HTMLHELP "Generate HTML help (CHM) files" ON)
-mark_as_advanced(DOXYGEN_SHORT_NAMES DOXYGEN_KEEP_TEMP DOXYGEN_GENERATE_HTMLHELP)
-if(DOXYGEN_SHORT_NAMES)
- set(DOXYGEN_SHORT_NAMES YES)
-else()
- set(DOXYGEN_SHORT_NAMES NO)
-endif()
-if(DOXYGEN_GENERATE_HTMLHELP)
- set(DOXYGEN_GENERATE_HTMLHELP YES)
-else()
- set(DOXYGEN_GENERATE_HTMLHELP NO)
-endif()
-
-#
-# Configure the script and the doxyfile, then add target
-#
-set(HAVE_DOT_YESNO NO)
-if(DOT)
- set(HAVE_DOT_YESNO YES)
- if(NOT DOT_PATH)
- get_filename_component(DOT_PATH ${DOT} PATH)
+if (BUILD_DOCUMENTATION)
+ find_package(Doxygen REQUIRED)
+ find_package(Perl REQUIRED)
+ find_package(HTMLHelp)
+
+ option(DOXYGEN_SHORT_NAMES "Build Doxygen of VTK using short file names" OFF)
+ option(DOXYGEN_KEEP_TEMP "Do not delete the temporary Doxygen headers" OFF)
+ option(DOXYGEN_GENERATE_HTMLHELP "Generate HTML help (CHM) files" ON)
+ mark_as_advanced(DOXYGEN_SHORT_NAMES DOXYGEN_KEEP_TEMP DOXYGEN_GENERATE_HTMLHELP)
+ if(DOXYGEN_SHORT_NAMES)
+ set(DOXYGEN_SHORT_NAMES YES)
+ else()
+ set(DOXYGEN_SHORT_NAMES NO)
endif()
-endif()
-
-# Build up a list of all module source directories. Note that this should be
-# all source directories and so does not use the normal variables.
-unset(VTK_MODULE_DIRS_DOXYGEN)
-file(GLOB src RELATIVE "${VTK_SOURCE_DIR}" "${VTK_SOURCE_DIR}/*/*/module.cmake")
-foreach(module ${src})
- get_filename_component(module_BASE ${module} PATH)
- if("${module_BASE}" MATCHES "^Utilities" OR ${module_BASE} MATCHES "^Third")
- # Skip the utilities and third parties directories.
+ if(DOXYGEN_GENERATE_HTMLHELP)
+ set(DOXYGEN_GENERATE_HTMLHELP YES)
else()
- # Use both the source and binary directories, this ensures that
- # generated files will be included, but they may then be architecture,
- # build configuration and/or compiler specific. All source directories
- # are included whether the module is enabled or not.
- set(VTK_MODULE_DIRS_DOXYGEN
- "${VTK_MODULE_DIRS_DOXYGEN}
+ set(DOXYGEN_GENERATE_HTMLHELP NO)
+ endif()
+
+ #
+ # Configure the script and the doxyfile, then add target
+ #
+ set(HAVE_DOT_YESNO NO)
+ if(DOT)
+ set(HAVE_DOT_YESNO YES)
+ if(NOT DOT_PATH)
+ get_filename_component(DOT_PATH ${DOT} PATH)
+ endif()
+ endif()
+
+ # Build up a list of all module source directories. Note that this should be
+ # all source directories and so does not use the normal variables.
+ unset(VTK_MODULE_DIRS_DOXYGEN)
+ file(GLOB src RELATIVE "${VTK_SOURCE_DIR}" "${VTK_SOURCE_DIR}/*/*/module.cmake")
+ foreach(module ${src})
+ get_filename_component(module_BASE ${module} PATH)
+ if("${module_BASE}" MATCHES "^Utilities" OR ${module_BASE} MATCHES "^Third")
+ # Skip the utilities and third parties directories.
+ else()
+ # Use both the source and binary directories, this ensures that
+ # generated files will be included, but they may then be architecture,
+ # build configuration and/or compiler specific. All source directories
+ # are included whether the module is enabled or not.
+ set(VTK_MODULE_DIRS_DOXYGEN
+ "${VTK_MODULE_DIRS_DOXYGEN}
\"${VTK_SOURCE_DIR}/${module_BASE}\"
\"${VTK_BINARY_DIR}/${module_BASE}\"")
- endif()
-endforeach()
+ endif()
+ endforeach()
+
+ configure_file(
+ ${VTK_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in
+ ${VTK_BINARY_DIR}/Utilities/Doxygen/doxyfile)
+
+ configure_file(
+ ${VTK_SOURCE_DIR}/Utilities/Doxygen/doc_makeall.cmake.in
+ ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake
+ @ONLY)
+
+ add_custom_target(DoxygenDoc
+ ${CMAKE_COMMAND}
+ -P ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake
+ DEPENDS ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake)

-configure_file(
- ${VTK_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in
- ${VTK_BINARY_DIR}/Utilities/Doxygen/doxyfile)
-
-configure_file(
- ${VTK_SOURCE_DIR}/Utilities/Doxygen/doc_makeall.cmake.in
- ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake
- @ONLY)
-
-add_custom_target(DoxygenDoc
- ${CMAKE_COMMAND}
- -P ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake
- DEPENDS ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake)
+endif()

if(NOT VTK_INSTALL_NO_DOCUMENTATION)
macro(__vtk_install_documentation_files glob)
29 changes: 29 additions & 0 deletions scripts/patches/vtk/8.1/108_Doxygen-use-mathjax.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Description: _Doxygen use mathjax
--- a/Utilities/Doxygen/CMakeLists.txt
+++ b/Utilities/Doxygen/CMakeLists.txt
@@ -52,6 +52,13 @@
endif()
endforeach()

+ FIND_PATH(MATHJAX_CODEFILE MathJax.js
+ PATHS
+ /usr/share/mathjax/
+ /usr/share/javascript/
+ /usr/share/javascript/mathjax/
+ )
+
configure_file(
${VTK_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in
${VTK_BINARY_DIR}/Utilities/Doxygen/doxyfile)
--- a/Utilities/Doxygen/doxyfile.in
+++ b/Utilities/Doxygen/doxyfile.in
@@ -19,6 +19,9 @@
GENERATE_TAGFILE = "@VTK_BINARY_DIR@/Utilities/Doxygen/vtk@VTK_MAJOR_VERSION@.@[email protected]"

PDF_HYPERLINKS = YES
+USE_MATHJAX = YES
+MATHJAX_RELPATH = @MATHJAX_CODEFILE@
+

HAVE_DOT = @HAVE_DOT_YESNO@
DOT_PATH = "@DOT_PATH@"
28 changes: 28 additions & 0 deletions scripts/patches/vtk/8.1/109_java-jar-nonjavafiles.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Author: Gert Wollny <[email protected]>
Description: Delete java files before building jar
--- a/Wrapping/Java/CMakeLists.txt
+++ b/Wrapping/Java/CMakeLists.txt
@@ -259,7 +259,7 @@
if(VTK_JAVA_SWT_COMPONENT)
set(VTK_JAVA_SAMPLE_DEPENDENCIES ${VTK_JAVA_SAMPLE_DEPENDENCIES}
rendering/SwtConeRendering
- )
+q )
endif()
endif()

@@ -358,11 +358,10 @@
COMMENT "Compiling Java Classes"
)

-# Create the JAR file containing all compiled classes and
+
add_custom_command(
- COMMAND ${JAVA_ARCHIVE} -cvf "${VTK_JAR_PATH}/vtk.jar"
- -C ${VTK_BINARY_DIR}/java
- vtk
+ COMMAND cd ${VTK_BINARY_DIR}/java && find . -name "*.class" -print | sort -u > classes.list
+ COMMAND cd ${VTK_BINARY_DIR}/java && ${JAVA_ARCHIVE} -cvf "${VTK_JAR_PATH}/vtk.jar" @${VTK_BINARY_DIR}/java/classes.list
DEPENDS ${VTK_BINARY_DIR}/java/javac_stamp.txt ${JAVA_LIBRARIES}
OUTPUT ${VTK_JAR_PATH}/vtk.jar
COMMENT "Java Archive"
Loading

0 comments on commit af9afd6

Please sign in to comment.