Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package vtk for openSUSE:Factory checked in at 2021-11-25 23:05:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vtk (Old) and /work/SRC/openSUSE:Factory/.vtk.new.1895 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vtk" Thu Nov 25 23:05:40 2021 rev:53 rq:933608 version:9.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/vtk/vtk.changes 2021-06-28 15:33:53.411205200 +0200 +++ /work/SRC/openSUSE:Factory/.vtk.new.1895/vtk.changes 2021-11-25 23:05:59.785225966 +0100 @@ -1,0 +2,31 @@ +Thu Nov 18 04:03:36 UTC 2021 - Stefan Br??ns <stefan.bru...@rwth-aachen.de> + +- 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) + +------------------------------------------------------------------- Old: ---- 0001-Allow-compilation-on-GLES-platforms.patch 0001-Fix-PyVTKAddFile_-function-signature-mismatch.patch 0001-Guard-glPointSize-with-GL_ES_VERSION_3_0.patch 0001-Remove-duplicate-check-for-QOpenGLFunctions_3_2_Core.patch 0001-Replace-invalid-GL_LINE-with-GL_LINES-for-glDrawArra.patch 0001-Replace-last-glDrawBuffer-call-with-glDrawBuffers-1.patch 0001-clean-up-some-old-opengl-es-stuff.patch 0001-expose-1d-texture-options.patch 0002-Guard-GL_LINE_SMOOTH-for-GLES.patch VTK-9.0.1.tar.gz vtk-freetype-2.10.3-replace-FT_CALLBACK_DEF.patch vtk-opensuse-python-metadata.patch vtk-std_numeric_limits.patch New: ---- 0001-Add-missing-libm-link-library-to-kissfft-module.patch 0001-Always-generate-Python-Metadata-when-WRAP_PYTHON-is-.patch 0001-Consider-VTK_PYTHON_SITE_PACKAGES_SUFFIX-for-Python-.patch VTK-9.1.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vtk.spec ++++++ --- /var/tmp/diff_new_pack.4HYJPE/_old 2021-11-25 23:06:01.093221454 +0100 +++ /var/tmp/diff_new_pack.4HYJPE/_new 2021-11-25 23:06:01.097221440 +0100 @@ -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 @@ Source99: vtk-rpmlintrc # PATCH-FIX-OPENSUSE bundled_libharu_add_missing_libm.patch stefan.bru...@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.bru...@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.bru...@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,15 @@ 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 -BuildRequires: R-base-devel +Patch19: 0001-Add-missing-libm-link-library-to-kissfft-module.patch +BuildRequires: cgns-devel BuildRequires: chrpath -BuildRequires: cmake >= 3.4 +BuildRequires: cmake >= 3.12 BuildRequires: double-conversion-devel BuildRequires: fdupes BuildRequires: gcc-c++ @@ -177,9 +140,9 @@ 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 +151,7 @@ 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) @@ -255,7 +218,7 @@ %{?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++ @@ -398,24 +361,15 @@ %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 +390,12 @@ # 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 +422,21 @@ -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 +505,13 @@ 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 +523,7 @@ 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 +592,12 @@ %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}" == "" ++++++ 0001-Add-missing-guard-required-for-GLES-to-disable-stere.patch ++++++ --- /var/tmp/diff_new_pack.4HYJPE/_old 2021-11-25 23:06:01.129221330 +0100 +++ /var/tmp/diff_new_pack.4HYJPE/_new 2021-11-25 23:06:01.129221330 +0100 @@ -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?= <stefan.bru...@rwth-aachen.de> 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 @@ 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 ++++++ 0001-Add-missing-libm-link-library-to-kissfft-module.patch ++++++ >From 2e1ac7f5d5045286cbcce8e1787e1e98281e4b9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bru...@rwth-aachen.de> 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 "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>") + +if(UNIX) + vtk_module_link(VTK::kissfft PRIVATE m) +endif() -- 2.33.1 ++++++ 0001-Always-generate-Python-Metadata-when-WRAP_PYTHON-is-.patch ++++++ >From a08e2a67c1e6694ba2eb2631c7e8e371bd055b46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bru...@rwth-aachen.de> 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 ++++++ 0001-Consider-VTK_PYTHON_SITE_PACKAGES_SUFFIX-for-Python-.patch ++++++ >From 0cf33c4bf04596e368978e663aa4a2ea42289651 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bru...@rwth-aachen.de> 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 ++++++ 0001-GL_POINT_SPRITE-is-only-available-for-Compatibility-.patch ++++++ --- /var/tmp/diff_new_pack.4HYJPE/_old 2021-11-25 23:06:01.173221178 +0100 +++ /var/tmp/diff_new_pack.4HYJPE/_new 2021-11-25 23:06:01.177221164 +0100 @@ -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?= <stefan.bru...@rwth-aachen.de> -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 @@ glDrawArrays(GL_POINTS, 0, n); - // free everything - cbo->ReleaseGraphicsResources(this->RenderWindow); +#ifdef GL_POINT_SPRITE if (this->RenderWindow->IsPointSpriteBugPresent()) { @@ -42,5 +40,5 @@ if (sprite) { -- -2.27.0 +2.33.1 ++++++ 0002-Use-GL_DRAW_BUFFER0-instead-of-GL_DRAW_BUFFER-for-GL.patch ++++++ --- /var/tmp/diff_new_pack.4HYJPE/_old 2021-11-25 23:06:01.185221136 +0100 +++ /var/tmp/diff_new_pack.4HYJPE/_new 2021-11-25 23:06:01.185221136 +0100 @@ -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?= <stefan.bru...@rwth-aachen.de> -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 @@ 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 @@ 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 @@ } 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 @@ 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<unsigned int>(attachment); - this->FrontLeftBuffer = static_cast<unsigned int>(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 @@ #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 @@ #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 @@ - ::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 ++++++ VTK-9.0.1.tar.gz -> VTK-9.1.0.tar.gz ++++++ /work/SRC/openSUSE:Factory/vtk/VTK-9.0.1.tar.gz /work/SRC/openSUSE:Factory/.vtk.new.1895/VTK-9.1.0.tar.gz differ: char 12, line 1 ++++++ _multibuild ++++++ --- /var/tmp/diff_new_pack.4HYJPE/_old 2021-11-25 23:06:01.261220874 +0100 +++ /var/tmp/diff_new_pack.4HYJPE/_new 2021-11-25 23:06:01.261220874 +0100 @@ -1,5 +1,5 @@ <multibuild> - <package>openmpi</package> <package>openmpi2</package> <package>openmpi3</package> + <package>openmpi4</package> </multibuild>