commit c97ea516718e56d266c57de617556c8b8a0700bd2bcd3894d892fd2457c1a666 Author: Atri Bhattacharya Date: Tue Oct 8 23:44:04 2024 +0000 - Update to version 9.3.1, see: https://gitlab.kitware.com/vtk/vtk/-/blob/master/Documentation/release/9.3.md - Add patches: * 0001-ioss-update-fmt-includes.patch - Drop upstream patches: * fix_rendering_core_linkage - New features and bugfixes: * The vendored `fmt` library has been updated to 10.1.1. * Fix SIGSEGV on `vtkCompositeDataProbeFilter`. * Add `ComponentName` in `vtkImageAlgorithm` and subclasses. * Fix UT record support in `vtkDICOMParser` * Fix for reading binary XML files > 2Gb on Windows. * Fix `ResampleWithDataSet` with an HTG source using MPI. * Fix `HyperTree` iterator in `ExtractElements` method. * Fix `vtkOpenGLRenderWindow::GetZBufferData` in OpenGL ES 3. * Fix GPU Ray Cast Volume Rendering with `ModelTransformMatrix`. * Fix Off-axis stereo image separation issue. * Fix Display Attribute Inheritance `vtkOpenGLGlyph3DMapper`. OBS-URL: https://build.opensuse.org/package/show/science/vtk?expand=0&rev=193 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-Add-missing-guard-required-for-GLES-to-disable-stere.patch b/0001-Add-missing-guard-required-for-GLES-to-disable-stere.patch new file mode 100644 index 0000000..0a2d84f --- /dev/null +++ b/0001-Add-missing-guard-required-for-GLES-to-disable-stere.patch @@ -0,0 +1,85 @@ +From b035ea7f784a842dda0c3b0dc437514879a873c2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Sat, 4 Jul 2020 21:04:52 +0200 +Subject: [PATCH] Add missing guard required for GLES to disable stereo + rendering + +fmt.stereo()/StereoRender will evaluate to false for GLES, guard the whole +block so GL_*_RIGHT is not used. + +Change the GL_*_LEFT defines for GLES so it actually refers to a front/ +back buffer, otherwise on GLES the invalid constant 0 will be used to +select the front (0x404) and back buffer (0x405). Remove GL_*_RIGHT +defines to avoid any accidental, unguarded use. +--- + GUISupport/Qt/QVTKOpenGLWindow.cxx | 5 +++++ + Rendering/External/vtkExternalOpenGLRenderWindow.cxx | 2 ++ + Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx | 2 ++ + ThirdParty/glew/vtk_glew.h.in | 6 ++---- + 4 files changed, 11 insertions(+), 4 deletions(-) + +diff --git a/GUISupport/Qt/QVTKOpenGLWindow.cxx b/GUISupport/Qt/QVTKOpenGLWindow.cxx +index 067e27cf6e..79bd714f58 100644 +--- a/GUISupport/Qt/QVTKOpenGLWindow.cxx ++++ b/GUISupport/Qt/QVTKOpenGLWindow.cxx +@@ -259,6 +259,7 @@ void QVTKOpenGLWindow::paintGL() + + const QSize deviceSize = this->size() * this->devicePixelRatioF(); + const auto fmt = this->context()->format(); ++#ifndef GL_ES_VERSION_2_0 + if (fmt.stereo() && this->RenderWindow->GetStereoRender() && + this->RenderWindow->GetStereoType() == VTK_STEREO_CRYSTAL_EYES) + { +@@ -272,6 +273,10 @@ void QVTKOpenGLWindow::paintGL() + this->RenderWindowAdapter->blit( + this->defaultFramebufferObject(), GL_BACK_LEFT, QRect(QPoint(0, 0), deviceSize)); + } ++#else ++ this->RenderWindowAdapter->blit( ++ this->defaultFramebufferObject(), GL_BACK, QRect(QPoint(0, 0), deviceSize)); ++#endif + ostate->Pop(); + } + else +diff --git a/Rendering/External/vtkExternalOpenGLRenderWindow.cxx b/Rendering/External/vtkExternalOpenGLRenderWindow.cxx +index 445bfce802..d870568f99 100644 +--- a/Rendering/External/vtkExternalOpenGLRenderWindow.cxx ++++ b/Rendering/External/vtkExternalOpenGLRenderWindow.cxx +@@ -64,12 +64,14 @@ void vtkExternalOpenGLRenderWindow::Start() + for (this->GetRenderers()->InitTraversal(sit); + (renderer = this->GetRenderers()->GetNextRenderer(sit));) + { ++#ifndef GL_ES_VERSION_3_0 + if (bufferType == GL_BACK_RIGHT || bufferType == GL_RIGHT || bufferType == GL_FRONT_RIGHT) + { + this->StereoRenderOn(); + this->SetStereoTypeToRight(); + } + else ++#endif + { + this->SetStereoTypeToLeft(); + } +diff --git a/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx b/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx +index 46064d3360..f5b7f6f0c3 100644 +--- a/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx ++++ b/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx +@@ -1156,6 +1156,7 @@ void vtkOpenGLRenderWindow::BlitDisplayFramebuffersToHardware() + + ostate->vtkglBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); + ++#ifndef GL_ES_VERSION_3_0 + if (this->StereoRender && this->StereoType == VTK_STEREO_CRYSTAL_EYES) + { + // bind the read buffer to detach the display framebuffer to be safe +@@ -1168,6 +1169,7 @@ void vtkOpenGLRenderWindow::BlitDisplayFramebuffersToHardware() + ostate->vtkglBlitFramebuffer(0, 0, this->Size[0], this->Size[1], 0, 0, this->Size[0], + this->Size[1], GL_COLOR_BUFFER_BIT, GL_NEAREST); + } ++#endif + + ostate->vtkglDrawBuffer(this->DoubleBuffer ? GL_BACK_LEFT : GL_FRONT_LEFT); + // bind the read buffer to detach the display framebuffer to be safe +-- +2.33.1 + diff --git a/0001-Always-generate-Python-Metadata-when-WRAP_PYTHON-is-.patch b/0001-Always-generate-Python-Metadata-when-WRAP_PYTHON-is-.patch new file mode 100644 index 0000000..3645d39 --- /dev/null +++ b/0001-Always-generate-Python-Metadata-when-WRAP_PYTHON-is-.patch @@ -0,0 +1,95 @@ +From a08e2a67c1e6694ba2eb2631c7e8e371bd055b46 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Sat, 20 Nov 2021 23:26:05 +0100 +Subject: [PATCH] Always generate Python Metadata when WRAP_PYTHON is active + +Python Metadata in accordance with PEP 314 is not only used by wheels +(PEP 427/PEP 491), but can also used for `python setup.py +install_egg_info`. + +The latter can be used to make a system wide VTK installation available +for other python packages (e.g. installed via pip) which require VTK. +Without the metadata, pip will not find it and always try to download the +wheel. +--- + CMake/vtkPythonMetadata.cmake | 17 +++++++++++++++++ + CMake/vtkWheelPreparation.cmake | 18 ----------------- + CMakeLists.txt | 3 ++- + 3 files changed, 19 insertions(+), 19 deletions(-) + create mode 100644 CMake/vtkPythonMetadata.cmake + +diff --git a/CMake/vtkPythonMetadata.cmake b/CMake/vtkPythonMetadata.cmake +new file mode 100644 +index 0000000000..44fb591321 +--- /dev/null ++++ b/CMake/vtkPythonMetadata.cmake +@@ -0,0 +1,17 @@ ++configure_file( ++ "${CMAKE_CURRENT_LIST_DIR}/setup.py.in" ++ "${CMAKE_BINARY_DIR}/setup.py" ++ @ONLY) ++configure_file( ++ "${CMAKE_CURRENT_LIST_DIR}/MANIFEST.in.in" ++ "${CMAKE_BINARY_DIR}/MANIFEST.in" ++ @ONLY) ++configure_file( ++ "${CMAKE_SOURCE_DIR}/Copyright.txt" ++ "${CMAKE_BINARY_DIR}/LICENSE" ++ COPYONLY) ++configure_file( ++ "${CMAKE_SOURCE_DIR}/README.md" ++ "${CMAKE_BINARY_DIR}/README.md" ++ COPYONLY) ++ +diff --git a/CMake/vtkWheelPreparation.cmake b/CMake/vtkWheelPreparation.cmake +index 0a4c4786d0..df56a3d98c 100644 +--- a/CMake/vtkWheelPreparation.cmake ++++ b/CMake/vtkWheelPreparation.cmake +@@ -84,22 +84,4 @@ elseif (UNIX) + endif () + set(VTK_PYTHON_OPTIONAL_LINK ON) + +-configure_file( +- "${CMAKE_CURRENT_LIST_DIR}/setup.py.in" +- "${CMAKE_BINARY_DIR}/setup.py" +- @ONLY) +-configure_file( +- "${CMAKE_CURRENT_LIST_DIR}/MANIFEST.in.in" +- "${CMAKE_BINARY_DIR}/MANIFEST.in" +- @ONLY) +-configure_file( +- "${CMAKE_SOURCE_DIR}/Copyright.txt" +- "${CMAKE_BINARY_DIR}/LICENSE" +- COPYONLY) +-configure_file( +- "${CMAKE_SOURCE_DIR}/README.md" +- "${CMAKE_BINARY_DIR}/README.md" +- COPYONLY) +- +-unset(license_file) + unset(wheel_data_dir) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 371ffd61a6..ccd4409251 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -447,6 +447,8 @@ if (VTK_WRAP_PYTHON) + TARGET_SPECIFIC_COMPONENTS "${VTK_TARGET_SPECIFIC_COMPONENTS}" + TARGET VTK::vtkpythonmodules) + ++ include(vtkPythonMetadata) ++ + if (APPLE AND VTK_WHEEL_BUILD) + list(REMOVE_ITEM CMAKE_INSTALL_RPATH + "@loader_path/.dylibs") +@@ -547,7 +549,7 @@ install( + + # TODO: HeaderTest exclusions for memcheck. + +-if (VTK_WHEEL_BUILD) ++if (VTK_WRAP_PYTHON) + include(vtkWheelFinalization) + endif () + +-- +2.33.1 + diff --git a/0001-Consider-VTK_PYTHON_SITE_PACKAGES_SUFFIX-for-Python-.patch b/0001-Consider-VTK_PYTHON_SITE_PACKAGES_SUFFIX-for-Python-.patch new file mode 100644 index 0000000..e16877e --- /dev/null +++ b/0001-Consider-VTK_PYTHON_SITE_PACKAGES_SUFFIX-for-Python-.patch @@ -0,0 +1,77 @@ +From 0cf33c4bf04596e368978e663aa4a2ea42289651 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Sun, 21 Nov 2021 19:14:37 +0100 +Subject: [PATCH] Consider VTK_PYTHON_SITE_PACKAGES_SUFFIX for Python Metadata + files + +When building wheels, VTK_PYTHON_SITE_PACKAGES_SUFFIX is ".", so in this +case nothing is changed. For all other builds, e.g. setup.py should be +located in the same directory as e.g. vtk.py, otherwise setup.py fails. +--- + CMake/vtkPythonMetadata.cmake | 8 ++++---- + CMake/vtkWheelFinalization.cmake | 2 +- + CMakeLists.txt | 2 +- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/CMake/vtkPythonMetadata.cmake b/CMake/vtkPythonMetadata.cmake +index 44fb591321..f88f9e8aaa 100644 +--- a/CMake/vtkPythonMetadata.cmake ++++ b/CMake/vtkPythonMetadata.cmake +@@ -1,17 +1,17 @@ + configure_file( + "${CMAKE_CURRENT_LIST_DIR}/setup.py.in" +- "${CMAKE_BINARY_DIR}/setup.py" ++ "${CMAKE_BINARY_DIR}/${VTK_PYTHON_SITE_PACKAGES_SUFFIX}/setup.py" + @ONLY) + configure_file( + "${CMAKE_CURRENT_LIST_DIR}/MANIFEST.in.in" +- "${CMAKE_BINARY_DIR}/MANIFEST.in" ++ "${CMAKE_BINARY_DIR}/${VTK_PYTHON_SITE_PACKAGES_SUFFIX}/MANIFEST.in" + @ONLY) + configure_file( + "${CMAKE_SOURCE_DIR}/Copyright.txt" +- "${CMAKE_BINARY_DIR}/LICENSE" ++ "${CMAKE_BINARY_DIR}/${VTK_PYTHON_SITE_PACKAGES_SUFFIX}/LICENSE" + COPYONLY) + configure_file( + "${CMAKE_SOURCE_DIR}/README.md" +- "${CMAKE_BINARY_DIR}/README.md" ++ "${CMAKE_BINARY_DIR}/${VTK_PYTHON_SITE_PACKAGES_SUFFIX}/README.md" + COPYONLY) + +diff --git a/CMake/vtkWheelFinalization.cmake b/CMake/vtkWheelFinalization.cmake +index 23c17fd977..269b31e7d0 100644 +--- a/CMake/vtkWheelFinalization.cmake ++++ b/CMake/vtkWheelFinalization.cmake +@@ -62,5 +62,5 @@ foreach (vtk_feature IN LISTS vtk_features) + string(APPEND vtk_feature_entries + " '${vtk_feature}': [],\n") + endforeach () +-file(WRITE "${CMAKE_BINARY_DIR}/vtk_features.py" ++file(WRITE "${CMAKE_BINARY_DIR}/${VTK_PYTHON_SITE_PACKAGES_SUFFIX}/vtk_features.py" + "FEATURES = {\n${vtk_feature_entries}}\n") +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 90c90f9d46..03f5836a0f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -450,15 +450,15 @@ if (VTK_WRAP_PYTHON) + list(REMOVE_DUPLICATES vtk_required_python_modules) + endif () + string(REPLACE ";" "\n" vtk_required_python_modules "${vtk_required_python_modules}") +- file(WRITE "${CMAKE_BINARY_DIR}/requirements.txt" ++ file(WRITE "${CMAKE_BINARY_DIR}/${VTK_PYTHON_SITE_PACKAGES_SUFFIX}/requirements.txt" + "${vtk_required_python_modules}\n") + get_property(vtk_web_python_modules GLOBAL + PROPERTY vtk_web_python_modules) + if (vtk_web_python_modules) + list(REMOVE_DUPLICATES vtk_web_python_modules) + endif () + string(REPLACE ";" "\n" vtk_web_python_modules "${vtk_web_python_modules}") +- file(WRITE "${CMAKE_BINARY_DIR}/requirements_web.txt" ++ file(WRITE "${CMAKE_BINARY_DIR}/${VTK_PYTHON_SITE_PACKAGES_SUFFIX}/requirements_web.txt" + "${vtk_web_python_modules}\n") + get_property(vtk_soabi GLOBAL + PROPERTY _vtk_python_soabi) +-- +2.33.1 + diff --git a/0001-Correct-GL_BACK-GL_BACK_LEFT-mapping-on-GLES.patch b/0001-Correct-GL_BACK-GL_BACK_LEFT-mapping-on-GLES.patch new file mode 100644 index 0000000..22d1718 --- /dev/null +++ b/0001-Correct-GL_BACK-GL_BACK_LEFT-mapping-on-GLES.patch @@ -0,0 +1,39 @@ +From 2b930f694c2275b892772857002724b9fdcae6c5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Thu, 16 Jul 2020 03:52:23 +0200 +Subject: [PATCH 1/2] Correct GL_BACK/GL_BACK_LEFT mapping on GLES + +GLES does not have LEFT/RIGHT targets for the default framebuffer, but +just GL_BACK, so there is no need to remap it. Desktop GL may have +LEFT and RIGHT attached at the simultaneously, so one of the buffers +has to be selected when querying the attributes. +--- + Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx b/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx +index 9bbbc2ba54..4bda9330b6 100644 +--- a/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx ++++ b/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx +@@ -849,6 +849,10 @@ int vtkOpenGLRenderWindow::GetColorBufferSizes(int* rgba) + #ifdef GL_DRAW_BUFFER + glGetIntegerv(GL_DRAW_BUFFER, &attachment); + #endif ++#ifdef GL_ES_VERSION_3_0 ++ // GLES only has the GL_BACK color ++ // attachment for the default framebuffer ++#else + // GL seems odd with its handling of left/right. + // if it says we are using GL_FRONT or GL_BACK + // then convert those to GL_FRONT_LEFT and +@@ -861,6 +865,7 @@ int vtkOpenGLRenderWindow::GetColorBufferSizes(int* rgba) + { + attachment = GL_BACK_LEFT; + } ++#endif + + // make sure we clear any errors before we start + // otherwise we may get incorrect results +-- +2.27.0 + diff --git a/0001-ioss-update-fmt-includes.patch b/0001-ioss-update-fmt-includes.patch new file mode 100644 index 0000000..dd49fb7 --- /dev/null +++ b/0001-ioss-update-fmt-includes.patch @@ -0,0 +1,72 @@ +From 4409560bfae26035cebf474b28097464b9ba4634 Mon Sep 17 00:00:00 2001 +From: Vicente Adolfo Bolea Sanchez +Date: Wed, 4 Sep 2024 18:22:50 -0400 +Subject: [PATCH] ioss: update fmt includes + +--- + ThirdParty/ioss/vtkioss/Ioss_IOFactory.C | 2 ++ + ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C | 2 ++ + ThirdParty/ioss/vtkioss/Ioss_Utils.C | 2 ++ + ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C | 2 ++ + 4 files changed, 8 insertions(+) + +diff --git a/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C b/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C +index 440f352e0e..c9f0d422a3 100644 +--- a/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C ++++ b/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C +@@ -11,7 +11,9 @@ + #include + #include // for nullptr + #include "vtk_fmt.h" ++#include VTK_FMT(fmt/format.h) + #include VTK_FMT(fmt/ostream.h) ++#include VTK_FMT(fmt/ranges.h) + #include // for _Rb_tree_iterator, etc + #include // for basic_ostream, etc + #include +diff --git a/ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C b/ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C +index 1609c31fae..9afc17edbb 100644 +--- a/ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C ++++ b/ThirdParty/ioss/vtkioss/Ioss_StructuredBlock.C +@@ -14,7 +14,9 @@ + #include + #include + #include "vtk_fmt.h" ++#include VTK_FMT(fmt/format.h) + #include VTK_FMT(fmt/ostream.h) ++#include VTK_FMT(fmt/ranges.h) + + #include // for size_t + #include +diff --git a/ThirdParty/ioss/vtkioss/Ioss_Utils.C b/ThirdParty/ioss/vtkioss/Ioss_Utils.C +index 57021abdcb..6a1e2ae243 100644 +--- a/ThirdParty/ioss/vtkioss/Ioss_Utils.C ++++ b/ThirdParty/ioss/vtkioss/Ioss_Utils.C +@@ -19,8 +19,10 @@ + #include + #include "vtk_fmt.h" + #include VTK_FMT(fmt/chrono.h) ++#include VTK_FMT(fmt/core.h) + #include VTK_FMT(fmt/format.h) + #include VTK_FMT(fmt/ostream.h) ++#include VTK_FMT(fmt/ranges.h) + #include + #include + #include +diff --git a/ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C b/ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C +index 5d324817f2..a1e047f967 100644 +--- a/ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C ++++ b/ThirdParty/ioss/vtkioss/Ioss_ZoneConnectivity.C +@@ -8,7 +8,9 @@ + #include + #include // for size_t + #include "vtk_fmt.h" ++#include VTK_FMT(fmt/format.h) + #include VTK_FMT(fmt/ostream.h) ++#include VTK_FMT(fmt/ranges.h) + #include // for string + #include // for vector + +-- +2.35.3 + diff --git a/0002-Use-GL_DRAW_BUFFER0-instead-of-GL_DRAW_BUFFER-for-GL.patch b/0002-Use-GL_DRAW_BUFFER0-instead-of-GL_DRAW_BUFFER-for-GL.patch new file mode 100644 index 0000000..fae7f2a --- /dev/null +++ b/0002-Use-GL_DRAW_BUFFER0-instead-of-GL_DRAW_BUFFER-for-GL.patch @@ -0,0 +1,132 @@ +From 068773541005f8d8f027b373a01c821788439c8b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Sun, 21 Nov 2021 22:51:36 +0100 +Subject: [PATCH] Use GL_DRAW_BUFFER0 instead of GL_DRAW_BUFFER for GLES + compatibility + +ARB_draw_buffers is part of GL 2.0, so GL_DRAW_BUFFERS0 is always +available, and contrary to GL_DRAW_BUFFER it is also valid for GLES +(part of GLES 3 or as EXT_draw_buffers). + +This also matches the universal use of glDrawBuffers instead of +glDrawBuffer. + +At least with MESA, GL_DRAW_BUFFER and GL_DRAW_BUFFER0 always return the +same value. GL_DRAW_BUFFERn is also used in several places already. +--- + .../ContextOpenGL2/vtkOpenGLContextBufferId.cxx | 2 +- + .../ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h | 2 +- + Rendering/External/vtkExternalOpenGLRenderWindow.cxx | 2 +- + Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx | 8 ++++---- + Rendering/OpenGL2/vtkOpenGLState.cxx | 12 ++++++------ + 5 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/Rendering/ContextOpenGL2/vtkOpenGLContextBufferId.cxx b/Rendering/ContextOpenGL2/vtkOpenGLContextBufferId.cxx +index c0e0f8909f..dd6a93bde3 100644 +--- a/Rendering/ContextOpenGL2/vtkOpenGLContextBufferId.cxx ++++ b/Rendering/ContextOpenGL2/vtkOpenGLContextBufferId.cxx +@@ -130,8 +130,8 @@ vtkIdType vtkOpenGLContextBufferId::GetPickedItem(int x, int y) + // pixel x,y (instead of pixel 0,0 to work around pixel ownership test). + GLint savedDrawBuffer = GL_BACK_LEFT; + +-#ifdef GL_DRAW_BUFFER +- glGetIntegerv(GL_DRAW_BUFFER, &savedDrawBuffer); ++#ifdef GL_DRAW_BUFFER0 ++ glGetIntegerv(GL_DRAW_BUFFER0, &savedDrawBuffer); + #endif + + vtkOpenGLState::ScopedglEnableDisable dsaver(ostate, GL_DEPTH_TEST); +diff --git a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h +index 29e5f47671..7acb87e25f 100644 +--- a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h ++++ b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h +@@ -306,8 +306,8 @@ public: + this->SavedBlend = ostate->GetEnumState(GL_BLEND); + ostate->vtkglGetFloatv(GL_COLOR_CLEAR_VALUE, this->SavedClearColor); + +-#ifdef GL_DRAW_BUFFER +- ostate->vtkglGetIntegerv(GL_DRAW_BUFFER, &this->SavedDrawBuffer); ++#ifdef GL_DRAW_BUFFER0 ++ ostate->vtkglGetIntegerv(GL_DRAW_BUFFER0, &this->SavedDrawBuffer); + #else + this->SavedDrawBuffer = GL_BACK_LEFT; + #endif +diff --git a/Rendering/External/vtkExternalOpenGLRenderWindow.cxx b/Rendering/External/vtkExternalOpenGLRenderWindow.cxx +index 445bfce802..5e1f2f4b24 100644 +--- a/Rendering/External/vtkExternalOpenGLRenderWindow.cxx ++++ b/Rendering/External/vtkExternalOpenGLRenderWindow.cxx +@@ -58,7 +58,7 @@ void vtkExternalOpenGLRenderWindow::Start() + + // For stereo, render the correct eye based on the OpenGL buffer mode + GLint bufferType; +- ostate->vtkglGetIntegerv(GL_DRAW_BUFFER, &bufferType); ++ ostate->vtkglGetIntegerv(GL_DRAW_BUFFER0, &bufferType); + vtkCollectionSimpleIterator sit; + vtkRenderer* renderer; + for (this->GetRenderers()->InitTraversal(sit); +diff --git a/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx b/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx +index 25b521bd0d..426aa69f08 100644 +--- a/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx ++++ b/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx +@@ -794,8 +794,8 @@ bool vtkOpenGLRenderWindow::GetUsingSRGBColorSpace() + this->MakeCurrent(); + + GLint attachment = GL_BACK_LEFT; +-#ifdef GL_DRAW_BUFFER +- glGetIntegerv(GL_DRAW_BUFFER, &attachment); ++#ifdef GL_DRAW_BUFFER0 ++ glGetIntegerv(GL_DRAW_BUFFER0, &attachment); + #endif + // GL seems odd with its handling of left/right. + // if it says we are using GL_FRONT or GL_BACK +@@ -854,8 +854,8 @@ int vtkOpenGLRenderWindow::GetColorBufferSizes(int* rgba) + { + this->MakeCurrent(); + GLint attachment = GL_BACK_LEFT; +-#ifdef GL_DRAW_BUFFER +- glGetIntegerv(GL_DRAW_BUFFER, &attachment); ++#ifdef GL_DRAW_BUFFER0 ++ glGetIntegerv(GL_DRAW_BUFFER0, &attachment); + #endif + #ifdef GL_ES_VERSION_3_0 + // GLES only has the GL_BACK color +diff --git a/Rendering/OpenGL2/vtkOpenGLState.cxx b/Rendering/OpenGL2/vtkOpenGLState.cxx +index 24f23a5c44..aca4e4f247 100644 +--- a/Rendering/OpenGL2/vtkOpenGLState.cxx ++++ b/Rendering/OpenGL2/vtkOpenGLState.cxx +@@ -217,8 +217,8 @@ void vtkOpenGLState::CheckState() + error = true; + } + unsigned int sval; +-#ifdef GL_DRAW_BUFFER +- ::glGetIntegerv(GL_DRAW_BUFFER, iparams); ++#ifdef GL_DRAW_BUFFER0 ++ ::glGetIntegerv(GL_DRAW_BUFFER0, iparams); + sval = cs.DrawBinding.GetDrawBuffer(0); + if (sval == GL_BACK_LEFT) + { +@@ -504,8 +504,8 @@ void vtkOpenGLState::vtkglBindFramebuffer(unsigned int target, unsigned int val) + { + cs.DrawBinding.Binding = val; + ::glBindFramebuffer(GL_DRAW_FRAMEBUFFER, val); +-#ifdef GL_DRAW_BUFFER +- ::glGetIntegerv(GL_DRAW_BUFFER, (int*)&cs.DrawBinding.DrawBuffers[0]); ++#ifdef GL_DRAW_BUFFER0 ++ ::glGetIntegerv(GL_DRAW_BUFFER0, (int*)&cs.DrawBinding.DrawBuffers[0]); + #endif + } + } +@@ -1626,8 +1626,8 @@ void vtkOpenGLState::ResetFramebufferBindings() + { + auto& cs = this->Stack.top(); + ::glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, (int*)&cs.DrawBinding.Binding); +-#ifdef GL_DRAW_BUFFER +- ::glGetIntegerv(GL_DRAW_BUFFER, (int*)&cs.DrawBinding.DrawBuffers[0]); ++#ifdef GL_DRAW_BUFFER0 ++ ::glGetIntegerv(GL_DRAW_BUFFER0, (int*)&cs.DrawBinding.DrawBuffers[0]); + #endif + + ::glGetIntegerv(GL_READ_FRAMEBUFFER_BINDING, (int*)&cs.ReadBinding.Binding); +-- +2.33.1 + diff --git a/Do-not-request-CUBE_MAP_SEAMLESS-on-GLES.patch b/Do-not-request-CUBE_MAP_SEAMLESS-on-GLES.patch new file mode 100644 index 0000000..11cd207 --- /dev/null +++ b/Do-not-request-CUBE_MAP_SEAMLESS-on-GLES.patch @@ -0,0 +1,16 @@ +--- a/Rendering/CellGrid/vtkDGOpenGLRenderer.cxx_orig 2023-12-28 06:22:40.696501865 +0100 ++++ b/Rendering/CellGrid/vtkDGOpenGLRenderer.cxx 2023-12-28 06:23:24.633470522 +0100 +@@ -1046,11 +1046,13 @@ + } + + // III. Render draw ++#ifndef GL_ES_VERSION_3_0 + if (renderer->GetUseImageBasedLighting() && renderer->GetEnvironmentTexture()) + { + vtkOpenGLState* ostate = oglRenWin->GetState(); + ostate->vtkglEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS); + } ++#endif + // a. Update shaders + state->CellBO.VAO->Bind(); + // state->LastBoundBO = &state->CellBO; // We only bind the one... diff --git a/VTK-9.3.0.tar.gz b/VTK-9.3.0.tar.gz new file mode 100644 index 0000000..899bfc4 --- /dev/null +++ b/VTK-9.3.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdc7b9295225b34e4fdddc49cd06e66e94260cb00efee456e0f66568c9681be9 +size 99932810 diff --git a/VTK-9.3.1.tar.gz b/VTK-9.3.1.tar.gz new file mode 100644 index 0000000..99507c6 --- /dev/null +++ b/VTK-9.3.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8354ec084ea0d2dc3d23dbe4243823c4bfc270382d0ce8d658939fd50061cab8 +size 99964158 diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..240290e --- /dev/null +++ b/_constraints @@ -0,0 +1,11 @@ + + + + 3 + + + 12 + + + + diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..95267ce --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + openmpi4 + diff --git a/bundled_libharu_add_missing_libm.patch b/bundled_libharu_add_missing_libm.patch new file mode 100644 index 0000000..65b3e10 --- /dev/null +++ b/bundled_libharu_add_missing_libm.patch @@ -0,0 +1,13 @@ +Index: VTK-9.0.0/ThirdParty/libharu/vtklibharu/CMakeLists.txt +=================================================================== +--- VTK-9.0.0.orig/ThirdParty/libharu/vtklibharu/CMakeLists.txt ++++ VTK-9.0.0/ThirdParty/libharu/vtklibharu/CMakeLists.txt +@@ -68,6 +68,8 @@ if(PNG_FOUND) + find_library(M_LIB m) + endif () + ++link_libraries(m) ++ + # ======================================================================= + # configure header files, add compiler flags + # ======================================================================= diff --git a/fix_rendering_core_linkage.patch b/fix_rendering_core_linkage.patch new file mode 100644 index 0000000..617fbcd --- /dev/null +++ b/fix_rendering_core_linkage.patch @@ -0,0 +1,18 @@ +--- a/Rendering/LICOpenGL2/vtk.module_orig 2023-12-27 17:36:03.966016939 +0100 ++++ b/Rendering/LICOpenGL2/vtk.module 2023-12-27 17:36:40.199591808 +0100 +@@ -14,6 +14,7 @@ + VTK::CommonDataModel + VTK::CommonExecutionModel + VTK::RenderingOpenGL2 ++ VTK::RenderingCore + PRIVATE_DEPENDS + VTK::CommonMath + VTK::CommonSystem +@@ -22,7 +23,6 @@ + VTK::IOXML + VTK::ImagingCore + VTK::ImagingSources +- VTK::RenderingCore + VTK::glew + VTK::opengl + VTK::vtksys diff --git a/vtk-rpmlintrc b/vtk-rpmlintrc new file mode 100644 index 0000000..5a92d91 --- /dev/null +++ b/vtk-rpmlintrc @@ -0,0 +1,11 @@ +# Upstream does not supply manuals for any binary, suppress warnings +addFilter(".* no-manual-page-for-binary") + +# This is not a versioned shared lib, and not used by anything other than +# vtk's java bindings, simply package it with the vtk-java subpackage +addFilter("vtk-java.* shlib-policy-name-error") +addFilter("vtk-java.* shlib-policy-missing-suffix") +addFilter("vtk-java.* devel-file-in-non-devel-package") +addFilter("vtk-openmpi-java.* shlib-policy-name-error") +addFilter("vtk-openmpi-java.* shlib-policy-missing-suffix") +addFilter("vtk-openmpi-java.* devel-file-in-non-devel-package") diff --git a/vtk.changes b/vtk.changes new file mode 100644 index 0000000..e72ebdd --- /dev/null +++ b/vtk.changes @@ -0,0 +1,1049 @@ +------------------------------------------------------------------- +Fri Jun 29 00:00:00 UTC 2024 - Vicente Adolfo Bolea Sanchez + +- Update to version 9.3.1, see: + https://gitlab.kitware.com/vtk/vtk/-/blob/master/Documentation/release/9.3.md +- Add patches: + * 0001-ioss-update-fmt-includes.patch +- Drop upstream patches: + * fix_rendering_core_linkage +- New features and bugfixes: + * The vendored `fmt` library has been updated to 10.1.1. + * Fix SIGSEGV on `vtkCompositeDataProbeFilter`. + * Add `ComponentName` in `vtkImageAlgorithm` and subclasses. + * Fix UT record support in `vtkDICOMParser` + * Fix for reading binary XML files > 2Gb on Windows. + * Fix `ResampleWithDataSet` with an HTG source using MPI. + * Fix `HyperTree` iterator in `ExtractElements` method. + * Fix `vtkOpenGLRenderWindow::GetZBufferData` in OpenGL ES 3. + * Fix GPU Ray Cast Volume Rendering with `ModelTransformMatrix`. + * Fix Off-axis stereo image separation issue. + * Fix Display Attribute Inheritance `vtkOpenGLGlyph3DMapper`. + +------------------------------------------------------------------- +Tue Feb 20 13:26:32 UTC 2024 - Dominique Leuenberger + +- Use %patch -P N instead of deprecated %patchN. + +------------------------------------------------------------------- +Sun Dec 31 19:55:50 UTC 2023 - Stefan Brüns + +- Add fmt and FastFloat dependencies to devel subpackage + +------------------------------------------------------------------- +Thu Dec 28 05:28:42 UTC 2023 - Stefan Brüns + +- Update to version 9.3.0, see: + https://gitlab.kitware.com/vtk/vtk/-/blob/master/Documentation/release/9.3.md +- Drop upstream patches: + * add add_missing_cstdint.patch + * 0001-GL_POINT_SPRITE-is-only-available-for-Compatibility-.patch +- Rebase: + * 0002-Use-GL_DRAW_BUFFER0-instead-of-GL_DRAW_BUFFER-for-GL.patch +- Add patches: + * fix_rendering_core_linkage.patch + * Do-not-request-CUBE_MAP_SEAMLESS-on-GLES.patch + +------------------------------------------------------------------- +Tue Oct 31 22:56:50 UTC 2023 - Fridrich Strba + +- Build with java source and target levels 8 + +------------------------------------------------------------------- +Tue Oct 24 08:06:01 UTC 2023 - Nicolas Morey + +- Drop support for obsolete openmpi[123] +- Prepare support for openmpi5 + +------------------------------------------------------------------- +Tue Apr 4 08:52:20 UTC 2023 - Stefan Brüns + +- Fix build with GCC 13, add add_missing_cstdint.patch + +------------------------------------------------------------------- +Sat Feb 18 02:07:33 UTC 2023 - Stefan Brüns + +- Update to version 9.2.6, see: + https://gitlab.kitware.com/vtk/vtk/-/blob/master/Documentation/release/9.2.md +- Use bundled pegtl on TW, version 3.x is API incompatible with + required pegtl 2.x. + +------------------------------------------------------------------- +Fri Jan 27 03:50:47 UTC 2023 - Stefan Brüns + +- Update to version 9.2.5, see: + https://gitlab.kitware.com/vtk/vtk/-/blob/master/Documentation/release/9.2.md +- Rebase + 0001-Consider-VTK_PYTHON_SITE_PACKAGES_SUFFIX-for-Python-.patch +- Use system fmt on Tumbleweed + +------------------------------------------------------------------- +Fri Oct 14 18:07:34 UTC 2022 - Stefan Brüns + +- Update to version 9.2.2, see: + https://gitlab.kitware.com/vtk/vtk/-/blob/master/Documentation/release/9.2.md +- Drop upstream patches: + + 0001-Add-missing-libm-link-library-to-kissfft-module.patch +- Use system libharu on Tumbleweed +- Allow optionally building and running tests (disabled for now + due to large required data set). + +------------------------------------------------------------------- +Thu Mar 10 22:01:28 UTC 2022 - Stefan Brüns + +- Split java-devel subpackage from devel package, avoid pulling + in Java on most builds. +- Move python support libraries to python subpackage. + +------------------------------------------------------------------- +Thu Feb 10 21:33:32 UTC 2022 - Stefan Brüns + +- Use system gl2ps also on Leap 15.x + +------------------------------------------------------------------- +Thu Nov 18 04:03:36 UTC 2021 - Stefan Brüns + +- Update to version 9.1.0, see: + https://gitlab.kitware.com/vtk/vtk/-/blob/master/Documentation/release/9.1.md +- Drop upstream patches: + + 0001-clean-up-some-old-opengl-es-stuff.patch + + 0001-expose-1d-texture-options.patch + + 0001-Remove-duplicate-check-for-QOpenGLFunctions_3_2_Core.patch + + 0001-Allow-compilation-on-GLES-platforms.patch + + 0001-Replace-last-glDrawBuffer-call-with-glDrawBuffers-1.patch + + 0001-Guard-glPointSize-with-GL_ES_VERSION_3_0.patch + + 0002-Guard-GL_LINE_SMOOTH-for-GLES.patch + + 0001-Fix-PyVTKAddFile_-function-signature-mismatch.patch + + 0001-Replace-invalid-GL_LINE-with-GL_LINES-for-glDrawArra.patch + + vtk-freetype-2.10.3-replace-FT_CALLBACK_DEF.patch + + vtk-std_numeric_limits.patch +- Rebase: + + 0001-Add-missing-guard-required-for-GLES-to-disable-stere.patch + + 0001-Correct-GL_BACK-GL_BACK_LEFT-mapping-on-GLES.patch + + 0001-GL_POINT_SPRITE-is-only-available-for-Compatibility-.patch +- Replace openSUSE python hack with upstreamable solution: + + vtk-opensuse-python-metadata.patch -> + 0001-Always-generate-Python-Metadata-when-WRAP_PYTHON-is-.patch, + 0001-Consider-VTK_PYTHON_SITE_PACKAGES_SUFFIX-for-Python-.patch +- Add: + + 0001-Add-missing-libm-link-library-to-kissfft-module.patch +- Remove Leap 15.1 support from specfile +- Remove openmpi1 flavor, add openmpi4 +- Drop GNU R dependency (removed with VTK 8.1.0) + +------------------------------------------------------------------- +Sat Jun 19 21:04:19 UTC 2021 - Ben Greiner + +- Add vtk-opensuse-python-metadata.patch: + Installing without VTK_BUILD_WHEEL lacks the dist-info/egg-info + metadata. When a user installs python packages which depend + on vtk through pip (into the user home or into a virtualenv), + pip does not recognize the files installed into site-packages + without the metadata and pulls in a big manylinux wheel from + PyPI. We introduce the necessary egg-info metadata in order to + avoid this. +- python3-vtk: Don't own the arch site-packages (%python3_sitearch) + and the toplevel __pycache__ dir, only our own python files. +- Move qt and python .so devel files to main devel package, adjust + rpmlintrc: The devel files are not required by the + python bindings (anymore?). + +------------------------------------------------------------------- +Wed Jun 9 17:21:57 UTC 2021 - Ben Greiner + +- Add vtk-std_numeric_limits.patch in order to fix gcc 11.1 build + https://gitlab.kitware.com/vtk/vtk/-/issues/18194 +- Require %{name}-qt in python3-%{name}: The Python bindings link + to libvtkRenderingQt.so.1, but zypper fails to resolve the + requirement to the correct (non-)mpi flavor -- boo#1187161 +- Change description: The vtk-qt subpackage provides some Qt + libraries, not a designer plugin. +- Support for QtWebkit was removed with vtk 9.0.0: Remove the build + requirement. + +------------------------------------------------------------------- +Tue Oct 20 14:06:35 UTC 2020 - Ismail Dönmez + +- Add vtk-freetype-2.10.3-replace-FT_CALLBACK_DEF.patch to fix + compilation with FreeType 2.10.3+ + +------------------------------------------------------------------- +Thu Jul 16 16:55:31 UTC 2020 - Stefan Brüns + +- Update to version 9.0.1: + * Drop obsolete patches: + + bundled_exodusii_add_missing_libpthread.patch + + vtk-parallelgeometry-dependency.patch + + vtk-qt-5.15-include-QPainterPath.patch +- Explicitly enable module RenderingContextOpenGL2 required for PCL +- Conditionally add pugixml-devel Requires in devel package +- Make devel package installable even when built without Java +- Remove CAPITALIZATION from comments +- Drop obsolete TK build dependency +- Drop unused wget build dependency +- Wrap devel-doc generation in bcond (keep defaulted to off), and + drop the essentially empty package when disabled. +- Fix build on ARM/Qt GLES (boo#1172723): + * set VTK_OPENGL_USE_GLES + * Add 0001-clean-up-some-old-opengl-es-stuff.patch + * Add 0001-expose-1d-texture-options.patch + * Add 0001-Remove-duplicate-check-for-QOpenGLFunctions_3_2_Core.patch + * Rebase 0001-Allow-compilation-on-GLES-platforms.patch + * Add 0001-Replace-last-glDrawBuffer-call-with-glDrawBuffers-1.patch + * Add 0001-Use-2D-textures-for-1D-texture-emulation-on-GLES.patch + * Add 0001-Add-missing-guard-required-for-GLES-to-disable-stere.patch + * Add 0001-Correct-GL_BACK-GL_BACK_LEFT-mapping-on-GLES.patch + * Add 0002-Use-GL_DRAW_BUFFER0-instead-of-GL_DRAW_BUFFER-for-GL.patch + * Add 0001-GL_POINT_SPRITE-is-only-available-for-Compatibility-.patch + * Add 0002-Guard-GL_LINE_SMOOTH-for-GLES.patch + * Add 0001-Guard-glPointSize-with-GL_ES_VERSION_3_0.patch +- Add 0001-Fix-PyVTKAddFile_-function-signature-mismatch.patch +- Add 0001-Replace-invalid-GL_LINE-with-GL_LINES-for-glDrawArra.patch + +------------------------------------------------------------------- +Mon Jun 15 14:47:31 UTC 2020 - Andreas Schwab + +- Drop -ffat-lto-objects to avoid wasting disk space + +------------------------------------------------------------------- +Wed Jun 10 12:57:24 UTC 2020 - Guillaume GARDET + +- Update _constraints to avoid OOM errors + +------------------------------------------------------------------- +Sun May 31 20:28:03 UTC 2020 - Atri Bhattacharya + +- Add vtk-qt-5.15-include-QPainterPath.patch: Include QPainterPath + to fix build failures against Qt 5.15; patch taken from + upstream, see + . +- The %%cmake macro sets CMAKE_SKIP_RPATH=ON for Leap 15.x which + causes build failures; set it to OFF and set + CMAKE_SKIP_INSTALL_RPATH=ON for openSUSE <= 1500. See + . +- Build without pegtl for distributions where pegtl > 2.0 is + unavailable (Leap 15.1). +- Disable java bindings for Leap 15.1 only where cmake still + searches for the javah binary (and setting it to %{_bindir}/true + seems to no longer work). +- Run ld post scripts for vtk-qt. + +------------------------------------------------------------------- +Fri May 8 13:33:26 UTC 2020 - Atri Bhattacharya + +- Update to version 9.0.0 + * See https://discourse.vtk.org/t/vtk-9-0-0/3205. +- Rebase patches still required for building: + * bundled_exodusii_add_missing_libpthread.patch: Update to + upstream patch + (https://gitlab.kitware.com/vtk/vtk/-/merge_requests/6865). + * bundled_libharu_add_missing_libm.patch +- Pass VTK_PYTHON_OPTIONAL_LINK:BOOL=OFF to cmake to link against + the system python library explicitly. +- Add vtk-parallelgeometry-dependency.patch to fix a missing + dependency for vtkparallelgeometry (see + https://discourse.vtk.org/t/building-vtk-9-0-fails-when-using-mpi-support/3227). +- Comment out 0001-Allow-compilation-on-GLES-platforms.patch that + no longer applies and needs extensive rebasing. +- Drop patches incorporated or otherwise fixed upstream: + * 0001-Make-code-calling-proj4-compatible-with-proj4-5.0-an.patch + * 0001-Add-libogg-to-IOMovie-target-link-libraries.patch + * python38.patch + * reproducible.patch +- Adapt to changes in upstream's cmake script: + * Replace old options by their newer versions where applicable. + * Pass VTK_USE_EXTERNAL=ON to use system libraries by default + except for gl2ps, haru, and pugixml. +- New BuildRequires: pegtl-devel and utfcpp-devel. +- No longer needed to pass + Java_JAVAH_EXECUTABLE:PATH=%{_bindir}/true to cmake; script does + not look for javah any more. +- Use autosetup to set up and patch sources: simplifies applying + changing list of patches; use an if guard to avoid patch needing + rebase while not running into conflict with factory bot. +- Use system gl2ps for openSUSE > 1500. + +------------------------------------------------------------------- +Mon Apr 27 11:00:45 UTC 2020 - Atri Bhattacharya + +- Fix serial builds broken due to disabling the building of + examples; instead of commenting out sections of the specfile + related to examples, use %bcond_with to disable building + examples by default and the corresponding conditionals where + appropriate. + +------------------------------------------------------------------- +Sun Apr 26 04:21:40 UTC 2020 - Bernhard Wiedemann + +- add reproducible.patch to override build date and to sort entries + (boo#1047218, boo#1041090) + +------------------------------------------------------------------- +Fri Apr 24 08:28:02 UTC 2020 - Atri Bhattacharya + +- Disable building examples to prevent vtkLocalExample.java + randomly missing from vtk.jar (boo#1138295, see also upstream + recommendation in + https://gitlab.kitware.com/vtk/vtk/issues/17619). + +------------------------------------------------------------------- +Wed Mar 11 13:17:49 UTC 2020 - Stefan Brüns + +- Remove -DVTK_PYTHON_SITE_PACKAGES_SUFFIX silently added with the + last change. As it specifies the path relative to the install + prefix, setting it to the absolute python_sitearch is obviously + wrong. As VTK figures out the correct path by itself, it is + completely unnecessary. + +------------------------------------------------------------------- +Tue Mar 10 14:06:37 UTC 2020 - Tomáš Chvátal + +- Add patch to fix building with python 3.8: + * python38.patch + +------------------------------------------------------------------- +Tue Jan 28 22:45:34 UTC 2020 - Stefan Brüns + +- Add openmpi3 flavor. +- Disable openmpi1 for SLE/Leap 15.2, openmpi3 for SLE <= 15.1 +- Adjust disk _constraints. +- Drop vtk-fix-file-contains-date-time.patch, GCC honors + SOURCE_DATE_EPOCH. +- Drop unused netcdf-c++-devel BuildRequires. + +------------------------------------------------------------------- +Mon Nov 4 17:59:29 UTC 2019 - Stefan Brüns + +- Adapt to openmpi -> openmpi1 rename on Tumbleweed. +- Spec file cleanup, remove conditionals for Leap 42.x. +- Apply proj4 compatibility patch also on Leap. + +------------------------------------------------------------------- +Tue Sep 10 20:00:01 UTC 2019 - Christophe Giboudeaux + +- Use -ffat-lto-objects when building static libraries. + +------------------------------------------------------------------- +Sun Apr 14 10:14:39 UTC 2019 - Christophe Giboudeaux + +- Add more explicit dependencies to vtk-devel. + +------------------------------------------------------------------- +Tue Apr 9 11:28:00 UTC 2019 - Christophe Giboudeaux + +- Add an explicit 'Requires: double-conversion-devel' for vtk-devel. + The double-conversion library is mentioned in vtkdoubleconversion.cmake + but isn't automatically installed. + +------------------------------------------------------------------- +Fri Mar 15 18:42:02 UTC 2019 - Stefan Brüns + +- Update to version 8.2.0 + * Removed support for TCL and Qt4 + * Removed all VTK_OVERRIDE, VTK_FINAL, VTK_DELETE_FUNCTION macros as + C++11 is now required. + * vtkAbstractArray gained support for runtime user defined free functions, + allowing for custom allocator memory to be used with VTK. + * The vtkGeovis classes are now deprecated. + See https://blog.kitware.com/vtk-8-2-0/ for a more exhaustive list. +- Packaging changes: + * Python bindings for MPI flavors are now installed below the MPI prefix + and thus no longer conflict with each other. To use these, the + PYTHONPATH currently has to be amended manually. + * Removed several devel Requires: from the devel package. This reduces the + dependency chain (e.g. java-devel) for all packages building against VTK, + but may require to specify some dependencies explicitly, depending on + the used VTK modules and bindings. +- Patch updates/additions: + * Rebase vtk-fix-file-contains-date-time.patch + * Rebase 0001-Allow-compilation-on-GLES-platforms.patch + * Drop obsolete fix_qt5_example_cmake.patch + * Add bundled_libharu_add_missing_libm.patch + * Add bundled_exodusii_add_missing_libpthread.patch + * Add 0001-Add-libogg-to-IOMovie-target-link-libraries.patch + * Add 0001-Make-code-calling-proj4-compatible-with-proj4-5.0-an.patch + +------------------------------------------------------------------- +Sun Jan 6 18:32:58 UTC 2019 - Stefan Brüns + +- Correct names of built packages, the mpi flavors were lacking the + flavor specific name infix, i.e. all flavors were named identically. + +------------------------------------------------------------------- +Wed Jan 2 23:19:48 UTC 2019 - Stefan Brüns + +- Add openmpi2 flavor +- BuildRequire netcdf-{mpi_flavor}-devel for MPI flavors +- Add Conflicts between flavors of python3 subpackage (all flavors + install into python_sitearch). + +------------------------------------------------------------------- +Fri Dec 14 23:15:27 UTC 2018 - Stefan Brüns + +- Convert openmpi package to multibuild flavor +- Use correct mpi version - openmpi currently means openmpi, and not openmpi2/3 + Otherwise, VTK depends on openmpi1 (HDF5, netcdf) and openmpi2/3 (direct) +- Remove several mpi BuildRequires in serial flavor + +------------------------------------------------------------------- +Wed Dec 12 19:32:47 UTC 2018 - Stefan Brüns + +- Add python3-vtk to vtk-devel Requires, same as for vtk-java/tcl +- Remove empty testing subpackage +- Fix path to VTK_DATA_ROOT default directory + +------------------------------------------------------------------- +Thu Nov 22 15:41:50 UTC 2018 - Todd R + +- Update to version 8.1.2 + * Issue error if vtkAlgorithm::GetInputConnection called on wrong port + * Added explicit cast to pacify UBSan’s “implicit-integer-truncation” + * Make some orientation marker widget methods virtual + * vtkImageBlend bug fix for compound mode + * vtkFlyingEdges2D: Properly color multiple isocontour values + * Invoke DeletePointEvent before deleting vtkSeedWidget seed + * Fix compilation issue due to Python3.7 API change + * Fix bug where re-enabling seed widget wouldn't move existing seeds +- Fix python dependencies +- Test to make sure python package is importable +- Split out MPI version since the MPI version cannot be used + outside an MPI environment. +- Build vtkData as part of the main package. This makes sure the + data is extracted into the correct format. + +------------------------------------------------------------------- +Fri Jun 29 07:17:51 UTC 2018 - badshah400@gmail.com + +- Drop post[un] scripts for devel and java subpackages; they are + only needed for the versioned shlib. + +------------------------------------------------------------------- +Mon Jun 11 20:06:48 UTC 2018 - toddrme2178@gmail.com + +- Update to version 8.1.1: + * Fixed thin border around vtkImageResliceMapper + rendering + * Fixed vtkImageResliceMapper showing a black + polygon when slice is out of bounds. + * Fixed conflict between Process.h and process.h + * Fixed building VTK 8.1 against 10.13 SDK + resulting in linker errors when trying to use + resulting libraries on older SDK + * Fixed vtkCellPicker::IntersectActorWithLine maybe + using invalid cell id when picking composite data +- Add fix_qt5_example_cmake.patch + Fixes use of removed cmake macro in some examples + See: https://gitlab.kitware.com/vtk/vtk/issues/17336 +- Use modern cmake spec file macros +- Run spec cleaner +- Other spec file cleanups +- Support parallel HDF5. +- Drop support for qt4. Any version of openSUSE with a recent + enough version of cmake to build the package supports Qt5. +- Drop checks for old versions of openSUSE that have too old + of a cmake to build. + +------------------------------------------------------------------- +Sun Feb 4 00:41:17 UTC 2018 - stefan.bruens@rwth-aachen.de + +- Use split libboost*-devel BuildRequires for TW and Leap/SLE 15 + +------------------------------------------------------------------- +Wed Jan 24 11:28:47 UTC 2018 - fstrba@suse.com + +- Fix build with jdk10 + * give a bogus javah path "%{_bindir}/true", since the cmake + checks the javah binary although the build does not use it. + +------------------------------------------------------------------- +Fri Jan 12 13:43:49 UTC 2018 - badshah400@gmail.com + +- Drop vtk-Rinterface-uintptr_t.patch as the related plugin has + been retired. + +------------------------------------------------------------------- +Wed Jan 10 12:34:03 UTC 2018 - badshah400@gmail.com + +- Drop vtk-compat_gl: Building against OpenGL1 has now been + deprecated with version 8.1.0, and the examples don't build + against it already; so, drop all specfile and related + modifications catering to OpenGL1 bindings. + +------------------------------------------------------------------- +Thu Dec 28 11:22:29 UTC 2017 - badshah400@gmail.com + +- Update to version 8.1.0: + * Full release notes at https://blog.kitware.com/vtk-8-1-0/. +- Turn OFF building against system libharu, since libharu + upstream seems dead, while vtk's included libharu has new + features essential for building vtk 8.1. Drop BuildRequires on + libharu. +- Does not build against java 10, so ensure at most java 9 is + used by using appropriate versioning for java-devel + BuildRequires. +- Drop cmake options no longer used for build. +- Drop VERBOSE=1 for make: it makes the compilation too verbose + making brp checks for code warnings too slow to execute; this + reduces build time by nearly half. +- Enforce Qt4 for openSUSE <= 1320 explicitly because Qt5 is now + the default option. + +------------------------------------------------------------------- +Mon Dec 4 18:25:57 UTC 2017 - bruno@ioda-net.ch + +- Move BuildRequires: libQtWebKit-devel (Qt4) inside the else + version < 13.2 + +------------------------------------------------------------------- +Thu Oct 26 08:48:16 UTC 2017 - dimstar@opensuse.org + +- Add conflict between the -devel-doc variants. + +------------------------------------------------------------------- +Tue Oct 24 11:55:17 UTC 2017 - dimstar@opensuse.org + +- Setup MPI environment before building. + +------------------------------------------------------------------- +Thu Oct 12 20:47:27 UTC 2017 - jengelh@inai.de + +- Rectify RPM groups again. + +------------------------------------------------------------------- +Sun Oct 1 20:36:49 UTC 2017 - stefan.bruens@rwth-aachen.de + +- Move the vtk binary to the tcl subpackage, it is an interactive + TCL shell, and depends on the TCL bindings. It can be used + standalone from the devel package. Dito for its MPI variant, i.e. + the pvtk binary. +- Move all libvtk*Java.so to the java subpackage. These are part of + the Java bindings, i.e. runtime dependencies. Otherwise, the java + subpacakge depends on the devel subpackage. +- Add the tcl and java subpackage to the devel requires again. + Although not stricly necessary until building java or tcl packages, + the cmake files have a hard dependency on several build artifacts + provided by the tcl and java subpackages. Split devel packages + for the bindings would be preferred, but this is not supported by + the upstream build system. +- Remove the openmpi-devel requires in the python subpackage, the + mpi runtime libraries are provided by openmpi-libs, which is + picked up automatically. + +------------------------------------------------------------------- +Sun Oct 01 17:04:57 UTC 2017 - stefan.bruens@rwth-aachen.de + +- Split the API documentation from the development subpackage. The + documentation amounts to almost 1 GByte of data, not necessary + when just building packages. + +------------------------------------------------------------------- +Thu Sep 28 10:43:27 UTC 2017 - badshah400@gmail.com + +- Drop vtk-compat_gl-rpmlintrc: openSUSE:Factory bots don't accept + conditional sources and one rpmlintrc file is sufficient for + both main and linked packages anyway. + +------------------------------------------------------------------- +Tue Sep 19 10:46:40 UTC 2017 - kkhere.geo@gmail.com + +- do not exclude libViewsGeovisJava.so from devel package + This library is required for development. +- package vtk binary in devel package. +- VTKTargets-debug.cmake tests for the existance of the library (line 3394) + and the binary (line 3404) and causes an error if the files do + not exist + +------------------------------------------------------------------- +Thu Sep 14 20:54:34 UTC 2017 - stefan.bruens@rwth-aachen.de + +- Remove the various subpackage Requires from the devel package + again. The qt subpackage contains a Qt Designer plugin and no + dependency at all. Package the vtkWrap{Tcl,Java,Python} wrapper + generators in the devel package, as these are useless without + the vtk headers files. +- Fix description/summary of vtk-qt subpackage + +------------------------------------------------------------------- +Tue Sep 12 12:33:38 UTC 2017 - kkhere.geo@gmail.com + +- devel subpackage should require -tcl, -java and -qt subpackages + since the *.cmake files refer to files in those subpackages + +------------------------------------------------------------------- +Mon Sep 11 13:46:28 UTC 2017 - stefan.bruens@rwth-aachen.de + +- Add 0001-Allow-compilation-on-GLES-platforms.patch + The QOpenGLFunctions_3_2_Core class providing the framebuffer + blit functions is not available on GLES 2 builds of Qt5. Let Qt + handle the framebuffer blit, and just use the GLES/GL subset + provided by QOpenGLFunctions for the remainder. + Fix for https://gitlab.kitware.com/vtk/vtk/issues/17113 + +------------------------------------------------------------------- +Fri Sep 1 00:13:18 UTC 2017 - badshah400@gmail.com + +- Update to version 8.0.1: + * Fix QVTKOpenGLWidget rendering issues on Windows machines with + certain Intel graphics chips. This was a significant issue + that broke all rendering and resulted in a black screen. + * Fix data array range caching per finite component which would + otherwise cause considerable slow-downs when using data + arrays. + * Fix button and slider widgets to work in multi-viewport render + windows. Without this change the widgets would either be + placed in the wrong viewport or be non-interactive completely. + * Fix image XY sampling in the volume mapper when depth peeling + is enabled. + * Fix z-fighting issues with dual depth peeling between two + layers of geometry that are too close. + * Fix crash when reparenting the QVTKWidget to a different + window. The application would crash due to lack of OpenGL + resources for the reparented widget. + +------------------------------------------------------------------- +Mon Aug 21 18:41:37 UTC 2017 - badshah400@gmail.com + +- Suppress romlint error about shlib-policy-name-error for + %{name}-java -- libvtkViewsGeovisJava.so packaged therein + is not a versioned shared lib, and only used by vtk's java + bindings, so there is no point in enforcing the shared lib + packaging policy for this subpackage. + +------------------------------------------------------------------- +Wed Aug 9 10:40:59 UTC 2017 - badshah400@gmail.com + +- Move libvtkViewsGeovisJava.so to the %{name}-java subpackage, + this is not really a devel file. + +------------------------------------------------------------------- +Wed Aug 9 08:54:55 UTC 2017 - jengelh@inai.de + +- Fix RPM groups. Use POSIX-compliant find call. + +------------------------------------------------------------------- +Mon Aug 7 09:13:03 UTC 2017 - badshah400@gmail.com + +- Implement shared library packaging policy for vtk: + + Rename %{name} to %{shlib}. + + Move all shared library objects to %{shlib} package. + + Remove no longer needed Requires from %{name}-devel package; + e.g.: %{name}-java contains the java binaries and jar object + now, and no longer the lib*Java.so file which has been moved + into %{shlib}. + + Adapt conflicts for vtk-compat_gl accordingly. + + Install libraries to /usr/lib(64) instead of + /usr/lib(64)/vtk. + + Do away with python3-%{name}-qt subpackage and + Obsolete/Provide it from %{shlib} as it only contained a + shared lib object. +- Use system mpi4py; add BuildRequires on python3-mpi4py. +- liblz4 >= 1.7.3 now required (since version 8.0); adapt + BuildRequires accordingly. + +------------------------------------------------------------------- +Tue Jul 25 00:04:11 UTC 2017 - jengelh@inai.de + +- Trim descriptions and rectify RPM groups. + +------------------------------------------------------------------- +Mon Jul 17 23:37:37 UTC 2017 - adrian@suse.de + +- add liblz4-devel and libharu-devel also to Requires of devel package + (fixes linking errors in other packages) + +------------------------------------------------------------------- +Mon Jul 3 13:47:05 UTC 2017 - badshah400@gmail.com + +- Update to version 8.0.0: + * Read about changes here: https://blog.kitware.com/vtk-8-0-0/ + * API changes: + http://www.vtk.org/Wiki/VTK/API_Changes_7_1_0_to_8_0_0 +- Add BuildRequires on liblz4-devel, libharu-devel, mandatory + requirements for version 8.0.0. +- Run make DoxygenDoc to generate documentation. + +------------------------------------------------------------------- +Fri Apr 14 18:18:36 UTC 2017 - kkhere.geo@gmail.com + +- add a separate package vtk-compat_gl compile using rendering backend + OpenGL for systems without brand new graphic cards +- default package vtk still uses new rendering backend default OpenGL2 + +------------------------------------------------------------------- +Wed Nov 23 10:28:02 UTC 2016 - badshah400@gmail.com + +- Update to version 7.1.0: See news item at + https://blog.kitware.com/kitware-plans-to-spotlight-new-vtk-and-paraview-releases-at-sc16/ +- Drop patch vtk-gcc6.patch, upstreamed. +- Turn off usage of system DIY2, this library is not yet packaged + for openSUSE. +- Disable mkg3states binary also for openSUSE:Leap versions. +- Update file list for upstream installation changes. +- Use bundled gl2ps, as it no longer builds against the system + one (requires svn trunk version of gl2ps). +- CMake >= 3.4 is now required (earlier versions don't support + NAMES_PER_DIR in find_program). +- Enable use of SYSTEM_LIBRARIES for openSUSE:Leap versions too + (only 13.2 requires this turned off as of now). + +------------------------------------------------------------------- +Wed Aug 10 00:56:56 UTC 2016 - badshah400@gmail.com + +- Refresh vtk-Rinterface-uintptr_t.patch to fix further issues + with uintptr_t redefinition by defining the HAVE_UINTPTR_T + macro using cmake functions; removing the #include of stdint.h + is not needed any more since we will not be using the defs from + Rinterface.h anyway (boo#985386). Although this really causes a + build failure for the i586 arch, where the redefinition of + unitptr_t in Rinterface.h conflicts with the stdint.h defintion, + the patch is applied generally because the redefinition is not + needed in any case. Patch sent upstream. + +------------------------------------------------------------------- +Wed Apr 13 11:32:12 UTC 2016 - badshah400@gmail.com + +- Add freetype2-devel as a Requires for vtk-devel. + +------------------------------------------------------------------- +Wed Mar 30 14:31:03 UTC 2016 - badshah400@gmail.com + +- Apply vtk-gcc6.patch also to python-vtk. + +------------------------------------------------------------------- +Wed Mar 30 13:08:09 UTC 2016 - stecue@gmail.com + +- Fixed RPATH error for Factory by passing the option + CMAKE_NO_BUILTIN_CHRPATH:BOOL=ON to cmake. + +------------------------------------------------------------------- +Tue Mar 29 20:27:32 UTC 2016 - dmueller@suse.com + +- add vtk-gcc6.patch: Fix build with gcc 6 +- skip RPATH setting + +------------------------------------------------------------------- +Fri Mar 18 19:27:34 UTC 2016 - stecue@gmail.com + +- openmpi-libs will be installed with openmpi-devel if necessary. + No such package on openSUSE 13.1. + +------------------------------------------------------------------- +Tue Mar 15 13:33:58 UTC 2016 - dvaleev@suse.com + +- Add disk constraints + +------------------------------------------------------------------- +Wed Feb 17 01:13:12 UTC 2016 - badshah400@gmail.com + +- Update to version 7.0.0: + + See https://blog.kitware.com/vtk-7-0-0/ for a detailed + article describing all the changes in this version. +- Add vtk-Rinterface-uintptr_t.patch to fix building: uintptr_t + is already defined in the R headers, uintptr_t definition in + conflicts with the R definition and causes builds to + fail. This patch fixes the problem by commenting out the call + to include stdint.h (it was only being used for this solitary + symbol). +- Use python 3 for building, rename python- subpackages + accordingly to python3-. +- Update file lists in accordance with added/dropped binaries + upstream; affects vtk-examples, vtk-devel. +- Drop conditionals referencing outdated openSUSE version 12.3. +- Update rpmlintrc file to suppress rpmlint warnings for + "no-manual-page-for-binary": upstream does not supply manuals + for its binaries and does not plan to. + +------------------------------------------------------------------- +Fri Sep 18 09:11:38 UTC 2015 - badshah400@gmail.com + +- vtkdata should be a Recommends for vtk-examples, not Requires. + +------------------------------------------------------------------- +Mon Aug 31 07:39:10 UTC 2015 - badshah400@gmail.com + +- Update to version 6.3.0: + - See list of changes at + http://www.vtk.org/Bug/changelog_page.php?version_id=118 + or blog post at + http://www.kitware.com/blog/home/post/963. + +------------------------------------------------------------------- +Sat Aug 15 04:16:39 UTC 2015 - badshah400@gmail.com + +- python-vtk also needs openmpi-devel at runtime. + +------------------------------------------------------------------- +Fri Aug 14 10:51:11 UTC 2015 - badshah400@gmail.com + +- python-vtk should have Requires on openmpi-libs to enable its + parallelized modules to work. + +------------------------------------------------------------------- +Thu Jun 25 08:17:04 UTC 2015 - alinm.elena@gmail.com + +- use qt5 for factory + +------------------------------------------------------------------- +Mon Jun 22 18:00:32 UTC 2015 - olaf@aepfle.de + +- Add libxml2-devel/netcdf-devel/libnetcdf_c++-devel Requires to vtk-devel + +------------------------------------------------------------------- +Wed Apr 8 19:57:31 UTC 2015 - dimstar@opensuse.org + +- Add jsoncpp-devel Requires to vtk-devel (for openSUSE > 13.2): + vtkjsoncpp.cmake has + set(vtkjsoncpp_LIBRARIES "/usr/lib64/libjsoncpp.so"). + +------------------------------------------------------------------- +Fri Mar 13 19:50:12 UTC 2015 - badshah400@gmail.com + +- Update to version 6.2.0: + + See http://www.kitware.com/blog/home/post/858 for a list of + changes. +- Drop patches incorporated upstream: + + vtk-install-missing-modules.patch + + vtk-Mesa10.3-build-failures.patch + + vtk-system.patch. +- Update filelist to incorporate new files installed by upstream. +- Use system hdf5 and netcdf on all openSUSE versions. +- Build on openSUSE > 13.2 with system libraries ON (except + for libproj4); all required depndencies for this purpose are + now in Factory. +- Add rpmlintrc file to suppress + "devel-files-in-non-devel-package" warning; python-vtk needs + these devel files for its own functioning. + +------------------------------------------------------------------- +Thu Feb 26 12:30:11 UTC 2015 - dkxls23@gmail.com + +- Add MPI support + +------------------------------------------------------------------- +Thu Sep 11 01:52:56 UTC 2014 - badshah400@gmail.com + +- Add vtk-Mesa10.3-build-failures.patch to workaround build + failures when compiling against Mesa >= 10.3; patch taken from + upstream git and rebased; applied only for openSUSE >= 13.2. + +------------------------------------------------------------------- +Fri Jan 24 20:44:24 UTC 2014 - badshah400@gmail.com + +- Update to version 6.1.0: + + See http://www.kitware.com/news/home/browse/502 for a list of + changes +- Rebase patches: + + vtk-system.patch + + vtk-install-missing-modules.patch +- Packaging changes: + + Re-enable R bindings for 13.1 and above + + Turn off building test modules for now as it leads to build + issues (DBUILD_TESTING:BOOL=OFF) + + Turn off usage of system libraries for now + (DVTK_USE_SYSTEM_LIBRARIES:BOOL=OFF), as usage of system + libraries now introduces dependency on json-cpp which is not + available for openSUSE (yet) + + Python modules are now installed by vtk's cmake script; + hence, pass system python dirs to cmake by using cmake + variable DVTK_INSTALL_PYTHON_MODULE_DIR instead of + DVTK_PYTHON_SETUP_ARGS used previously + + vtkpython is now installed by cmake script automatically; + hence remove the manual copying to /usr/bin used earlier + + Python libraries are now stripped automatically on install; + chrpath no longer needed on these + + Python object files are now installed in + %python_sitearch + + Skip examples no longer installed as a result of test modules + being turned off + + Install new binaries (mkg3states) and bundled data files + (/usr/share/vtk-6.1) + + Cleanup spec file: + - Remove support for EOL openSUSE versions (12.1 and earlier) + by dropping appropriate conditionals + - Fix minor formatting issues. + +------------------------------------------------------------------- +Fri Jul 19 02:52:28 UTC 2013 - badshah400@gmail.com + +- Disable R bindings for Factory, since it causes weird build + failures in openSUSE:Factory, (strangely no failures in devel + project) until the reason behind the failure is found and fixed. + +------------------------------------------------------------------- +Fri Jun 28 13:41:09 UTC 2013 - badshah400@gmail.com + +- Update to version 6.0.0: + + Lengthy list of changes, see + http://www.kitware.com/blog/home/post/515 for a summary +- Also build R language bindings, introduces dependency on R-base +- Drop patches for already being incorporated upstream: + + vtk-pythondestdir.patch + + vtk-sqldatabaseschema.patch + + vtk-soversion2.patch +- Rebase patches for updated version: + + vtk-fix-file-contains-date-time.patch + + vtk-system.patch +- Add vtk-install-missing-modules.patch to install cmake modules + missed by the upstream packaging, will be required esp. when + we will be able to use the system installed vtk to build + paraview in the future; patch taken from Fedora +- Remove unused cmake variables during configuration +- Install all examples (several more added in current version) +- Install vtk.conf file in /etc/ld.so.conf.d to enable vtk find + its libraries +- Testing binaries are no longer installed separately. + +------------------------------------------------------------------- +Fri Oct 26 14:04:41 UTC 2012 - badshah400@gmail.com + +- Update to version 5.10.1: + + Fix netCDF symbol mangling, which allows applications to use + an external netCDF library and VTK's internal copy + simultaneously + + Fixes for STL and SLC readers that prevent crashes and file + handle resource exhaustion + + Fix compilation on FreeBSD operating system + + A handful of fixes in VTK's Qt interface kit + + Fixes for interpreted language wrapping including a bug which + prevented java wrapping of VTK on power PC macs, and + compatibility with Tcl 8.6 +- Add vtk-fix-file-contains-date-time.patch to fix rpmlint + warning about a packaged file containing DATE and TIME. + +------------------------------------------------------------------- +Mon Jun 25 20:46:30 UTC 2012 - scorot@free.fr + +- build python-qt and java binding for openSUSE version higher than + 11.2 which fixes build on SLE 11 + +------------------------------------------------------------------- +Fri May 18 21:20:14 UTC 2012 - badshah400@gmail.com + +- Update to version 5.10.0: See + http://www.kitware.com/news/home/browse/408 + for a detailed list of changes +- Dropped patches: + + vtk-boost149.patch: implemented upstream +- Patch vtk-sqldatabaseschema.patch now only required for + openSUSE 11.4 +- Minor rebasing of existing patches so they apply cleanly +- No longer use verbose make. + +------------------------------------------------------------------- +Thu May 10 11:32:21 UTC 2012 - idonmez@suse.com + +- Remove openmotif dependency + +------------------------------------------------------------------- +Sun Apr 22 15:11:53 UTC 2012 - asterios.dramis@gmail.com + +- Use the gl2ps and hdf5 system libraries for building in openSUSE > 12.1. +- Updated Mesa and XOrg dependencies for openSUSE > 12.1. +- Removed the following dependencies which are not needed: + MesaGLw-devel, freeglut-devel, gcc-java, libgcj-devel and sqlite3-devel. +- Removed postgresql-devel dependency (wasn't enabled and fails to compile + anyway - added a note about it). +- Removed build time references so build-compare can do its work. +- Compile the package out-of-source. +- Use the generic "VTK_USE_SYSTEM_LIBRARIES" cmake variable for enabling the + use of system libraries instead of doing it with a per package variable. + +------------------------------------------------------------------- +Sun Apr 8 11:22:34 UTC 2012 - idonmez@suse.com + +- Fix compilation with boost 1.49 and enable boost again + +------------------------------------------------------------------- +Tue Mar 27 14:15:13 UTC 2012 - toddrme2178@gmail.com + +- Cleaned up spec file formatting +- Build and package python-qt (python-sip) bindings +- Link libraries to library directory instead of moving them to + avoid breaking the find vtk cmake macro +- Force enable of various additional optional components +- Removed redundant packages (readme and logo) from backends +- Make the devel package depend on the backends, since it does not + work properly without them +- Disable boost building on factory due to an icompatibility with + boosswt 1.4.9+. See http://vtk.org/Bug/view.php?id=12988 + +------------------------------------------------------------------- +Thu Feb 2 12:39:13 UTC 2012 - toddrme2178@gmail.com + +- Reverted the source file change since it didn't work +- Changed the license text a little + +------------------------------------------------------------------- +Wed Feb 1 12:05:32 UTC 2012 - toddrme2178@gmail.com + +- Switched to approved license text (fix for RPMLINT warning) +- Escaped some macros in comments (fix for RPMLINT warnings) +- Made the source file a tiny bit easier to use + +------------------------------------------------------------------- +Wed Oct 12 22:12:40 UTC 2011 - prusnak@opensuse.org + +- updated to 5.8.0 +- removed patches: +* vtk-Balloon-Representation.patch (applied in upstream) +* vtk-gcc43.patch (applied in upstream) +* vtk-gcc46.patch (applied in upstream) +* vtk-libpng14.patch (applied in upstream) +* vtk-python27-compat.patch (applied in upstream) +* vtk-soversion.patch (applied in upstream) +* vtk-string-length.patch (not needed anymore) +* vtk-testcxxjavaremove.patch (applied in upstream) + +------------------------------------------------------------------- +Sat May 28 17:35:51 UTC 2011 - badshah400@gmail.com + +- Add explicit libQtWebKit-devel BuildRequires to fix build +failures on openSUSE 11.3 +- Make description of sub-package vtk-qt more detailed +- Spec file clean up + +------------------------------------------------------------------- +Sat May 28 07:49:50 UTC 2011 - alinm.elena@gmail.com + +- fix the missing soname for libVTKnetcdf_cxx + +------------------------------------------------------------------- +Sun May 22 17:02:27 UTC 2011 - stecue@gmail.com + +- Fix the broken vtk-qt package + +------------------------------------------------------------------- +Thu Apr 14 19:59:13 UTC 2011 - badshah400@gmail.com + +- Fix dependencies for openSUSE 11.2 and SLE 11 +- Fix build problems with openSUSE 11.4 + +------------------------------------------------------------------- +Thu Apr 14 16:54:15 UTC 2011 - badshah400@gmail.com + +- Restored vtk-string-length.patch to solve buffer overflow errors +during string copy operations + +------------------------------------------------------------------- +Wed Mar 30 03:42:15 UTC 2011 - badshah400@gmail.com + +- Added vtk-sqldatabaseschema.patch (from upstream) to fix +compilation errors with python enabled + +------------------------------------------------------------------- +Wed Mar 23 18:21:30 UTC 2011 - badshah400@gmail.com + +- Update to version 5.6.1, rebase existing patches and remove +unnecessary ones + +------------------------------------------------------------------- +Wed Mar 23 11:01:06 UTC 2011 - badshah400@gmail.com + +- Add vtk-python2.7-compat.patch to fix build problems with +python 2.7 +- Add vtk-gcc4.3.patch to fix building issues with gcc 4.3 + +------------------------------------------------------------------ +Thu Mar 25 11:50:35 CET 2010 - boris@steki.net + +- Extended buffer size in VTK/Utilities/kwsys/SystemInformation.cxx diff --git a/vtk.spec b/vtk.spec new file mode 100644 index 0000000..caa5fde --- /dev/null +++ b/vtk.spec @@ -0,0 +1,670 @@ +# +# spec file +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global flavor @BUILD_FLAVOR@%{nil} + +%bcond_with examples +%bcond_with documentation +%bcond_with testing + +%ifarch %arm aarch64 +%bcond_without gles +%else +%bcond_with gles +%endif + +%define pkgname vtk + +# pugixml in Leap 15.x is too old +# fmt in Leap 15.x is too old +# Need haru/hpdf version with HPDF_SHADING, i.e. >= 2.4.0 +# PEGTL >= 3.0 not supported, https://gitlab.kitware.com/vtk/vtk/-/issues/18151 +%if 0%{?suse_version} <= 1500 +%bcond_with fast_float +%bcond_with fmt +%bcond_with haru +%if 0%{?sle_version} <= 150400 +%bcond_without pegtl +%else +%bcond_with pegtl +%endif +%bcond_with pugixml +%else +%bcond_without fast_float +%bcond_without fmt +%bcond_without haru +%bcond_with pegtl +%bcond_without pugixml +%endif + +%bcond_without gl2ps +%bcond_without java + +%if "%{flavor}" == "" +%define my_suffix %{nil} +%define my_prefix %_prefix +%define my_bindir %_bindir +%define my_libdir %_libdir +%define my_incdir %_includedir +%define my_datadir %_datadir +%endif + +%if "%{flavor}" == "openmpi4" +%{?DisOMPI4} +%define my_suffix -openmpi4 +%define mpi_flavor openmpi4 +%define mpiprefix %{_libdir}/mpi/gcc/%{mpi_flavor} +%endif + +%if "%{flavor}" == "openmpi5" +%{?DisOMPI5} +%define my_suffix -openmpi5 +%define mpi_flavor openmpi5 +%define mpiprefix %{_libdir}/mpi/gcc/%{mpi_flavor} +%endif + +%{?mpi_flavor:%{bcond_without mpi}}%{!?mpi_flavor:%{bcond_with mpi}} + +%if %{with mpi} +%define my_prefix %{mpiprefix} +%define my_bindir %{my_prefix}/bin +%define my_libdir %{my_prefix}/%{_lib}/ +%define my_incdir %{my_prefix}/include/ +%define my_datadir %{my_prefix}/share/ +%endif + +%define vtklib lib%{pkgname}1%{?my_suffix} +%define shlib %{vtklib} + +Name: vtk%{?my_suffix} +Version: 9.3.1 +Release: 0 +%define series 9.3 +Summary: The Visualization Toolkit - A high level 3D visualization library +# This is a variant BSD license, a cross between BSD and ZLIB. +# For all intents, it has the same rights and restrictions as BSD. +# http://fedoraproject.org/wiki/Licensing/BSD#VTKBSDVariant +License: BSD-3-Clause +Group: Productivity/Scientific/Other +URL: https://vtk.org/ +Source: https://www.vtk.org/files/release/%{series}/VTK-%{version}.tar.gz +# FIXME See if packaging can be tweaked to accommodate python-vtk's devel files in a devel package later +# We need to use the compat conditionals here to avoid Factory's source validator from tripping up +Source99: vtk-rpmlintrc +# PATCH-FIX-OPENSUSE bundled_libharu_add_missing_libm.patch stefan.bruens@rwth-aachen.de -- Add missing libm for linking (gh#libharu/libharu#213) +Patch1: bundled_libharu_add_missing_libm.patch +# PATCH-FIX-OPENSUSE -- Fix building with Qt GLES builds +Patch7: 0001-Add-missing-guard-required-for-GLES-to-disable-stere.patch +# PATCH-FIX-UPSTREAM -- Fix building with Qt GLES builds +Patch8: 0001-Correct-GL_BACK-GL_BACK_LEFT-mapping-on-GLES.patch +# PATCH-FIX-UPSTREAM -- Fix building with Qt GLES builds +Patch9: 0002-Use-GL_DRAW_BUFFER0-instead-of-GL_DRAW_BUFFER-for-GL.patch +# PATCH-FIX-OPENSUSE -- Fix building with Qt GLES builds +Patch10: Do-not-request-CUBE_MAP_SEAMLESS-on-GLES.patch +# PATCH-FIX-UPSTREAM -- Always create python package metadata (egg-info) +Patch17: 0001-Always-generate-Python-Metadata-when-WRAP_PYTHON-is-.patch +# PATCH-FIX-UPSTREAM -- Copy generated metadata to the right directory +Patch18: 0001-Consider-VTK_PYTHON_SITE_PACKAGES_SUFFIX-for-Python-.patch +# PATCH-FIX-UPSTREAM -- Update fmt includes in ioss thirdparty package +Patch19: 0001-ioss-update-fmt-includes.patch +BuildRequires: cgns-devel +BuildRequires: chrpath +BuildRequires: cmake >= 3.12 +BuildRequires: double-conversion-devel +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: hdf5-devel +BuildRequires: libboost_graph-devel +BuildRequires: libboost_graph_parallel-devel +BuildRequires: libboost_serialization-devel +BuildRequires: libjpeg-devel +BuildRequires: libmysqlclient-devel +BuildRequires: libtiff-devel +BuildRequires: python3-devel +BuildRequires: python3-numpy-devel +BuildRequires: python3-qt5-devel +BuildRequires: python3-setuptools +BuildRequires: utfcpp-devel +BuildRequires: cmake(Verdict) +BuildRequires: cmake(nlohmann_json) +BuildRequires: pkgconfig(Qt5Core) +BuildRequires: pkgconfig(Qt5OpenGL) +BuildRequires: pkgconfig(Qt5OpenGLExtensions) +BuildRequires: pkgconfig(Qt5Sql) +BuildRequires: pkgconfig(Qt5Widgets) +BuildRequires: pkgconfig(eigen3) >= 3.3.9 +BuildRequires: pkgconfig(expat) +BuildRequires: pkgconfig(freetype2) >= 2.11.0 +BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(glew) +BuildRequires: pkgconfig(jsoncpp) +BuildRequires: pkgconfig(libavcodec) +BuildRequires: pkgconfig(libavdevice) +BuildRequires: pkgconfig(libavformat) +BuildRequires: pkgconfig(libavutil) +BuildRequires: pkgconfig(libiodbc) +BuildRequires: pkgconfig(liblz4) >= 1.8.0 +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libswscale) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(netcdf) +BuildRequires: pkgconfig(proj) >= 5.0.0 +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(theora) +BuildRequires: pkgconfig(xt) +BuildRequires: pkgconfig(zlib) +%if %{with documentation} +BuildRequires: doxygen +BuildRequires: gnuplot +BuildRequires: graphviz +%endif +%if %{with fmt} +BuildRequires: fmt-devel > 9.0 +%endif +%if %{with gl2ps} +BuildRequires: gl2ps-devel > 1.4.0 +%endif +%if %{with haru} +BuildRequires: libharu-devel >= 2.4.0 +%endif +%if %{with java} +BuildRequires: java-devel >= 1.8 +%endif +%if %{with mpi} +BuildRequires: %{mpi_flavor}-devel +BuildRequires: hdf5-%{mpi_flavor}-devel +BuildRequires: libboost_mpi-devel +BuildRequires: netcdf-%{mpi_flavor}-devel +BuildRequires: python3-mpi4py-devel +%endif +%if %{with fast_float} +BuildRequires: cmake(FastFloat) +%endif +%if %{with pugixml} +BuildRequires: pkgconfig(pugixml) >= 1.11 +%endif +%if %{with pegtl} +BuildRequires: (pegtl-devel >= 2.0.0 with pegtl-devel < 3.0) +%endif +%if %{with testing} +BuildRequires: cli11-devel +BuildRequires: vtkdata = %{version} +%endif + +%description +VTK is a software system for image processing, 3D graphics, volume +rendering and visualization. VTK includes many advanced algorithms +(e.g. surface reconstruction, implicit modelling, decimation) and +rendering techniques (e.g. hardware-accelerated volume rendering, +LOD control). + +%package -n %{shlib} +Summary: The Visualization Toolkit - A high level 3D visualization library +Group: System/Libraries +Conflicts: libvtkcompat_gl1 +Provides: %{name} = %{version} + +%description -n %{shlib} +VTK is a software system for image processing, 3D graphics, volume +rendering and visualization. VTK includes many advanced algorithms +(e.g. surface reconstruction, implicit modelling, decimation) and +rendering techniques (e.g. hardware-accelerated volume rendering, +LOD control). + +This package provides the shared libraries for VTK. + +%package devel +Summary: VTK header files for building C++ code +Group: Development/Libraries/C and C++ +Requires: %{name}-qt = %{version} +Requires: %{shlib} = %{version} +Requires: cgns-devel +Requires: cmake >= 3.4 +Requires: double-conversion-devel +%{?with_fmt:Requires: fmt-devel} +Requires: gcc-c++ +%{?with_gl2ps:Requires: gl2ps-devel} +Requires: hdf5-devel +%{?with_mpi:Requires: hdf5-%{mpi_flavor}-devel} +Requires: libjpeg-devel +Requires: libmysqlclient-devel +Requires: libnetcdf_c++-devel +Requires: libtiff-devel +# not strictly necessary, but required by VTKs cmake files +Requires: python3-%{name} = %{version} +Requires: utfcpp-devel +%{?with_mpi:Requires: %{mpi_flavor}} +%{?with_mpi:Requires: %{mpi_flavor}-devel} +%{?with_fast_float:Requires: cmake(FastFloat)} +Requires: cmake(Verdict) +Requires: cmake(nlohmann_json) +Requires: pkgconfig(Qt5Core) +Requires: pkgconfig(Qt5OpenGL) +Requires: pkgconfig(Qt5OpenGLExtensions) +Requires: pkgconfig(Qt5Sql) +Requires: pkgconfig(Qt5Widgets) +Requires: pkgconfig(expat) +Requires: pkgconfig(freetype2) +Requires: pkgconfig(gl) +Requires: pkgconfig(jsoncpp) +Requires: pkgconfig(libavcodec) +Requires: pkgconfig(libavdevice) +Requires: pkgconfig(libavformat) +Requires: pkgconfig(libavutil) +Requires: pkgconfig(libiodbc) +Requires: pkgconfig(liblz4) >= 1.7.3 +Requires: pkgconfig(liblzma) +Requires: pkgconfig(libpng) +Requires: pkgconfig(libswscale) +Requires: pkgconfig(netcdf) +Requires: pkgconfig(theora) +Requires: pkgconfig(zlib) +%if %{with pegtl} +Requires: (pegtl-devel >= 2.0.0 with pegtl-devel < 3.0) +%endif +%if %{with pugixml} +Requires: pkgconfig(pugixml) >= 1.11 +%endif +Conflicts: vtk-compat_gl-devel + +%description devel +VTK is a software system for image processing, 3D graphics, volume +rendering and visualization. VTK includes many advanced algorithms +(e.g. surface reconstruction, implicit modelling, decimation) and +rendering techniques (e.g. hardware-accelerated volume rendering, +LOD control). + +This provides development libraries and header files required to +compile C++ programs that use VTK to do 3D visualisation. + +%package java-devel +Summary: Develoment files for VTK Java bindings +Group: Development/Libraries/C and C++ +Requires: %{name}-devel = %{version} +Requires: %{name}-java = %{version} +Requires: java-devel >= 1.8 +Provides: %{name}-devel:%{my_libdir}/libvtkJava.so + +%description java-devel +VTK is a software system for image processing, 3D graphics, volume +rendering and visualization. VTK includes many advanced algorithms +(e.g. surface reconstruction, implicit modelling, decimation) and +rendering techniques (e.g. hardware-accelerated volume rendering, +LOD control). + +This provides the Java part of the development files. + +%package devel-doc +Summary: VTK API documentation +Group: Documentation/HTML + +%description devel-doc +VTK is a software system for image processing, 3D graphics, volume +rendering and visualization. VTK includes many advanced algorithms +(e.g. surface reconstruction, implicit modelling, decimation) and +rendering techniques (e.g. hardware-accelerated volume rendering, +LOD control). + +This provides the VTK API documentation useful for developing +programs that use VTK to do 3D visualisation. + +%package java +Summary: Java bindings for VTK +Group: Development/Libraries/Java +Requires: %{shlib} = %{version} +Conflicts: vtk-compat_gl-java + +%description java +VTK is a software system for image processing, 3D graphics, volume +rendering and visualization. VTK includes many advanced algorithms +(e.g. surface reconstruction, implicit modelling, decimation) and +rendering techniques (e.g. hardware-accelerated volume rendering, +LOD control). + +This package provides java bindings for VTK. + +%package -n python3-%{name} +Summary: Python bindings for VTK +Group: Development/Libraries/Python +# explicitly require the correct mpi flavor, because the automatic +# rpm requirements generator for shared libs fails to distinguish +# between them -- boo#1187161 +Requires: %{name}-qt = %{version} +Requires: %{shlib} = %{version} +%{?with_mpi:Requires: python3-mpi4py} +Requires: python3-numpy +Requires: python3-qt5 +Conflicts: python3-vtk-compat_gl + +%description -n python3-%{name} +VTK is a software system for image processing, 3D graphics, volume +rendering and visualization. VTK includes many advanced algorithms +(e.g. surface reconstruction, implicit modelling, decimation) and +rendering techniques (e.g. hardware-accelerated volume rendering, +LOD control). + +This package provides python 3.x bindings for VTK. + +%package qt +Summary: Qt libraries for VTK +Group: Development/Libraries/C and C++ +Requires: %{shlib} = %{version} +Conflicts: vtk-compat_gl-qt + +%description qt +VTK is a software system for image processing, 3D graphics, volume +rendering and visualization. VTK includes many advanced algorithms +(e.g. surface reconstruction, implicit modelling, decimation) and +rendering techniques (e.g. hardware-accelerated volume rendering, +LOD control). + +This package provides the Qt libraries for VTK. + +# The examples work with any VTK flavor, just package these once +%if "%{flavor}" == "" +%package examples +Summary: Examples for VTK +Group: Documentation/Other +Recommends: vtkdata = %{version} +Conflicts: vtk-compat_gl-examples + +%description examples +VTK is a software system for image processing, 3D graphics, volume +rendering and visualization. VTK includes many advanced algorithms +(e.g. surface reconstruction, implicit modelling, decimation) and +rendering techniques (e.g. hardware-accelerated volume rendering, +LOD control). + +This package contains many examples showing how to use VTK. +Examples are available in the C++, Tcl, Python and Java programming +languages. +%endif + +%prep +%setup -n VTK-%{version} +%patch -P 1 -p1 +%if %{with gles} +%patch -P 7 -p1 +%patch -P 8 -p1 +%patch -P 9 -p1 +%patch -P 10 -p1 +%endif +%patch -P 17 -p1 +%patch -P 18 -p1 +%patch -P 19 -p1 + +# Replace relative path ../../../../VTKData with %%{_datadir}/vtkdata +# otherwise it will break on symlinks. +grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs -r perl -pi -e's,\.\./\.\./\.\./\.\./VTKData,%{_datadir}/vtkdata,g' + +# Fix erroneous dependency on sqlite3 binary +sed -i -e '/set(vtk_sqlite_build_binary 1)/ s/.*/#\0/' CMakeLists.txt + +# Allow testing also without external downloads - https://gitlab.kitware.com/vtk/vtk/-/issues/18692 +sed -i -e '/set(vtk_enable_tests "OFF")/ s/.*/#\0/' CMakeLists.txt + +# Allow other versions for fast_float +sed -i -e '/VERSION .*/ d' ThirdParty/fast_float/CMakeLists.txt + +%build +%if %{with mpi} +source %{mpiprefix}/bin/mpivars.sh +export CC=mpicc +export CXX=mpicxx +%else +export CC=gcc +export CXX=g++ +%endif + +export CFLAGS="%{optflags}" +export CXXFLAGS="%{optflags}" + +# The %%cmake macro sets CMAKE_SKIP_RPATH=ON for Leap 15.x which causes build failures +# https://discourse.vtk.org/t/building-fails-generating-wrap-hierarchy-for-vtk-commoncore-unable-to-open-libvtkwrappingtools-so-1 +# Disable ioss module for MPI flavors, fails to build with 9.1.0, see MR 8565. +%cmake \ + -DCMAKE_INSTALL_PREFIX:PATH=%{my_prefix} \ + -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \ + -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name}-%{series} \ + -DCMAKE_INSTALL_QMLDIR:PATH=%{my_libdir}/qt5/qml \ + -DVTK_FORBID_DOWNLOADS:BOOL=ON \ + -DVTK_PYTHON_OPTIONAL_LINK:BOOL=OFF \ + -DVTK_BUILD_TESTING:BOOL=%{?with_testing:ON}%{!?with_testing:OFF} \ + -DVTK_DATA_STORE:PATH=/usr/share/vtkdata/.ExternalData \ + -DExternalData_NO_SYMLINKS:BOOL=ON \ + -DVTK_BUILD_EXAMPLES:BOOL=%{?with_examples:ON}%{!?with_examples:OFF} \ + -DVTK_BUILD_DOCUMENTATION:BOOL=%{?with_documentation:ON}%{!?with_documentation:OFF} \ + -DCMAKE_NO_BUILTIN_CHRPATH:BOOL=ON \ +%if 0%{?suse_version} <= 1500 + -DCMAKE_SKIP_RPATH:BOOL=OFF \ + -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON \ +%endif + -DVTK_MODULE_ENABLE_VTK_TestingCore=WANT \ + -DVTK_MODULE_ENABLE_VTK_TestingRendering=WANT \ + -DVTK_MODULE_ENABLE_VTK_RenderingContextOpenGL2=YES \ + -DVTK_MODULE_ENABLE_VTK_RenderingLICOpenGL2=%{?with_gles:NO}%{!?with_gles:YES} \ + -DVTK_MODULE_ENABLE_VTK_RenderingFreeTypeFontConfig=YES \ + -DVTK_CUSTOM_LIBRARY_SUFFIX="" \ + -DVTK_GROUP_ENABLE_Imaging=WANT \ +%if %{with mpi} + -DVTK_USE_MPI:BOOL=ON \ + -DVTK_GROUP_ENABLE_MPI=WANT \ +%else + -DVTK_USE_MPI:BOOL=OFF \ +%endif + -DVTK_GROUP_ENABLE_Qt=WANT \ + -DVTK_GROUP_ENABLE_Rendering=WANT \ + -DVTK_GROUP_ENABLE_StandAlone=WANT \ + -DVTK_GROUP_ENABLE_Views=WANT \ + -DVTK_PYTHON_VERSION=3 \ + -DVTK_WRAP_JAVA:BOOL=%{?with_java:ON}%{!?with_java:OFF} \ + -DVTK_JAVA_SOURCE_VERSION:STRING='1.8' \ + -DVTK_JAVA_TARGET_VERSION:STRING='1.8' \ + -DVTK_WRAP_PYTHON:BOOL=ON \ + -DOpenGL_GL_PREFERENCE:STRING='GLVND' \ + -DVTK_OPENGL_USE_GLES:BOOL=%{?with_gles:ON}%{!?with_gles:OFF} \ + -DVTK_USE_EXTERNAL:BOOL=ON \ + -DVTK_MODULE_USE_EXTERNAL_VTK_exprtk:BOOL=OFF \ + -DVTK_MODULE_USE_EXTERNAL_VTK_fast_float:BOOL=%{?with_fast_float:ON}%{!?with_fast_float:OFF} \ + -DVTK_MODULE_USE_EXTERNAL_VTK_fmt:BOOL=%{?with_fmt:ON}%{!?with_fmt:OFF} \ + -DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=%{?with_gl2ps:ON}%{!?with_gl2ps:OFF} \ + -DVTK_MODULE_USE_EXTERNAL_VTK_ioss:BOOL=OFF \ + -DVTK_MODULE_USE_EXTERNAL_VTK_libharu=%{?with_haru:ON}%{!?with_haru:OFF} \ + -DVTK_MODULE_USE_EXTERNAL_VTK_pugixml=%{?with_pugixml:ON}%{!?with_pugixml:OFF} \ + -DVTK_MODULE_ENABLE_VTK_ioss:BOOL=%{!?with_mpi:WANT}%{?with_mpi:NO} \ + -DVTK_MODULE_ENABLE_VTK_pegtl=%{?with_pegtl:YES}%{!?with_pegtl:NO} \ + -DVTK_MODULE_ENABLE_VTK_zfp:BOOL=NO \ + %{nil} + +%cmake_build + +# Remove executable bits from sources (some of which are generated) +find . -name \*.c -o -name \*.cxx -o -name \*.h -o -name \*.hxx -o -name \*.gif -exec chmod -x "{}" "+" + +%install +%cmake_install + +%if %{with examples} +# List of executable examples +cat > examples.list << EOF +AmbientSpheres +Arrays +BalloonWidget +BandedContours +Cone +Cone2 +Cone3 +Cone4 +Cone5 +Cone6 +Cube +Cylinder +Delaunay3D +Delaunay3DAlpha +DiffuseSpheres +DumpXMLFile +FilledContours +FixedPointVolumeRayCastMapperCT +GPURenderDemo +Generate2DAMRDataSetWithPulse +Generate3DAMRDataSetWithPulse +GenerateCubesFromLabels +GenerateModelsFromLabels +HierarchicalBoxPipeline +ImageSlicing +LabeledMesh +Medical1 +Medical2 +Medical3 +Medical4 +MultiBlock +ParticleReader +RGrid +SGrid +Slider +Slider2D +SpecularSpheres +TubesWithVaryingRadiusAndColors +finance +EOF + +# Install examples +%if "%{flavor}" == "" +for file in `cat examples.list`; do + install -p build/bin/$file %{buildroot}%{my_bindir} +done +perl -pi -e's,^,%{my_bindir}/,' examples.list +%endif + +%endif + +# Move licenses to licensedir instead of %%{my_datadir}/licenses +mkdir -p %{buildroot}%{_licensedir} +mv %{buildroot}%{my_datadir}/licenses/VTK %{buildroot}%{_licensedir}/%{name} + +%if ! %{with mpi} +# Generate and install python distribution metadata +pushd build/%{_lib}/python%{python3_version}/site-packages/ +python3 setup.py install_egg_info -d %{buildroot}%{python3_sitearch} +popd +%endif + +%fdupes %{buildroot} + +%check +# Make sure the python library is at least importable +%if %{with mpi} +source %{mpiprefix}/bin/mpivars.sh +export _PYTHON_MPI_PREFIX=`echo %{buildroot}%{my_libdir}/py*/site-packages/` +export PYTHONPATH=$_PYTHON_MPI_PREFIX:$PYTHONPATH +%endif +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{my_libdir} +export PYTHONPATH=$PYTHONPATH:%{buildroot}%{python3_sitearch} +PYTHONDONTWRITEBYTECODE=1 python3 -c "import vtk" +find %{buildroot} . -name vtk.cpython-3*.pyc -print -delete # drop unreproducible time-based .pyc file +# Unittests +%if %{with testing} +%ctest +%endif + +%post -n %{shlib} -p /sbin/ldconfig +%postun -n %{shlib} -p /sbin/ldconfig +%if %{with java} +%post java -p /sbin/ldconfig +%postun java -p /sbin/ldconfig +%endif +%post qt -p /sbin/ldconfig +%postun qt -p /sbin/ldconfig +%post -n python3-%{name} -p /sbin/ldconfig +%postun -n python3-%{name} -p /sbin/ldconfig + +%files -n %{shlib} +%license Copyright.txt +%{my_libdir}/lib*.so.* +%exclude %{my_libdir}/libvtk*Qt*.so.* +%exclude %{my_libdir}/libvtk*Python*.so.* + +%files devel +%license Copyright.txt +%license %{_datadir}/licenses/%{name}/ +%if %{without gles} +%{my_bindir}/vtkProbeOpenGLVersion +%endif +%{my_bindir}/%{pkgname}WrapHierarchy +# Should go into java-devel, but referenced by VTK-targets*.cmake +%{my_bindir}/%{pkgname}WrapJava +%{my_bindir}/%{pkgname}ParseJava +%{my_bindir}/%{pkgname}WrapPython +%{my_bindir}/%{pkgname}WrapPythonInit +%{my_libdir}/*.so +%{my_libdir}/vtk-%{series} +%{?with_mpi: %dir %{my_libdir}/cmake/} +%{my_libdir}/cmake/%{pkgname}-%{series}/ +%{my_incdir}/%{pkgname}-%{series}/ +# VTK JNI +%exclude %{my_libdir}/libvtkJava.so +%exclude %{my_libdir}/cmake/%{pkgname}-%{series}/VTKJava-*.cmake + +%if %{with documentation} +%files devel-doc +%license Copyright.txt +%{_docdir}/%{name}-%{series} +%endif + +%if %{with java} +%files java +%license Copyright.txt +# VTK JNI +%{my_libdir}/java/ + +%files java-devel +%{my_libdir}/libvtkJava.so +%{my_libdir}/cmake/%{pkgname}-%{series}/VTKJava-*.cmake +%endif + +%files -n python3-%{name} +%license Copyright.txt +%{my_bindir}/%{pkgname}python +%{my_libdir}/libvtk*Python*.so.* +%if %{with mpi} +%{my_bindir}/p%{pkgname}python +%{my_libdir}/py* +%else +%{python3_sitearch}/vtk.py +%{python3_sitearch}/vtk-%{version}*-info +%{python3_sitearch}/vtkmodules +%endif + +%files qt +%license Copyright.txt +%{my_libdir}/libvtk*Qt*.so.* +%if %{with mpi} +%dir %{my_libdir}/qt5 +%{my_libdir}/qt5/qml +%else +%{_libqt5_archdatadir}/qml +%endif + +%if %{with examples} +%if "%{flavor}" == "" +%files examples -f examples.list +%license Copyright.txt +%endif +%endif + +%changelog