From d4d99e1c44287f391a280e312abe19ed9eb6c02f89fd59ef502994a2011db040 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= Date: Thu, 25 Nov 2021 00:20:17 +0000 Subject: [PATCH 1/3] Accepting request 933294 from home:StefanBruens:branches:science - 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 OBS-URL: https://build.opensuse.org/request/show/933294 OBS-URL: https://build.opensuse.org/package/show/science/vtk?expand=0&rev=170 --- ...d-required-for-GLES-to-disable-stere.patch | 93 ++++++- ...-libm-link-library-to-kissfft-module.patch | 25 ++ ...-Allow-compilation-on-GLES-platforms.patch | 75 ------ ...Python-Metadata-when-WRAP_PYTHON-is-.patch | 95 +++++++ ...HON_SITE_PACKAGES_SUFFIX-for-Python-.patch | 68 +++++ ...AddFile_-function-signature-mismatch.patch | 36 --- ...is-only-available-for-Compatibility-.patch | 16 +- ...-check-for-QOpenGLFunctions_3_2_Core.patch | 96 ------- ...GL_LINE-with-GL_LINES-for-glDrawArra.patch | 28 -- ...DrawBuffer-call-with-glDrawBuffers-1.patch | 46 ---- 0001-clean-up-some-old-opengl-es-stuff.patch | 247 ------------------ 0001-expose-1d-texture-options.patch | 35 --- 0002-Guard-GL_LINE_SMOOTH-for-GLES.patch | 42 --- ...ER0-instead-of-GL_DRAW_BUFFER-for-GL.patch | 86 +++--- VTK-9.0.1.tar.gz | 3 - VTK-9.1.0.tar.gz | 3 + _multibuild | 2 +- ...etype-2.10.3-replace-FT_CALLBACK_DEF.patch | 37 --- vtk-opensuse-python-metadata.patch | 45 ---- vtk-std_numeric_limits.patch | 70 ----- vtk.changes | 30 +++ vtk.spec | 124 +++------ 22 files changed, 381 insertions(+), 921 deletions(-) create mode 100644 0001-Add-missing-libm-link-library-to-kissfft-module.patch delete mode 100644 0001-Allow-compilation-on-GLES-platforms.patch create mode 100644 0001-Always-generate-Python-Metadata-when-WRAP_PYTHON-is-.patch create mode 100644 0001-Consider-VTK_PYTHON_SITE_PACKAGES_SUFFIX-for-Python-.patch delete mode 100644 0001-Fix-PyVTKAddFile_-function-signature-mismatch.patch delete mode 100644 0001-Remove-duplicate-check-for-QOpenGLFunctions_3_2_Core.patch delete mode 100644 0001-Replace-invalid-GL_LINE-with-GL_LINES-for-glDrawArra.patch delete mode 100644 0001-Replace-last-glDrawBuffer-call-with-glDrawBuffers-1.patch delete mode 100644 0001-clean-up-some-old-opengl-es-stuff.patch delete mode 100644 0001-expose-1d-texture-options.patch delete mode 100644 0002-Guard-GL_LINE_SMOOTH-for-GLES.patch delete mode 100644 VTK-9.0.1.tar.gz create mode 100644 VTK-9.1.0.tar.gz delete mode 100644 vtk-freetype-2.10.3-replace-FT_CALLBACK_DEF.patch delete mode 100644 vtk-opensuse-python-metadata.patch delete mode 100644 vtk-std_numeric_limits.patch 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 index 218fc11..e53de61 100644 --- a/0001-Add-missing-guard-required-for-GLES-to-disable-stere.patch +++ b/0001-Add-missing-guard-required-for-GLES-to-disable-stere.patch @@ -1,22 +1,28 @@ -From a9c31af9e6edd45ae01fb2712ad7a3c0d3e3cc37 Mon Sep 17 00:00:00 2001 +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() will evaluate to false for GLES, guard the whole block -so GL_BACK_* is not used. -Qt already includes the OpenGL/GLES headers, so GL_ES_VERSION_2_0 will -be defined for Qt GLES builds. +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 | 2 ++ - 1 file changed, 2 insertions(+) + 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 335feb581c..b692b5490a 100644 +index 067e27cf6e..79bd714f58 100644 --- a/GUISupport/Qt/QVTKOpenGLWindow.cxx +++ b/GUISupport/Qt/QVTKOpenGLWindow.cxx -@@ -231,6 +231,7 @@ void QVTKOpenGLWindow::paintGL() +@@ -259,6 +259,7 @@ void QVTKOpenGLWindow::paintGL() const QSize deviceSize = this->size() * this->devicePixelRatioF(); const auto fmt = this->context()->format(); @@ -24,14 +30,73 @@ index 335feb581c..b692b5490a 100644 if (fmt.stereo() && this->RenderWindow->GetStereoRender() && this->RenderWindow->GetStereoType() == VTK_STEREO_CRYSTAL_EYES) { -@@ -240,6 +241,7 @@ void QVTKOpenGLWindow::paintGL() - this->defaultFramebufferObject(), GL_BACK_RIGHT, QRect(QPoint(0, 0), deviceSize)); +@@ -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->RenderWindowAdapter->blit( - this->defaultFramebufferObject(), GL_BACK, QRect(QPoint(0, 0), deviceSize)); + 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 +diff --git a/ThirdParty/glew/vtk_glew.h.in b/ThirdParty/glew/vtk_glew.h.in +index 1763e79319..8b3074b357 100644 +--- a/ThirdParty/glew/vtk_glew.h.in ++++ b/ThirdParty/glew/vtk_glew.h.in +@@ -52,10 +52,8 @@ + + /* some fixes for both ES 2 and 3 */ + #ifdef GL_ES_VERSION_3_0 +-#define GL_BACK_LEFT 0 +-#define GL_BACK_RIGHT 0 +-#define GL_FRONT_LEFT 0 +-#define GL_FRONT_RIGHT 0 ++#define GL_BACK_LEFT GL_BACK ++#define GL_FRONT_LEFT GL_FRONT + + /* this sends all the data each time as opposed to allowing a subset */ + #define glMultiDrawElements(mode, counts, type, indicies, primcount) \ -- -2.27.0 +2.33.1 diff --git a/0001-Add-missing-libm-link-library-to-kissfft-module.patch b/0001-Add-missing-libm-link-library-to-kissfft-module.patch new file mode 100644 index 0000000..796bbfd --- /dev/null +++ b/0001-Add-missing-libm-link-library-to-kissfft-module.patch @@ -0,0 +1,25 @@ +From 2e1ac7f5d5045286cbcce8e1787e1e98281e4b9f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Sat, 20 Nov 2021 19:28:57 +0100 +Subject: [PATCH] Add missing libm link library to kissfft module + +Fixes #18390. +--- + ThirdParty/kissfft/vtkkissfft/CMakeLists.txt | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/ThirdParty/kissfft/vtkkissfft/CMakeLists.txt b/ThirdParty/kissfft/vtkkissfft/CMakeLists.txt +index 6cb26cd44f..3e583cffc7 100644 +--- a/ThirdParty/kissfft/vtkkissfft/CMakeLists.txt ++++ b/ThirdParty/kissfft/vtkkissfft/CMakeLists.txt +@@ -40,3 +40,7 @@ endif () + target_include_directories(kissfft + PRIVATE + "$") ++ ++if(UNIX) ++ vtk_module_link(VTK::kissfft PRIVATE m) ++endif() +-- +2.33.1 + diff --git a/0001-Allow-compilation-on-GLES-platforms.patch b/0001-Allow-compilation-on-GLES-platforms.patch deleted file mode 100644 index c7189ee..0000000 --- a/0001-Allow-compilation-on-GLES-platforms.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 5c4e4e5832613e758b7c1389a5dbcc1d57db7c6e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Tue, 9 Jun 2020 17:11:12 +0200 -Subject: [PATCH] Allow compilation on GLES platforms - -On GLES 2.0 platforms (more specifically, for Qt5 "opengl es2" builds), -QOpenGLFunctions_3_2_Core does not exist. Since Qt 5.7, -QOpenGlFramebufferObject has a static wrapper method for framebuffer -blitting, which in worst case (i.e. no GL_EXT_framebuffer blit -extension) is a noop, but handles all GL platform differences otherwise -(3.2 Core context, GLES 3.0, or any earlier with required extensions). - -The code ignores the passed in targetId FBO handle, but relies on -the default framebuffer object of the context. As the calling code calls -QOpenGLWindow::makeCurrent() the context default FBO is the one returned -by QOpenGLWindow::defaultFramebufferObject(). ---- - GUISupport/Qt/QVTKRenderWindowAdapter.cxx | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) - -diff --git a/GUISupport/Qt/QVTKRenderWindowAdapter.cxx b/GUISupport/Qt/QVTKRenderWindowAdapter.cxx -index 5a66e236df..e5fc5a6135 100644 ---- a/GUISupport/Qt/QVTKRenderWindowAdapter.cxx -+++ b/GUISupport/Qt/QVTKRenderWindowAdapter.cxx -@@ -334,12 +334,17 @@ public: - { - return false; - } -+#if QT_VERSION < QT_VERSION_CHECK(5, 7, 0) - QOpenGLFunctions_3_2_Core* f = this->Context->versionFunctions(); -+#else -+ QOpenGLFunctions* f = this->Context->functions(); -+#endif - if (!f) - { - return false; - } - -+#if QT_VERSION < QT_VERSION_CHECK(5, 7, 0) - f->glBindFramebuffer(GL_DRAW_FRAMEBUFFER, targetId); - f->glDrawBuffer(targetAttachment); - -@@ -358,6 +363,20 @@ public: - auto sourceSize = this->FBO->size(); - f->glBlitFramebuffer(0, 0, sourceSize.width(), sourceSize.height(), targetRect.x(), - targetRect.y(), targetRect.width(), targetRect.height(), GL_COLOR_BUFFER_BIT, GL_NEAREST); -+#else -+ GLboolean scissorTest = f->glIsEnabled(GL_SCISSOR_TEST); -+ if (scissorTest == GL_TRUE) -+ { -+ f->glDisable(GL_SCISSOR_TEST); // Scissor affects glBindFramebuffer. -+ } -+ auto sourceSize = this->FBO->size(); -+ QRect sourceRect(0, 0, sourceSize.width(), sourceSize.height()); -+ unsigned int readAttachment = -+ left ? this->RenderWindow->GetFrontLeftBuffer() : this->RenderWindow->GetFrontRightBuffer(); -+ QOpenGLFramebufferObject::blitFramebuffer(nullptr, targetRect, this->FBO.get(), sourceRect, -+ GL_COLOR_BUFFER_BIT, GL_NEAREST, readAttachment, targetAttachment, -+ QOpenGLFramebufferObject::DontRestoreFramebufferBinding); -+#endif - - this->clearAlpha(targetRect); - -@@ -436,7 +455,7 @@ public: - { - Q_ASSERT(this->Context && this->FBO); - -- QOpenGLFunctions_3_2_Core* f = this->Context->versionFunctions(); -+ QOpenGLFunctions* f = this->Context->functions(); - if (f) - { - // now clear alpha otherwise we end up blending the rendering with --- -2.27.0 - 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..6768209 --- /dev/null +++ b/0001-Consider-VTK_PYTHON_SITE_PACKAGES_SUFFIX-for-Python-.patch @@ -0,0 +1,68 @@ +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 +@@ -417,7 +417,7 @@ 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_soabi GLOBAL + PROPERTY _vtk_python_soabi) +-- +2.33.1 + diff --git a/0001-Fix-PyVTKAddFile_-function-signature-mismatch.patch b/0001-Fix-PyVTKAddFile_-function-signature-mismatch.patch deleted file mode 100644 index e993fb9..0000000 --- a/0001-Fix-PyVTKAddFile_-function-signature-mismatch.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 4253aefd5b5bf5f68177b37b73588ed83d05ac7e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Thu, 2 Jul 2020 19:29:04 +0200 -Subject: [PATCH] Fix PyVTKAddFile_* function signature mismatch - -The implementation generated in vtkWrapPython.c has void return type, as -noted by GCC when using LTO, e.g.: --- -./build/CMakeFiles/vtkRenderingOpenGL2PythonPython/vtkRenderingOpenGL2PythonInitImpl.cxx:85:24: warning: 'PyVTKAddFile_vtkPointFillPass' violates the C++ One Definition Rule [-Wodr] - 85 | extern "C" { PyObject *PyVTKAddFile_vtkPointFillPass(PyObject *dict); } - | ^ -./build/CMakeFiles/vtkRenderingOpenGL2Python/vtkPointFillPassPython.cxx:442:6: note: return value type mismatch - 442 | void PyVTKAddFile_vtkPointFillPass( - | ^ -./build/CMakeFiles/vtkRenderingOpenGL2Python/vtkPointFillPassPython.cxx:442:6: note: 'PyVTKAddFile_vtkPointFillPass' was previously declared here --- ---- - Wrapping/Tools/vtkWrapPythonInit.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Wrapping/Tools/vtkWrapPythonInit.c b/Wrapping/Tools/vtkWrapPythonInit.c -index 6b108c1aca..dcccd4cf5d 100644 ---- a/Wrapping/Tools/vtkWrapPythonInit.c -+++ b/Wrapping/Tools/vtkWrapPythonInit.c -@@ -61,7 +61,7 @@ static void CreateImplFile(const char* libName, const char* importName, int numD - - for (i = 0; i < numFiles; i++) - { -- fprintf(fout, "extern \"C\" { PyObject *PyVTKAddFile_%s(PyObject *dict); }\n", files[i]); -+ fprintf(fout, "extern \"C\" { void PyVTKAddFile_%s(PyObject *dict); }\n", files[i]); - } - - fprintf(fout, "\nstatic PyMethodDef Py%s_Methods[] = {\n", libName); --- -2.27.0 - diff --git a/0001-GL_POINT_SPRITE-is-only-available-for-Compatibility-.patch b/0001-GL_POINT_SPRITE-is-only-available-for-Compatibility-.patch index b833df6..ac9e991 100644 --- a/0001-GL_POINT_SPRITE-is-only-available-for-Compatibility-.patch +++ b/0001-GL_POINT_SPRITE-is-only-available-for-Compatibility-.patch @@ -1,18 +1,18 @@ -From 6b675d1fbb130480725ae5ed3f3bdd995e9b336a Mon Sep 17 00:00:00 2001 +From f65cf376980777639ac5ef52364678c87f1a721f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Fri, 17 Jul 2020 05:00:04 +0200 -Subject: [PATCH 1/2] GL_POINT_SPRITE is only available for Compatibility - Profiles and GLES 1.0 +Date: Sun, 21 Nov 2021 22:55:13 +0100 +Subject: [PATCH] GL_POINT_SPRITE is only available for Compatibility Profiles + and GLES 1.0 --- Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx -index 6cd90e0306..7b834fa6e5 100644 +index d30d61af5e..5a942bfda3 100644 --- a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx +++ b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx -@@ -1126,22 +1126,28 @@ void vtkOpenGLContextDevice2D::DrawPointSprites( +@@ -1123,20 +1123,26 @@ void vtkOpenGLContextDevice2D::DrawPointSprites( } // We can actually use point sprites here @@ -29,8 +29,6 @@ index 6cd90e0306..7b834fa6e5 100644 glDrawArrays(GL_POINTS, 0, n); - // free everything - cbo->ReleaseGraphicsResources(this->RenderWindow); +#ifdef GL_POINT_SPRITE if (this->RenderWindow->IsPointSpriteBugPresent()) { @@ -42,5 +40,5 @@ index 6cd90e0306..7b834fa6e5 100644 if (sprite) { -- -2.27.0 +2.33.1 diff --git a/0001-Remove-duplicate-check-for-QOpenGLFunctions_3_2_Core.patch b/0001-Remove-duplicate-check-for-QOpenGLFunctions_3_2_Core.patch deleted file mode 100644 index eb08d6c..0000000 --- a/0001-Remove-duplicate-check-for-QOpenGLFunctions_3_2_Core.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 6cc902225a0c4fe8567071ce6518d5861218ca6a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Tue, 9 Jun 2020 17:34:39 +0200 -Subject: [PATCH 1/3] Remove duplicate check for QOpenGLFunctions_3_2_Core* - -The return value is already checked in QVTKRenderWindowAdapter::blit(), -no need to do it twice. ---- - GUISupport/Qt/QVTKOpenGLNativeWidget.cxx | 12 +++------ - GUISupport/Qt/QVTKOpenGLWindow.cxx | 32 ++++++++++-------------- - 2 files changed, 16 insertions(+), 28 deletions(-) - -diff --git a/GUISupport/Qt/QVTKOpenGLNativeWidget.cxx b/GUISupport/Qt/QVTKOpenGLNativeWidget.cxx -index 9f058c7141..054079793a 100644 ---- a/GUISupport/Qt/QVTKOpenGLNativeWidget.cxx -+++ b/GUISupport/Qt/QVTKOpenGLNativeWidget.cxx -@@ -19,7 +19,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -237,14 +236,9 @@ void QVTKOpenGLNativeWidget::paintGL() - // before proceeding with blit-ing. - this->makeCurrent(); - -- QOpenGLFunctions_3_2_Core* f = -- QOpenGLContext::currentContext()->versionFunctions(); -- if (f) -- { -- const QSize deviceSize = this->size() * this->devicePixelRatioF(); -- this->RenderWindowAdapter->blit( -- this->defaultFramebufferObject(), GL_COLOR_ATTACHMENT0, QRect(QPoint(0, 0), deviceSize)); -- } -+ const QSize deviceSize = this->size() * this->devicePixelRatioF(); -+ this->RenderWindowAdapter->blit( -+ this->defaultFramebufferObject(), GL_COLOR_ATTACHMENT0, QRect(QPoint(0, 0), deviceSize)); - } - else - { -diff --git a/GUISupport/Qt/QVTKOpenGLWindow.cxx b/GUISupport/Qt/QVTKOpenGLWindow.cxx -index 8311ac24a8..9c97121db9 100644 ---- a/GUISupport/Qt/QVTKOpenGLWindow.cxx -+++ b/GUISupport/Qt/QVTKOpenGLWindow.cxx -@@ -19,7 +19,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -230,25 +229,20 @@ void QVTKOpenGLWindow::paintGL() - // before proceeding with blit-ing. - this->makeCurrent(); - -- QOpenGLFunctions_3_2_Core* f = -- QOpenGLContext::currentContext()->versionFunctions(); -- if (f) -+ const QSize deviceSize = this->size() * this->devicePixelRatioF(); -+ const auto fmt = this->context()->format(); -+ if (fmt.stereo() && this->RenderWindow->GetStereoRender() && -+ this->RenderWindow->GetStereoType() == VTK_STEREO_CRYSTAL_EYES) - { -- const QSize deviceSize = this->size() * this->devicePixelRatioF(); -- const auto fmt = this->context()->format(); -- if (fmt.stereo() && this->RenderWindow->GetStereoRender() && -- this->RenderWindow->GetStereoType() == VTK_STEREO_CRYSTAL_EYES) -- { -- this->RenderWindowAdapter->blitLeftEye( -- this->defaultFramebufferObject(), GL_BACK_LEFT, QRect(QPoint(0, 0), deviceSize)); -- this->RenderWindowAdapter->blitRightEye( -- this->defaultFramebufferObject(), GL_BACK_RIGHT, QRect(QPoint(0, 0), deviceSize)); -- } -- else -- { -- this->RenderWindowAdapter->blit( -- this->defaultFramebufferObject(), GL_BACK, QRect(QPoint(0, 0), deviceSize)); -- } -+ this->RenderWindowAdapter->blitLeftEye( -+ this->defaultFramebufferObject(), GL_BACK_LEFT, QRect(QPoint(0, 0), deviceSize)); -+ this->RenderWindowAdapter->blitRightEye( -+ this->defaultFramebufferObject(), GL_BACK_RIGHT, QRect(QPoint(0, 0), deviceSize)); -+ } -+ else -+ { -+ this->RenderWindowAdapter->blit( -+ this->defaultFramebufferObject(), GL_BACK, QRect(QPoint(0, 0), deviceSize)); - } - } - else --- -2.27.0 - diff --git a/0001-Replace-invalid-GL_LINE-with-GL_LINES-for-glDrawArra.patch b/0001-Replace-invalid-GL_LINE-with-GL_LINES-for-glDrawArra.patch deleted file mode 100644 index 2347aff..0000000 --- a/0001-Replace-invalid-GL_LINE-with-GL_LINES-for-glDrawArra.patch +++ /dev/null @@ -1,28 +0,0 @@ -From cce31fb588c24c56848cb4ec28b10f2831232374 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Sat, 18 Jul 2020 02:09:18 +0200 -Subject: [PATCH] Replace invalid GL_LINE with GL_LINES for glDrawArrays - -GL_LINE applies to glPolygonMode, but glDrawArrays uses GL_LINES. - -(cherry picked from commit bd241df6c5804875d879c4649915e3e83172ba3f) ---- - Rendering/ContextOpenGL2/vtkOpenGLContextDevice3D.cxx | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice3D.cxx b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice3D.cxx -index c55968d3b8..d24eeeda75 100644 ---- a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice3D.cxx -+++ b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice3D.cxx -@@ -431,7 +431,7 @@ void vtkOpenGLContextDevice3D::DrawLines( - this->BuildVBO(cbo, verts, n, colors, nc, nullptr); - this->SetMatrices(cbo->Program); - -- glDrawArrays(GL_LINE, 0, n); -+ glDrawArrays(GL_LINES, 0, n); - - // free everything - cbo->ReleaseGraphicsResources(this->RenderWindow); --- -2.27.0 - diff --git a/0001-Replace-last-glDrawBuffer-call-with-glDrawBuffers-1.patch b/0001-Replace-last-glDrawBuffer-call-with-glDrawBuffers-1.patch deleted file mode 100644 index f16beaa..0000000 --- a/0001-Replace-last-glDrawBuffer-call-with-glDrawBuffers-1.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 98857882cdd0a08a5102d663dc9510e6343adbfa Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Sun, 28 Jun 2020 22:13:32 +0200 -Subject: [PATCH 1/2] Replace last glDrawBuffer call with glDrawBuffers(1, ...) - -glDrawBuffer is only available in Desktop OpenGL, while the equivalent -glDrawBuffers is valid also for GLES. - -Just defining glDrawBuffer as an empty macro is obviously not the right -solution, as the call is also required on GLES. This also causes -a compilation failure - GL.h may be included via GLX.h on X11 platforms, -and the glDrawBuffer prototype declaration becomes malformed. ---- - Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h | 3 ++- - ThirdParty/glew/vtk_glew.h.in | 1 - - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h -index ddeeb04d38..2e1cc9cbf2 100644 ---- a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h -+++ b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h -@@ -324,7 +324,8 @@ public: - - if (this->SavedDrawBuffer != GL_BACK_LEFT) - { -- glDrawBuffer(this->SavedDrawBuffer); -+ const GLenum bufs[1] = { static_cast(this->SavedDrawBuffer) }; -+ ::glDrawBuffers(1, bufs); - } - - ostate->vtkglClearColor(this->SavedClearColor[0], this->SavedClearColor[1], -diff --git a/ThirdParty/glew/vtk_glew.h.in b/ThirdParty/glew/vtk_glew.h.in -index 009f230b19..1763e79319 100644 ---- a/ThirdParty/glew/vtk_glew.h.in -+++ b/ThirdParty/glew/vtk_glew.h.in -@@ -52,7 +52,6 @@ - - /* some fixes for both ES 2 and 3 */ - #ifdef GL_ES_VERSION_3_0 --#define glDrawBuffer(arg) - #define GL_BACK_LEFT 0 - #define GL_BACK_RIGHT 0 - #define GL_FRONT_LEFT 0 --- -2.27.0 - diff --git a/0001-clean-up-some-old-opengl-es-stuff.patch b/0001-clean-up-some-old-opengl-es-stuff.patch deleted file mode 100644 index 5b60fc3..0000000 --- a/0001-clean-up-some-old-opengl-es-stuff.patch +++ /dev/null @@ -1,247 +0,0 @@ -From 13956bf0d47391046e7bb08bb0b581d0850738a9 Mon Sep 17 00:00:00 2001 -From: Ken Martin -Date: Tue, 23 Jun 2020 14:31:15 -0400 -Subject: [PATCH] clean up some old opengl es stuff - -No longer have the version option so remove - -Partially implement 1D textures as 2D ---- - Examples/Android/ReadMe.txt | 6 +- - Rendering/OpenGL2/CMakeLists.txt | 6 +- - Rendering/OpenGL2/vtkTextureObject.cxx | 95 +++++++++++++++++++++++++- - ThirdParty/glew/vtk_glew.h.in | 45 ++++++------ - 4 files changed, 118 insertions(+), 34 deletions(-) - -diff --git a/Examples/Android/ReadMe.txt b/Examples/Android/ReadMe.txt -index 7b43476bdd..9c6f5a102d 100644 ---- a/Examples/Android/ReadMe.txt -+++ b/Examples/Android/ReadMe.txt -@@ -41,10 +41,6 @@ To build VTK and these examples follow the steps below. - * Run cmake on vtkandroid with -DVTK_ANDROID_BUILD=ON, if you use the gui add a - * boolean entry with that name prior to configuring and set it on. - --If you want OpenGL ES 3.0 support make sure to change the setting of --OPENGL_ES_VERSION to 3.0. Volume Rendering requires ES 3.0. Make sure to turn on --VTK_BUILD_EXAMPLES -- - * configure and generate as usual - - * Once done run ninja or make as appropriate -@@ -60,4 +56,4 @@ cd into CMakeExternals/Build/vtk-android/Examples/Android/ExampleName/bin - - You should see some apk files in this directory. - --You can adb install -r ExampleName-debug.apk and then run the example on your device -\ No newline at end of file -+You can adb install -r ExampleName-debug.apk and then run the example on your device -diff --git a/Rendering/OpenGL2/CMakeLists.txt b/Rendering/OpenGL2/CMakeLists.txt -index da43adb85f..0ea0ee3200 100644 ---- a/Rendering/OpenGL2/CMakeLists.txt -+++ b/Rendering/OpenGL2/CMakeLists.txt -@@ -3,6 +3,7 @@ set(classes - vtkClearRGBPass - vtkClearZPass - vtkCompositePolyDataMapper2 -+ vtkDataTransferHelper - vtkDefaultPass - vtkDepthImageProcessingPass - vtkDepthOfFieldPass -@@ -93,11 +94,6 @@ set(classes - vtkValuePass - vtkVolumetricPass) - --if (NOT DEFINED OPENGL_ES_VERSION) -- list(APPEND classes -- vtkDataTransferHelper) --endif() -- - set(headers - vtkCompositePolyDataMapper2Internal.h - vtkOpenGL.h - vtkStateStorage.h -diff --git a/Rendering/OpenGL2/vtkTextureObject.cxx b/Rendering/OpenGL2/vtkTextureObject.cxx -index 6afef26d97..b491c62e89 100644 ---- a/Rendering/OpenGL2/vtkTextureObject.cxx -+++ b/Rendering/OpenGL2/vtkTextureObject.cxx -@@ -1030,6 +1030,99 @@ bool vtkTextureObject::CreateTextureBuffer( - - #else - -+// Emulate 1D textures as 2D. Note that the any shader code will likely -+// have to be modified as well for this to work. -+ -+//------------------------------------------------------------------------------ -+bool vtkTextureObject::Create1D( -+ int numComps, vtkPixelBufferObject* pbo, bool shaderSupportsTextureInt) -+{ -+ assert(this->Context); -+ assert(pbo->GetContext() == this->Context.GetPointer()); -+ -+ GLenum target = GL_TEXTURE_2D; -+ -+ // Now, determine texture parameters using the information from the pbo. -+ -+ // * internalFormat depends on number of components and the data type. -+ GLenum internalFormat = -+ this->GetInternalFormat(pbo->GetType(), numComps, shaderSupportsTextureInt); -+ -+ // * format depends on the number of components. -+ GLenum format = this->GetFormat(pbo->GetType(), numComps, shaderSupportsTextureInt); -+ -+ // * type if the data type in the pbo -+ GLenum type = this->GetDefaultDataType(pbo->GetType()); -+ -+ if (!internalFormat || !format || !type) -+ { -+ vtkErrorMacro("Failed to determine texture parameters."); -+ return false; -+ } -+ -+ this->Target = target; -+ this->Context->ActivateTexture(this); -+ this->CreateTexture(); -+ this->Bind(); -+ -+ pbo->Bind(vtkPixelBufferObject::UNPACKED_BUFFER); -+ -+ // Source texture data from the PBO. -+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1); -+ glTexImage2D(target, 0, static_cast(internalFormat), -+ static_cast(pbo->GetSize() / static_cast(numComps)), 1, 0, format, type, -+ BUFFER_OFFSET(0)); -+ vtkOpenGLCheckErrorMacro("failed at glTexImage1D"); -+ pbo->UnBind(); -+ this->Deactivate(); -+ -+ this->Target = target; -+ this->Format = format; -+ this->Type = type; -+ this->Components = numComps; -+ this->Width = pbo->GetSize(); -+ this->Height = 1; -+ this->Depth = 1; -+ this->NumberOfDimensions = 1; -+ return true; -+} -+ -+//------------------------------------------------------------------------------ -+bool vtkTextureObject::Create1DFromRaw(unsigned int width, int numComps, int dataType, void* data) -+{ -+ assert(this->Context); -+ -+ // Now determine the texture parameters using the arguments. -+ this->GetDataType(dataType); -+ this->GetInternalFormat(dataType, numComps, false); -+ this->GetFormat(dataType, numComps, false); -+ -+ if (!this->InternalFormat || !this->Format || !this->Type) -+ { -+ vtkErrorMacro("Failed to determine texture parameters."); -+ return false; -+ } -+ -+ GLenum target = GL_TEXTURE_2D; -+ this->Target = target; -+ this->Components = numComps; -+ this->Width = width; -+ this->Height = 1; -+ this->Depth = 1; -+ this->NumberOfDimensions = 1; -+ this->Context->ActivateTexture(this); -+ this->CreateTexture(); -+ this->Bind(); -+ -+ glTexImage2D(this->Target, 0, this->InternalFormat, static_cast(this->Width), 1, 0, -+ this->Format, this->Type, static_cast(data)); -+ -+ vtkOpenGLCheckErrorMacro("failed at glTexImage1D"); -+ -+ this->Deactivate(); -+ return true; -+} -+ - // Description: - // Create a texture buffer basically a 1D texture that can be - // very large for passing data into the fragment shader -@@ -1037,7 +1130,7 @@ bool vtkTextureObject::CreateTextureBuffer( - unsigned int numValues, int numComps, int dataType, vtkOpenGLBufferObject* bo) - { - assert(this->Context); -- vtkErrorMacro("TextureBuffers not supported in OPenGL ES"); -+ vtkErrorMacro("TextureBuffers not supported in OpenGL ES"); - // TODO: implement 1D and Texture buffers using 2D textures - return false; - } -diff --git a/ThirdParty/glew/vtk_glew.h.in b/ThirdParty/glew/vtk_glew.h.in -index 6aa8c2ee9e..009f230b19 100644 ---- a/ThirdParty/glew/vtk_glew.h.in -+++ b/ThirdParty/glew/vtk_glew.h.in -@@ -35,42 +35,41 @@ - #endif - - #if VTK_MODULE_vtkglew_GLES3 --# include -+#include - #elif TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR --# include -+#include - #elif VTK_MODULE_USE_EXTERNAL_vtkglew --# include --# ifdef _WIN32 --# include --# endif -+#include -+#ifdef _WIN32 -+#include -+#endif - #else --# include --# ifdef _WIN32 --# include --# endif -+#include -+#ifdef _WIN32 -+#include -+#endif - #endif - - /* some fixes for both ES 2 and 3 */ - #ifdef GL_ES_VERSION_3_0 --# define glDrawBuffer(arg) --# define GL_BACK_LEFT 0 --# define GL_BACK_RIGHT 0 --# define GL_FRONT_LEFT 0 --# define GL_FRONT_RIGHT 0 -+#define glDrawBuffer(arg) -+#define GL_BACK_LEFT 0 -+#define GL_BACK_RIGHT 0 -+#define GL_FRONT_LEFT 0 -+#define GL_FRONT_RIGHT 0 - - /* this sends all the data each time as opposed to allowing a subset */ --# define glMultiDrawElements(mode, counts, type, indicies, primcount) \ -- for (size_t eCount = 0; eCount < primcount; ++eCount) \ -- { \ -- glDrawElements(mode, *(counts + eCount), \ -- type, (GLvoid *)(indicies[eCount])); \ -- } -+#define glMultiDrawElements(mode, counts, type, indicies, primcount) \ -+ for (size_t eCount = 0; eCount < primcount; ++eCount) \ -+ { \ -+ glDrawElements(mode, *(counts + eCount), type, (GLvoid*)(indicies[eCount])); \ -+ } - #endif - - /*** deal with some GLES 3.0 specific issues ***/ - #ifdef GL_ES_VERSION_3_0 --# define GLEW_ARB_vertex_array_object 1 --# define GLEW_ARB_instanced_arrays 1 -+#define GLEW_ARB_vertex_array_object 1 -+#define GLEW_ARB_instanced_arrays 1 - #endif - - #endif --- -2.27.0 - diff --git a/0001-expose-1d-texture-options.patch b/0001-expose-1d-texture-options.patch deleted file mode 100644 index c0a1c42..0000000 --- a/0001-expose-1d-texture-options.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 18b9e99bcc2550515e2f725f1b0c70904068c945 Mon Sep 17 00:00:00 2001 -From: Ken Martin -Date: Mon, 6 Jul 2020 10:48:40 -0400 -Subject: [PATCH] expose 1d texture options - -They are partially implemented as 2d textures ---- - Rendering/OpenGL2/vtkTextureObject.h | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/Rendering/OpenGL2/vtkTextureObject.h b/Rendering/OpenGL2/vtkTextureObject.h -index b6dcdf6ba7..fe018c75f9 100644 ---- a/Rendering/OpenGL2/vtkTextureObject.h -+++ b/Rendering/OpenGL2/vtkTextureObject.h -@@ -226,9 +226,6 @@ public: - bool CreateCubeFromRaw( - unsigned int width, unsigned int height, int numComps, int dataType, void* data[6]); - --// 1D textures are not supported in ES 2.0 or 3.0 --#ifndef GL_ES_VERSION_3_0 -- - /** - * Create a 1D texture using the PBO. - * Eventually we may start supporting creating a texture from subset of data -@@ -245,7 +242,6 @@ public: - * Create 1D texture from client memory - */ - bool Create1DFromRaw(unsigned int width, int numComps, int dataType, void* data); --#endif - - /** - * Create a 2D texture using the PBO. --- -2.27.0 - diff --git a/0002-Guard-GL_LINE_SMOOTH-for-GLES.patch b/0002-Guard-GL_LINE_SMOOTH-for-GLES.patch deleted file mode 100644 index 35980ba..0000000 --- a/0002-Guard-GL_LINE_SMOOTH-for-GLES.patch +++ /dev/null @@ -1,42 +0,0 @@ -From f03ed2c663c30baac698d5b76a8ba4ea63776ce2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Fri, 17 Jul 2020 05:05:55 +0200 -Subject: [PATCH 2/2] Guard GL_LINE_SMOOTH for GLES - ---- - Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx -index 7b834fa6e5..cc376934dd 100644 ---- a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx -+++ b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx -@@ -332,10 +332,12 @@ void vtkOpenGLContextDevice2D::Begin(vtkViewport* viewport) - this->RenderWindow->GetShaderCache()->ReleaseCurrentShader(); - - // Enable simple line smoothing if multisampling is on. -+#ifdef GL_LINE_SMOOTH - if (this->Renderer->GetRenderWindow()->GetMultiSamples()) - { - glEnable(GL_LINE_SMOOTH); - } -+#endif - - this->InRender = true; - vtkOpenGLCheckErrorMacro("failed after Begin"); -@@ -359,10 +361,12 @@ void vtkOpenGLContextDevice2D::End() - this->Storage->RestoreGLState(ostate); - - // Disable simple line smoothing if multisampling is on. -+#ifdef GL_LINE_SMOOTH - if (this->Renderer->GetRenderWindow()->GetMultiSamples()) - { - glDisable(GL_LINE_SMOOTH); - } -+#endif - - this->PolyDataImpl->HandleEndFrame(); - --- -2.27.0 - 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 index 37252c1..e339318 100644 --- 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 @@ -1,10 +1,10 @@ -From 651b3bae914b9f3c69031c97a366e5cf53ead389 Mon Sep 17 00:00:00 2001 +From 068773541005f8d8f027b373a01c821788439c8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Thu, 16 Jul 2020 19:54:38 +0200 -Subject: [PATCH 2/2] Use GL_DRAW_BUFFER0 instead of GL_DRAW_BUFFER for GLES +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 so it is always +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). @@ -14,15 +14,15 @@ 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 +- - .../vtkOpenGLContextDevice2DPrivate.h | 2 +- - .../External/vtkExternalOpenGLRenderWindow.cxx | 2 +- - Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx | 12 ++++++------ - Rendering/OpenGL2/vtkOpenGLState.cxx | 16 ++++++++-------- - 5 files changed, 17 insertions(+), 17 deletions(-) + .../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 06abb5e7e6..0d39638869 100644 +index c0e0f8909f..dd6a93bde3 100644 --- a/Rendering/ContextOpenGL2/vtkOpenGLContextBufferId.cxx +++ b/Rendering/ContextOpenGL2/vtkOpenGLContextBufferId.cxx @@ -139,7 +139,7 @@ vtkIdType vtkOpenGLContextBufferId::GetPickedItem(int x, int y) @@ -35,7 +35,7 @@ index 06abb5e7e6..0d39638869 100644 vtkOpenGLState::ScopedglEnableDisable dsaver(ostate, GL_DEPTH_TEST); vtkOpenGLState::ScopedglEnableDisable ssaver(ostate, GL_STENCIL_TEST); diff --git a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h -index 5632547459..17e2f182ef 100644 +index 29e5f47671..7acb87e25f 100644 --- a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h +++ b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h @@ -309,7 +309,7 @@ public: @@ -48,10 +48,10 @@ index 5632547459..17e2f182ef 100644 } diff --git a/Rendering/External/vtkExternalOpenGLRenderWindow.cxx b/Rendering/External/vtkExternalOpenGLRenderWindow.cxx -index c95b50ac64..291c4e1e61 100644 +index 445bfce802..5e1f2f4b24 100644 --- a/Rendering/External/vtkExternalOpenGLRenderWindow.cxx +++ b/Rendering/External/vtkExternalOpenGLRenderWindow.cxx -@@ -60,7 +60,7 @@ void vtkExternalOpenGLRenderWindow::Start(void) +@@ -58,7 +58,7 @@ void vtkExternalOpenGLRenderWindow::Start() // For stereo, render the correct eye based on the OpenGL buffer mode GLint bufferType; @@ -61,21 +61,10 @@ index c95b50ac64..291c4e1e61 100644 vtkRenderer* renderer; for (this->GetRenderers()->InitTraversal(sit); diff --git a/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx b/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx -index 4bda9330b6..14cd43711f 100644 +index 25b521bd0d..426aa69f08 100644 --- a/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx +++ b/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx -@@ -533,8 +533,8 @@ bool vtkOpenGLRenderWindow::InitializeFromCurrentContext() - { - this->DefaultFrameBufferId = frameBufferBinding; - GLint attachment = GL_COLOR_ATTACHMENT0; --#ifdef GL_DRAW_BUFFER -- glGetIntegerv(GL_DRAW_BUFFER, &attachment); -+#ifdef GL_DRAW_BUFFER0 -+ glGetIntegerv(GL_DRAW_BUFFER0, &attachment); - #endif - this->BackLeftBuffer = static_cast(attachment); - this->FrontLeftBuffer = static_cast(attachment); -@@ -660,8 +660,8 @@ bool vtkOpenGLRenderWindow::GetUsingSRGBColorSpace() +@@ -583,8 +583,8 @@ bool vtkOpenGLRenderWindow::GetUsingSRGBColorSpace() this->MakeCurrent(); GLint attachment = GL_BACK_LEFT; @@ -86,7 +75,7 @@ index 4bda9330b6..14cd43711f 100644 #endif // GL seems odd with its handling of left/right. // if it says we are using GL_FRONT or GL_BACK -@@ -716,8 +716,8 @@ int vtkOpenGLRenderWindow::GetColorBufferSizes(int* rgba) +@@ -639,8 +639,8 @@ int vtkOpenGLRenderWindow::GetColorBufferSizes(int* rgba) { this->MakeCurrent(); GLint attachment = GL_BACK_LEFT; @@ -98,10 +87,10 @@ index 4bda9330b6..14cd43711f 100644 #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 3822fe7bd0..dbec8329dd 100644 +index 24f23a5c44..aca4e4f247 100644 --- a/Rendering/OpenGL2/vtkOpenGLState.cxx +++ b/Rendering/OpenGL2/vtkOpenGLState.cxx -@@ -205,8 +205,8 @@ void vtkOpenGLState::CheckState() +@@ -217,8 +217,8 @@ void vtkOpenGLState::CheckState() error = true; } unsigned int sval; @@ -109,42 +98,31 @@ index 3822fe7bd0..dbec8329dd 100644 - ::glGetIntegerv(GL_DRAW_BUFFER, iparams); +#ifdef GL_DRAW_BUFFER0 + ::glGetIntegerv(GL_DRAW_BUFFER0, iparams); - sval = this->CurrentState.DrawBinding.GetDrawBuffer(0); + sval = cs.DrawBinding.GetDrawBuffer(0); if (sval == GL_BACK_LEFT) { -@@ -518,8 +518,8 @@ void vtkOpenGLState::vtkglBindFramebuffer(unsigned int target, unsigned int val) - this->CurrentState.DrawBinding.Binding = val; - this->CurrentState.DrawBinding.Framebuffer = nullptr; +@@ -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*)&this->CurrentState.DrawBinding.DrawBuffers[0]); +- ::glGetIntegerv(GL_DRAW_BUFFER, (int*)&cs.DrawBinding.DrawBuffers[0]); +#ifdef GL_DRAW_BUFFER0 -+ ::glGetIntegerv(GL_DRAW_BUFFER0, (int*)&this->CurrentState.DrawBinding.DrawBuffers[0]); ++ ::glGetIntegerv(GL_DRAW_BUFFER0, (int*)&cs.DrawBinding.DrawBuffers[0]); #endif } } -@@ -1222,8 +1222,8 @@ void vtkOpenGLState::Initialize(vtkOpenGLRenderWindow*) - unsigned int vals[1]; - vals[0] = this->CurrentState.DrawBinding.GetDrawBuffer(0); - ::glDrawBuffers(1, vals); --#ifdef GL_DRAW_BUFFER -- ::glGetIntegerv(GL_DRAW_BUFFER, (int*)&this->CurrentState.DrawBinding.DrawBuffers[0]); -+#ifdef GL_DRAW_BUFFER0 -+ ::glGetIntegerv(GL_DRAW_BUFFER0, (int*)&this->CurrentState.DrawBinding.DrawBuffers[0]); - #endif - ::glReadBuffer(this->CurrentState.ReadBinding.GetReadBuffer()); - ::glGetIntegerv(GL_READ_BUFFER, (int*)&this->CurrentState.ReadBinding.ReadBuffer); -@@ -1232,8 +1232,8 @@ void vtkOpenGLState::Initialize(vtkOpenGLRenderWindow*) - void vtkOpenGLState::ResetFramebufferBindings() +@@ -1626,8 +1626,8 @@ void vtkOpenGLState::ResetFramebufferBindings() { - ::glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, (int*)&this->CurrentState.DrawBinding.Binding); + auto& cs = this->Stack.top(); + ::glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, (int*)&cs.DrawBinding.Binding); -#ifdef GL_DRAW_BUFFER -- ::glGetIntegerv(GL_DRAW_BUFFER, (int*)&this->CurrentState.DrawBinding.DrawBuffers[0]); +- ::glGetIntegerv(GL_DRAW_BUFFER, (int*)&cs.DrawBinding.DrawBuffers[0]); +#ifdef GL_DRAW_BUFFER0 -+ ::glGetIntegerv(GL_DRAW_BUFFER0, (int*)&this->CurrentState.DrawBinding.DrawBuffers[0]); ++ ::glGetIntegerv(GL_DRAW_BUFFER0, (int*)&cs.DrawBinding.DrawBuffers[0]); #endif - ::glGetIntegerv(GL_READ_FRAMEBUFFER_BINDING, (int*)&this->CurrentState.ReadBinding.Binding); + ::glGetIntegerv(GL_READ_FRAMEBUFFER_BINDING, (int*)&cs.ReadBinding.Binding); -- -2.27.0 +2.33.1 diff --git a/VTK-9.0.1.tar.gz b/VTK-9.0.1.tar.gz deleted file mode 100644 index e52462f..0000000 --- a/VTK-9.0.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1b39a5e191c282861e7af4101eaa8585969a2de05f5646c9199a161213a622c7 -size 34687900 diff --git a/VTK-9.1.0.tar.gz b/VTK-9.1.0.tar.gz new file mode 100644 index 0000000..dc22afe --- /dev/null +++ b/VTK-9.1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fed42f4f8f1eb8083107b68eaa9ad71da07110161a3116ad807f43e5ca5ce96 +size 47871165 diff --git a/_multibuild b/_multibuild index f9d8d70..a51314d 100644 --- a/_multibuild +++ b/_multibuild @@ -1,5 +1,5 @@ - openmpi openmpi2 openmpi3 + openmpi4 diff --git a/vtk-freetype-2.10.3-replace-FT_CALLBACK_DEF.patch b/vtk-freetype-2.10.3-replace-FT_CALLBACK_DEF.patch deleted file mode 100644 index ef9341f..0000000 --- a/vtk-freetype-2.10.3-replace-FT_CALLBACK_DEF.patch +++ /dev/null @@ -1,37 +0,0 @@ -Index: VTK-9.0.1/Rendering/FreeType/vtkFreeTypeTools.cxx -=================================================================== ---- VTK-9.0.1.orig/Rendering/FreeType/vtkFreeTypeTools.cxx -+++ VTK-9.0.1/Rendering/FreeType/vtkFreeTypeTools.cxx -@@ -378,7 +378,7 @@ FTC_CMapCache* vtkFreeTypeTools::GetCMap - } - - //---------------------------------------------------------------------------- --FT_CALLBACK_DEF(FT_Error) -+extern "C" FT_Error - vtkFreeTypeToolsFaceRequester( - FTC_FaceID face_id, FT_Library lib, FT_Pointer request_data, FT_Face* face) - { -Index: VTK-9.0.1/Rendering/FreeTypeFontConfig/vtkFontConfigFreeTypeTools.cxx -=================================================================== ---- VTK-9.0.1.orig/Rendering/FreeTypeFontConfig/vtkFontConfigFreeTypeTools.cxx -+++ VTK-9.0.1/Rendering/FreeTypeFontConfig/vtkFontConfigFreeTypeTools.cxx -@@ -26,10 +26,8 @@ - - vtkStandardNewMacro(vtkFontConfigFreeTypeTools); - --namespace --{ - // The FreeType face requester callback: --FT_CALLBACK_DEF(FT_Error) -+extern "C" FT_Error - vtkFontConfigFreeTypeToolsFaceRequester( - FTC_FaceID face_id, FT_Library lib, FT_Pointer request_data, FT_Face* face) - { -@@ -71,7 +69,6 @@ vtkFontConfigFreeTypeToolsFaceRequester( - - return static_cast(0); - } --} // end anon namespace - - void vtkFontConfigFreeTypeTools::PrintSelf(ostream& os, vtkIndent indent) - { diff --git a/vtk-opensuse-python-metadata.patch b/vtk-opensuse-python-metadata.patch deleted file mode 100644 index b536c2f..0000000 --- a/vtk-opensuse-python-metadata.patch +++ /dev/null @@ -1,45 +0,0 @@ -Index: VTK-9.0.1/CMakeLists.txt -=================================================================== ---- VTK-9.0.1.orig/CMakeLists.txt -+++ VTK-9.0.1/CMakeLists.txt -@@ -48,6 +48,8 @@ include(vtkCMakeBackports) - - if (VTK_WHEEL_BUILD) - include(vtkWheelPreparation) -+elseif(VTK_OPENSUSE_PYTHON_BUILD) -+ include(vtkPythonMetadataPrepare) - endif () - - include(vtkCompilerChecks) -@@ -474,7 +476,7 @@ install( - - # TODO: HeaderTest exclusions for memcheck. - --if (VTK_WHEEL_BUILD) -+if (VTK_WHEEL_BUILD OR VTK_OPENSUSE_PYTHON_BUILD) - include(vtkWheelFinalization) - endif () - -Index: VTK-9.0.1/CMake/vtkPythonMetadataPrepare.cmake -=================================================================== ---- /dev/null -+++ VTK-9.0.1/CMake/vtkPythonMetadataPrepare.cmake -@@ -0,0 +1,18 @@ -+# copied from vtkWheelPrepare, but without forcing wheel specific options -+ -+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/vtk-std_numeric_limits.patch b/vtk-std_numeric_limits.patch deleted file mode 100644 index 5cc0721..0000000 --- a/vtk-std_numeric_limits.patch +++ /dev/null @@ -1,70 +0,0 @@ -From c7d6a8d81367a4ed92163c059aa3181386eabc24 Mon Sep 17 00:00:00 2001 -From: Ben Boeckel -Date: Mon, 3 May 2021 11:55:27 -0400 -Subject: [PATCH] vtkDataArrayPrivate: include for std::numeric_limits - -See: #18194 ---- - Common/Core/vtkDataArrayPrivate.txx | 1 + - 1 file changed, 1 insertion(+) - -Index: VTK-9.0.1/Common/Core/vtkDataArrayPrivate.txx -=================================================================== ---- VTK-9.0.1.orig/Common/Core/vtkDataArrayPrivate.txx -+++ VTK-9.0.1/Common/Core/vtkDataArrayPrivate.txx -@@ -24,6 +24,7 @@ - #include - #include - #include // for assert() -+#include - #include - - namespace vtkDataArrayPrivate -Index: VTK-9.0.1/Common/Core/vtkGenericDataArrayLookupHelper.h -=================================================================== ---- VTK-9.0.1.orig/Common/Core/vtkGenericDataArrayLookupHelper.h -+++ VTK-9.0.1/Common/Core/vtkGenericDataArrayLookupHelper.h -@@ -25,6 +25,7 @@ - #include "vtkIdList.h" - #include - #include -+#include - #include - #include - -Index: VTK-9.0.1/Common/DataModel/vtkPiecewiseFunction.cxx -=================================================================== ---- VTK-9.0.1.orig/Common/DataModel/vtkPiecewiseFunction.cxx -+++ VTK-9.0.1/Common/DataModel/vtkPiecewiseFunction.cxx -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - #include - #include - -Index: VTK-9.0.1/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx -=================================================================== ---- VTK-9.0.1.orig/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx -+++ VTK-9.0.1/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx -@@ -28,6 +28,7 @@ - #include "vtkHyperTreeGridNonOrientedCursor.h" - - #include -+#include - - vtkStandardNewMacro(vtkHyperTreeGridThreshold); - -Index: VTK-9.0.1/Rendering/Core/vtkColorTransferFunction.cxx -=================================================================== ---- VTK-9.0.1.orig/Rendering/Core/vtkColorTransferFunction.cxx -+++ VTK-9.0.1/Rendering/Core/vtkColorTransferFunction.cxx -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - #include - #include - diff --git a/vtk.changes b/vtk.changes index cd22ad5..7fc4f6f 100644 --- a/vtk.changes +++ b/vtk.changes @@ -1,3 +1,33 @@ +------------------------------------------------------------------- +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 + ------------------------------------------------------------------- Sat Jun 19 21:04:19 UTC 2021 - Ben Greiner diff --git a/vtk.spec b/vtk.spec index dbed3c2..08c09cf 100644 --- a/vtk.spec +++ b/vtk.spec @@ -21,13 +21,6 @@ %bcond_with examples %bcond_with documentation -%if 0%{?sle_version} >= 150200 -%define DisOMPI1 ExclusiveArch: do_not_build -%endif -%if !0%{?is_opensuse} && 0%{?sle_version:1} && 0%{?sle_version} < 150200 -%define DisOMPI3 ExclusiveArch: do_not_build -%endif - %ifarch %arm aarch64 %bcond_without gles %else @@ -45,15 +38,8 @@ %bcond_without gl2ps %endif -# pegtl in Leap 15.1 is too old (< 2.0.0) -# JAVA bindings fail to build -%if 0%{?sle_version} == 150100 -%bcond_with java -%bcond_with pegtl -%else %bcond_without java %bcond_without pegtl -%endif # Need patched version with HPDF_SHADING %bcond_with haru @@ -67,18 +53,6 @@ %define my_datadir %_datadir %endif -%if "%{flavor}" == "openmpi" -%{?DisOMPI1} -%if 0%{?suse_version} >= 1550 -%define my_suffix -openmpi1 -%define mpi_flavor openmpi1 -%else -%define my_suffix -openmpi -%define mpi_flavor openmpi -%endif -%define mpiprefix %{_libdir}/mpi/gcc/%{mpi_flavor} -%endif - %if "%{flavor}" == "openmpi2" %define my_suffix -openmpi2 %define mpi_flavor openmpi2 @@ -92,6 +66,13 @@ %define mpiprefix %{_libdir}/mpi/gcc/%{mpi_flavor} %endif +%if "%{flavor}" == "openmpi4" +%{?DisOMPI4} +%define my_suffix -openmpi4 +%define mpi_flavor openmpi4 +%define mpiprefix %{_libdir}/mpi/gcc/%{mpi_flavor} +%endif + %{?mpi_flavor:%{bcond_without mpi}}%{!?mpi_flavor:%{bcond_with mpi}} %if %{with mpi} @@ -106,9 +87,9 @@ %define shlib %{vtklib} Name: vtk%{?my_suffix} -Version: 9.0.1 +Version: 9.1.0 Release: 0 -%define series 9.0 +%define series 9.1 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. @@ -122,16 +103,6 @@ Source: https://www.vtk.org/files/release/%{series}/VTK-%{version}.tar.g 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-UPSTREAM -Patch2: 0001-clean-up-some-old-opengl-es-stuff.patch -# PATCH-FIX-UPSTREAM -Patch3: 0001-expose-1d-texture-options.patch -# PATCH-FIX-UPSTREAM -- prep for GLES patch, VTK issue #17113 stefan.bruens@rwth-aachen.de -Patch4: 0001-Remove-duplicate-check-for-QOpenGLFunctions_3_2_Core.patch -# PATCH-FIX-UPSTREAM 0001-Allow-compilation-on-GLES-platforms.patch VTK issue #17113 stefan.bruens@rwth-aachen.de -- Fix building with Qt GLES builds -Patch5: 0001-Allow-compilation-on-GLES-platforms.patch -# PATCH-FIX-UPSTREAM -- Fix building with Qt GLES builds -Patch6: 0001-Replace-last-glDrawBuffer-call-with-glDrawBuffers-1.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 @@ -140,23 +111,16 @@ Patch8: 0001-Correct-GL_BACK-GL_BACK_LEFT-mapping-on-GLES.patch Patch9: 0002-Use-GL_DRAW_BUFFER0-instead-of-GL_DRAW_BUFFER-for-GL.patch # PATCH-FIX-UPSTREAM Patch10: 0001-GL_POINT_SPRITE-is-only-available-for-Compatibility-.patch -# PATCH-FIX-OPENSUSE -- GLES - Does no longer apply to upstream code -Patch11: 0002-Guard-GL_LINE_SMOOTH-for-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 -Patch12: 0001-Guard-glPointSize-with-GL_ES_VERSION_3_0.patch -# PATCH-FIX-UPSTREAM -- https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7098 -Patch13: 0001-Fix-PyVTKAddFile_-function-signature-mismatch.patch -# PATCH-FIX-UPSTREAM -- https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7115 -Patch14: 0001-Replace-invalid-GL_LINE-with-GL_LINES-for-glDrawArra.patch -# PATCH-FIX-UPSTREAM -- https://gitlab.kitware.com/vtk/vtk/-/issues/18033 -Patch15: vtk-freetype-2.10.3-replace-FT_CALLBACK_DEF.patch -# PATCH-FIX-UPSTREAM -- https://gitlab.kitware.com/vtk/vtk/-/issues/18194 -Patch16: vtk-std_numeric_limits.patch -# PATCH-FIX-OPENSUSE -- create python package metadata (egg-info) despite not building a wheel -Patch17: vtk-opensuse-python-metadata.patch +Patch19: 0001-Add-missing-libm-link-library-to-kissfft-module.patch BuildRequires: R-base-devel +BuildRequires: cgns-devel BuildRequires: chrpath -BuildRequires: cmake >= 3.4 +BuildRequires: cmake >= 3.12 BuildRequires: double-conversion-devel BuildRequires: fdupes BuildRequires: gcc-c++ @@ -177,9 +141,9 @@ BuildRequires: pkgconfig(Qt5OpenGL) BuildRequires: pkgconfig(Qt5OpenGLExtensions) BuildRequires: pkgconfig(Qt5Sql) BuildRequires: pkgconfig(Qt5Widgets) -BuildRequires: pkgconfig(eigen3) >= 2.91.0 +BuildRequires: pkgconfig(eigen3) >= 3.3.9 BuildRequires: pkgconfig(expat) -BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(freetype2) >= 2.11.0 BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glew) BuildRequires: pkgconfig(jsoncpp) @@ -188,7 +152,7 @@ BuildRequires: pkgconfig(libavdevice) BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libavutil) BuildRequires: pkgconfig(libiodbc) -BuildRequires: pkgconfig(liblz4) >= 1.7.3 +BuildRequires: pkgconfig(liblz4) >= 1.8.0 BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libswscale) BuildRequires: pkgconfig(libxml-2.0) @@ -398,24 +362,15 @@ languages. %prep %setup -n VTK-%{version} %patch1 -p1 -%patch2 -p1 -%patch3 -p1 %if %{with gles} -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 -%patch12 -p1 %endif -%patch13 -p1 -%patch14 -p1 -%patch15 -p1 -%patch16 -p1 %patch17 -p1 +%patch18 -p1 +%patch19 -p1 # Replace relative path ../../../../VTKData with %%{_datadir}/vtkdata # otherwise it will break on symlinks. @@ -436,13 +391,12 @@ 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 -# -DOpenGL_GL_PREFERENCE:STRING='LEGACY' - see https://gitlab.kitware.com/vtk/vtk/-/merge_requests/6946#note_767329 +# 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} \ - -DVTK_INSTALL_LIBRARY_DIR:PATH=%{_lib} \ - -DVTK_INSTALL_PACKAGE_DIR:PATH=%{_lib}/cmake/%{pkgname} \ + -DCMAKE_INSTALL_QMLDIR:PATH=%{my_libdir}/qt5/qml \ -DVTK_PYTHON_OPTIONAL_LINK:BOOL=OFF \ -DVTK_BUILD_TESTING:BOOL=ON \ -DVTK_BUILD_EXAMPLES:BOOL=%{?with_examples:ON}%{!?with_examples:OFF} \ @@ -469,20 +423,21 @@ export CXXFLAGS="%{optflags}" -DVTK_GROUP_ENABLE_StandAlone=WANT \ -DVTK_GROUP_ENABLE_Views=WANT \ -DVTK_PYTHON_VERSION=3 \ - -DVTK_OPENSUSE_PYTHON_BUILD:BOOL=ON \ - -DVTK_USE_OGGTHEORA_ENCODER:BOOL=ON \ - -DJava_JAVAH_EXECUTABLE=%{_bindir}/true \ -DVTK_WRAP_JAVA:BOOL=%{?with_java:ON}%{!?with_java:OFF} \ -DVTK_WRAP_PYTHON:BOOL=ON \ - -DVTK_USE_EXTERNAL: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_fmt:BOOL=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_pegtl=%{?with_pegtl:YES}%{!?with_pegtl:NO} - - #-DVTK_EXTERNAL_LIBHARU_IS_SHARED:BOOL=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 @@ -551,16 +506,13 @@ mkdir -p %{buildroot}%{_licensedir} mv %{buildroot}%{my_datadir}/licenses/VTK %{buildroot}%{_licensedir}/%{name} %if ! %{with mpi} -# install python distribution metadata despite not building a wheel -buildsitearch=%{python3_sitearch} -buildsitearch=${buildsitearch/\/usr/build} -cp build/{setup.py,README.md,MANIFEST.in,requirements.txt,vtk_features.py} ${buildsitearch}/ -pushd ${buildsitearch} +# 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 -s %{buildroot} +%fdupes %{buildroot} %check # Make sure the python library is at least importable @@ -572,7 +524,7 @@ export PYTHONPATH=$_PYTHON_MPI_PREFIX:$PYTHONPATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{my_libdir} export PYTHONPATH=$PYTHONPATH:%{buildroot}%{python3_sitearch} python3 -c "import vtk" -find %{buildroot} . -name vtk.cpython-3*.pyc -delete # drop unreproducible time-based .pyc file +find %{buildroot} . -name vtk.cpython-3*.pyc -print -delete # drop unreproducible time-based .pyc file %post -n %{shlib} -p /sbin/ldconfig %postun -n %{shlib} -p /sbin/ldconfig @@ -641,6 +593,12 @@ find %{buildroot} . -name vtk.cpython-3*.pyc -delete # drop unreproducible time- %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}" == "" From 51b5f32e7a09e603d72e094f06e34d7d731c0abc3c4aec077acc9c7fba4cac90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= Date: Thu, 25 Nov 2021 00:25:01 +0000 Subject: [PATCH 2/3] Accepting request 933606 from home:StefanBruens:branches:science MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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) - 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?). - 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. - Add vtk-freetype-2.10.3-replace-FT_CALLBACK_DEF.patch to fix compilation with FreeType 2.10.3+ - 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 - Drop -ffat-lto-objects to avoid wasting disk space - Update _constraints to avoid OOM errors - 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. - 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. - 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. - add reproducible.patch to override build date and to sort entries (boo#1047218, boo#1041090) - 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). - 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. - Add patch to fix building with python 3.8: * python38.patch - 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. - Adapt to openmpi -> openmpi1 rename on Tumbleweed. - Spec file cleanup, remove conditionals for Leap 42.x. - Apply proj4 compatibility patch also on Leap. - Use -ffat-lto-objects when building static libraries. - Add more explicit dependencies to vtk-devel. - Add an explicit 'Requires: double-conversion-devel' for vtk-devel. The double-conversion library is mentioned in vtkdoubleconversion.cmake but isn't automatically installed. - 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 - Correct names of built packages, the mpi flavors were lacking the flavor specific name infix, i.e. all flavors were named identically. - Add openmpi2 flavor - BuildRequire netcdf-{mpi_flavor}-devel for MPI flavors - Add Conflicts between flavors of python3 subpackage (all flavors install into python_sitearch). - 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 - 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 - 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. - Drop post[un] scripts for devel and java subpackages; they are only needed for the versioned shlib. - 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. - Use split libboost*-devel BuildRequires for TW and Leap/SLE 15 - 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. - Drop vtk-Rinterface-uintptr_t.patch as the related plugin has been retired. - 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. - 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. - Move BuildRequires: libQtWebKit-devel (Qt4) inside the else version < 13.2 - Add conflict between the -devel-doc variants. - Setup MPI environment before building. - Rectify RPM groups again. - 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. - Split the API documentation from the development subpackage. The documentation amounts to almost 1 GByte of data, not necessary when just building packages. - 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. - 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 - 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 - devel subpackage should require -tcl, -java and -qt subpackages since the *.cmake files refer to files in those subpackages - 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 - 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. - 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. - Move libvtkViewsGeovisJava.so to the %{name}-java subpackage, this is not really a devel file. - Fix RPM groups. Use POSIX-compliant find call. - 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. - Trim descriptions and rectify RPM groups. - add liblz4-devel and libharu-devel also to Requires of devel package (fixes linking errors in other packages) - 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. - 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 - 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). - 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. - Add freetype2-devel as a Requires for vtk-devel. - Apply vtk-gcc6.patch also to python-vtk. - Fixed RPATH error for Factory by passing the option CMAKE_NO_BUILTIN_CHRPATH:BOOL=ON to cmake. - add vtk-gcc6.patch: Fix build with gcc 6 - skip RPATH setting - openmpi-libs will be installed with openmpi-devel if necessary. No such package on openSUSE 13.1. - Add disk constraints - 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. - vtkdata should be a Recommends for vtk-examples, not Requires. - 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. - python-vtk also needs openmpi-devel at runtime. - python-vtk should have Requires on openmpi-libs to enable its parallelized modules to work. - use qt5 for factory - Add libxml2-devel/netcdf-devel/libnetcdf_c++-devel Requires to vtk-devel - Add jsoncpp-devel Requires to vtk-devel (for openSUSE > 13.2): vtkjsoncpp.cmake has set(vtkjsoncpp_LIBRARIES "/usr/lib64/libjsoncpp.so"). - 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. - Add MPI support - 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. - 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. - 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. - 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. - 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. - build python-qt and java binding for openSUSE version higher than 11.2 which fixes build on SLE 11 - 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. - Remove openmotif dependency - 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. - Fix compilation with boost 1.49 and enable boost again - 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 - Reverted the source file change since it didn't work - Changed the license text a little - 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 - 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) - 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 - fix the missing soname for libVTKnetcdf_cxx - Fix the broken vtk-qt package - Fix dependencies for openSUSE 11.2 and SLE 11 - Fix build problems with openSUSE 11.4 - Restored vtk-string-length.patch to solve buffer overflow errors during string copy operations - Added vtk-sqldatabaseschema.patch (from upstream) to fix compilation errors with python enabled - Update to version 5.6.1, rebase existing patches and remove unnecessary ones - 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 ------------------------------------------------------------------ - Extended buffer size in VTK/Utilities/kwsys/SystemInformation.cxx OBS-URL: https://build.opensuse.org/request/show/933606 OBS-URL: https://build.opensuse.org/package/show/science/vtk?expand=0&rev=171 --- vtk.changes | 1 + vtk.spec | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/vtk.changes b/vtk.changes index 7fc4f6f..d138708 100644 --- a/vtk.changes +++ b/vtk.changes @@ -27,6 +27,7 @@ Thu Nov 18 04:03:36 UTC 2021 - Stefan Brüns + 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 diff --git a/vtk.spec b/vtk.spec index 08c09cf..fb086b6 100644 --- a/vtk.spec +++ b/vtk.spec @@ -117,7 +117,6 @@ Patch17: 0001-Always-generate-Python-Metadata-when-WRAP_PYTHON-is-.patch Patch18: 0001-Consider-VTK_PYTHON_SITE_PACKAGES_SUFFIX-for-Python-.patch # PATCH-FIX-UPSTREAM Patch19: 0001-Add-missing-libm-link-library-to-kissfft-module.patch -BuildRequires: R-base-devel BuildRequires: cgns-devel BuildRequires: chrpath BuildRequires: cmake >= 3.12 @@ -219,7 +218,7 @@ Group: Development/Libraries/C and C++ %{?with_java:Requires: %{name}-java = %{version}} Requires: %{name}-qt = %{version} Requires: %{shlib} = %{version} -Requires: R-core-devel +Requires: cgns-devel Requires: cmake >= 3.4 Requires: double-conversion-devel Requires: gcc-c++ From 238c77cf62e11d284b608c27c030a5514ad7a4278ca66af12d5e371bff52c7f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= Date: Thu, 25 Nov 2021 00:35:45 +0000 Subject: [PATCH 3/3] OBS-URL: https://build.opensuse.org/package/show/science/vtk?expand=0&rev=172 --- ...d-glPointSize-with-GL_ES_VERSION_3_0.patch | 43 ------------------- 1 file changed, 43 deletions(-) delete mode 100644 0001-Guard-glPointSize-with-GL_ES_VERSION_3_0.patch diff --git a/0001-Guard-glPointSize-with-GL_ES_VERSION_3_0.patch b/0001-Guard-glPointSize-with-GL_ES_VERSION_3_0.patch deleted file mode 100644 index f419f79..0000000 --- a/0001-Guard-glPointSize-with-GL_ES_VERSION_3_0.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 5dff10d6a3c2e19eed46af4639ade2ff0ca10d98 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Sat, 18 Jul 2020 02:22:45 +0200 -Subject: [PATCH] Guard glPointSize with GL_ES_VERSION_3_0 - -glPointSize is not available in GLES, so just disable the call on GLES -like done elsewhere. ---- - Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx | 2 ++ - Rendering/ContextOpenGL2/vtkOpenGLContextDevice3D.cxx | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx -index cc376934dd..5f4eed5401 100644 ---- a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx -+++ b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx -@@ -1912,7 +1912,9 @@ void vtkOpenGLContextDevice2D::SetPointSize(float size) - { - gl2ps->SetPointSize(size); - } -+#ifndef GL_ES_VERSION_3_0 - glPointSize(size); -+#endif - } - - //----------------------------------------------------------------------------- -diff --git a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice3D.cxx b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice3D.cxx -index d24eeeda75..ab46faf8ca 100644 ---- a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice3D.cxx -+++ b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice3D.cxx -@@ -452,7 +452,9 @@ void vtkOpenGLContextDevice3D::DrawPoints( - - this->EnableDepthBuffer(); - -+#ifndef GL_ES_VERSION_3_0 - glPointSize(this->Pen->GetWidth()); -+#endif - - vtkOpenGLHelper* cbo = nullptr; - if (colors) --- -2.27.0 -