From 5d008dab7108f68e8ac49982563c370cadd15610778c6ffaffdab6d73fe0efad Mon Sep 17 00:00:00 2001 From: Atri Bhattacharya Date: Tue, 12 Sep 2017 12:40:37 +0000 Subject: [PATCH 1/5] Accepting request 523407 from home:StefanBruens:branches:science - 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 OBS-URL: https://build.opensuse.org/request/show/523407 OBS-URL: https://build.opensuse.org/package/show/science/vtk?expand=0&rev=95 --- ...-Allow-compilation-on-GLES-platforms.patch | 55 +++++++++++++++++++ vtk-compat_gl.changes | 10 ++++ vtk-compat_gl.spec | 3 + vtk.changes | 10 ++++ vtk.spec | 3 + 5 files changed, 81 insertions(+) create mode 100644 0001-Allow-compilation-on-GLES-platforms.patch diff --git a/0001-Allow-compilation-on-GLES-platforms.patch b/0001-Allow-compilation-on-GLES-platforms.patch new file mode 100644 index 0000000..2b8b470 --- /dev/null +++ b/0001-Allow-compilation-on-GLES-platforms.patch @@ -0,0 +1,55 @@ +From 2d5a68b91f9d638aa408285d1608bc5d70060602 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Fri, 1 Sep 2017 02:11:37 +0200 +Subject: [PATCH] Allow compilation on GLES platforms +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +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 is a noop. + +Signed-off-by: Stefan BrĂ¼ns +--- + GUISupport/Qt/QVTKOpenGLWidget.cxx | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/GUISupport/Qt/QVTKOpenGLWidget.cxx b/GUISupport/Qt/QVTKOpenGLWidget.cxx +index a1676e8..16e255f 100644 +--- a/GUISupport/Qt/QVTKOpenGLWidget.cxx ++++ b/GUISupport/Qt/QVTKOpenGLWidget.cxx +@@ -421,10 +421,15 @@ void QVTKOpenGLWidget::paintGL() + + // blit from this->FBO to QOpenGLWidget's FBO. + vtkQVTKOpenGLWidgetDebugMacro("paintGL::blit-to-defaultFBO"); ++#if QT_VERSION < 0x050700 + QOpenGLFunctions_3_2_Core* f = + QOpenGLContext::currentContext()->versionFunctions(); ++#else ++ QOpenGLFunctions* f = QOpenGLContext::currentContext()->functions(); ++#endif + if (f) + { ++#if QT_VERSION < 0x050700 + f->glBindFramebuffer(GL_DRAW_FRAMEBUFFER, this->defaultFramebufferObject()); + f->glDrawBuffer(GL_COLOR_ATTACHMENT0); + +@@ -434,6 +439,13 @@ void QVTKOpenGLWidget::paintGL() + f->glBlitFramebuffer(0, 0, this->RenderWindow->GetSize()[0], this->RenderWindow->GetSize()[1], + 0, 0, this->RenderWindow->GetSize()[0], this->RenderWindow->GetSize()[1], GL_COLOR_BUFFER_BIT, + GL_NEAREST); ++#else ++ f->glDisable(GL_SCISSOR_TEST); // Scissor affects glBindFramebuffer. ++ QRect rect(0, 0, this->RenderWindow->GetSize()[0], this->RenderWindow->GetSize()[1]); ++ QOpenGLFramebufferObject::blitFramebuffer(0 /* binds to default framebuffer */, rect, ++ this->FBO, rect, GL_COLOR_BUFFER_BIT, GL_NEAREST, GL_COLOR_ATTACHMENT0, ++ GL_COLOR_ATTACHMENT0, QOpenGLFramebufferObject::DontRestoreFramebufferBinding); ++#endif + + // now clear alpha otherwise we end up blending the rendering with + // background windows in certain cases. It happens on OsX +-- +2.14.1 + diff --git a/vtk-compat_gl.changes b/vtk-compat_gl.changes index 5175f45..c66f805 100644 --- a/vtk-compat_gl.changes +++ b/vtk-compat_gl.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Sep 11 13:46:28 UTC 2017 - stefan.bruens@rwth-aachen.de + +- Add 0001-Allow-compilation-on-GLES-platforms.patch + The QOpenGLFunctions_3_2_Core class providing the framebuffer + blit functions is not available on GLES 2 builds of Qt5. Let Qt + handle the framebuffer blit, and just use the GLES/GL subset + provided by QOpenGLFunctions for the remainder. + Fix for https://gitlab.kitware.com/vtk/vtk/issues/17113 + ------------------------------------------------------------------- Fri Sep 1 00:13:18 UTC 2017 - badshah400@gmail.com diff --git a/vtk-compat_gl.spec b/vtk-compat_gl.spec index 7ed20b9..ecce771 100644 --- a/vtk-compat_gl.spec +++ b/vtk-compat_gl.spec @@ -54,6 +54,8 @@ Source1: vtk-rpmlintrc Patch1: vtk-fix-file-contains-date-time.patch # PATCH-FIX-UPSTREAM vtk-Rinterface-uintptr_t.patch boo#985386 badshah400@gmail.com -- Fix issues with uintptr_t redefinition by defining the HAVE_UINTPTR_T macro using cmake functions to avoid redefinition of uintptr_t, which is already defined in stdint.h called earlier; patch sent upstream Patch2: vtk-Rinterface-uintptr_t.patch +# PATCH-FIX-OPENSUSE 0001-Allow-compilation-on-GLES-platforms.patch VTK issue #17113 stefan.bruens@rwth-aachen.de -- Fix building with Qt GLES builds +Patch3: 0001-Allow-compilation-on-GLES-platforms.patch BuildRequires: Mesa-libGL-devel BuildRequires: R-base-devel BuildRequires: boost-devel @@ -290,6 +292,7 @@ This package provides a few testing programs for VTK. %setup -q -n VTK-%{version} %patch1 -p1 %patch2 -p1 +%patch3 -p1 # Replace relative path ../../../VTKData with %%{_datadir}/%%{pkgname}data-%%{version} # otherwise it will break on symlinks. diff --git a/vtk.changes b/vtk.changes index 5175f45..c66f805 100644 --- a/vtk.changes +++ b/vtk.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Sep 11 13:46:28 UTC 2017 - stefan.bruens@rwth-aachen.de + +- Add 0001-Allow-compilation-on-GLES-platforms.patch + The QOpenGLFunctions_3_2_Core class providing the framebuffer + blit functions is not available on GLES 2 builds of Qt5. Let Qt + handle the framebuffer blit, and just use the GLES/GL subset + provided by QOpenGLFunctions for the remainder. + Fix for https://gitlab.kitware.com/vtk/vtk/issues/17113 + ------------------------------------------------------------------- Fri Sep 1 00:13:18 UTC 2017 - badshah400@gmail.com diff --git a/vtk.spec b/vtk.spec index 8dee8fc..1ee9eef 100644 --- a/vtk.spec +++ b/vtk.spec @@ -54,6 +54,8 @@ Source1: vtk-rpmlintrc Patch1: vtk-fix-file-contains-date-time.patch # PATCH-FIX-UPSTREAM vtk-Rinterface-uintptr_t.patch boo#985386 badshah400@gmail.com -- Fix issues with uintptr_t redefinition by defining the HAVE_UINTPTR_T macro using cmake functions to avoid redefinition of uintptr_t, which is already defined in stdint.h called earlier; patch sent upstream Patch2: vtk-Rinterface-uintptr_t.patch +# PATCH-FIX-OPENSUSE 0001-Allow-compilation-on-GLES-platforms.patch VTK issue #17113 stefan.bruens@rwth-aachen.de -- Fix building with Qt GLES builds +Patch3: 0001-Allow-compilation-on-GLES-platforms.patch BuildRequires: Mesa-libGL-devel BuildRequires: R-base-devel BuildRequires: boost-devel @@ -290,6 +292,7 @@ This package provides a few testing programs for VTK. %setup -q -n VTK-%{version} %patch1 -p1 %patch2 -p1 +%patch3 -p1 # Replace relative path ../../../VTKData with %%{_datadir}/%%{pkgname}data-%%{version} # otherwise it will break on symlinks. From 5ec339fc5049ebcbbaeb03de0c8e3e3f50e6a5009f2f4dbb8175f96e0abbd0b3 Mon Sep 17 00:00:00 2001 From: Atri Bhattacharya Date: Wed, 13 Sep 2017 07:20:50 +0000 Subject: [PATCH 2/5] Accepting request 523727 from home:polyconvex:branches:science - devel subpackage should require -tcl, -java and -qt subpackages since the *.cmake files refer to files in those subpackages - devel subpackage should require -tcl, -java and -qt subpackages since the *.cmake files refer to files in those subpackages OBS-URL: https://build.opensuse.org/request/show/523727 OBS-URL: https://build.opensuse.org/package/show/science/vtk?expand=0&rev=97 --- vtk-compat_gl.changes | 6 ++++++ vtk-compat_gl.spec | 3 +++ vtk.changes | 6 ++++++ vtk.spec | 3 +++ 4 files changed, 18 insertions(+) diff --git a/vtk-compat_gl.changes b/vtk-compat_gl.changes index c66f805..1bfe2d9 100644 --- a/vtk-compat_gl.changes +++ b/vtk-compat_gl.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Sep 12 12:33:38 UTC 2017 - kkhere.geo@gmail.com + +- devel subpackage should require -tcl, -java and -qt subpackages + since the *.cmake files refer to files in those subpackages + ------------------------------------------------------------------- Mon Sep 11 13:46:28 UTC 2017 - stefan.bruens@rwth-aachen.de diff --git a/vtk-compat_gl.spec b/vtk-compat_gl.spec index ecce771..5edaec8 100644 --- a/vtk-compat_gl.spec +++ b/vtk-compat_gl.spec @@ -144,6 +144,9 @@ This package provides the shared libraries for VTK. %package devel Summary: VTK header files for building C++ code Group: Development/Libraries/C and C++ +Requires: %{name}-java = %{version} +Requires: %{name}-qt = %{version} +Requires: %{name}-tcl = %{version} Requires: %{shlib} = %{version} Requires: Mesa-libGL-devel Requires: R-base-devel diff --git a/vtk.changes b/vtk.changes index c66f805..1bfe2d9 100644 --- a/vtk.changes +++ b/vtk.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Sep 12 12:33:38 UTC 2017 - kkhere.geo@gmail.com + +- devel subpackage should require -tcl, -java and -qt subpackages + since the *.cmake files refer to files in those subpackages + ------------------------------------------------------------------- Mon Sep 11 13:46:28 UTC 2017 - stefan.bruens@rwth-aachen.de diff --git a/vtk.spec b/vtk.spec index 1ee9eef..ac02dd8 100644 --- a/vtk.spec +++ b/vtk.spec @@ -144,6 +144,9 @@ This package provides the shared libraries for VTK. %package devel Summary: VTK header files for building C++ code Group: Development/Libraries/C and C++ +Requires: %{name}-java = %{version} +Requires: %{name}-qt = %{version} +Requires: %{name}-tcl = %{version} Requires: %{shlib} = %{version} Requires: Mesa-libGL-devel Requires: R-base-devel From cf384ac9ebe48a87b9661ecd6861fcc76da83f79de97957d06e6b81d065a8669 Mon Sep 17 00:00:00 2001 From: Atri Bhattacharya Date: Sat, 16 Sep 2017 16:31:56 +0000 Subject: [PATCH 3/5] Accepting request 526303 from home:StefanBruens:branches:science - 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. -> see https://public.kitware.com/pipermail/vtk-developers/2017-September/035435.html - Fix description/summary of vtk-qt subpackage OBS-URL: https://build.opensuse.org/request/show/526303 OBS-URL: https://build.opensuse.org/package/show/science/vtk?expand=0&rev=98 --- vtk-compat_gl.changes | 9 +++++++++ vtk-compat_gl.spec | 15 ++++++--------- vtk.changes | 10 ++++++++++ vtk.spec | 19 ++++++++----------- 4 files changed, 33 insertions(+), 20 deletions(-) diff --git a/vtk-compat_gl.changes b/vtk-compat_gl.changes index 1bfe2d9..7c3389d 100644 --- a/vtk-compat_gl.changes +++ b/vtk-compat_gl.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Thu Sep 14 19:50:52 UTC 2017 - stefan.bruens@rwth-aachen.de + +- Remove the various subpackage Requires from the devel package + again. The qt subpackage contains a Qt Designer plugin and no + dependency at all. Package the vtkWrap{Tcl,Java,Python} wrapper + generators in the devel package, as these are useless without + the vtk headers files. + ------------------------------------------------------------------- Tue Sep 12 12:33:38 UTC 2017 - kkhere.geo@gmail.com diff --git a/vtk-compat_gl.spec b/vtk-compat_gl.spec index 5edaec8..044699c 100644 --- a/vtk-compat_gl.spec +++ b/vtk-compat_gl.spec @@ -144,9 +144,6 @@ This package provides the shared libraries for VTK. %package devel Summary: VTK header files for building C++ code Group: Development/Libraries/C and C++ -Requires: %{name}-java = %{version} -Requires: %{name}-qt = %{version} -Requires: %{name}-tcl = %{version} Requires: %{shlib} = %{version} Requires: Mesa-libGL-devel Requires: R-base-devel @@ -441,6 +438,12 @@ chrpath -d %{buildroot}%{_bindir}/* %{_bindir}/%{pkgname}EncodeString %{_bindir}/%{pkgname}HashSource %{_bindir}/%{pkgname}WrapHierarchy +%{_bindir}/%{pkgname}ParseJava +%{_bindir}/%{pkgname}WrapJava +%{_bindir}/%{pkgname}WrapPython +%{_bindir}/%{pkgname}WrapPythonInit +%{_bindir}/%{pkgname}WrapTcl +%{_bindir}/%{pkgname}WrapTclInit %if %{compat_gl} %{_bindir}/%{pkgname}ParseOGLExt %endif @@ -463,8 +466,6 @@ chrpath -d %{buildroot}%{_bindir}/* %files java %defattr(-,root,root,-) -%{_bindir}/%{pkgname}ParseJava -%{_bindir}/%{pkgname}WrapJava %{_libdir}/%{pkgname}.jar %{_libdir}/libvtkViewsGeovisJava.so @@ -472,15 +473,11 @@ chrpath -d %{buildroot}%{_bindir}/* %defattr(-,root,root,-) %{_bindir}/%{pkgname}python %{_bindir}/p%{pkgname}python -%{_bindir}/%{pkgname}WrapPython -%{_bindir}/%{pkgname}WrapPythonInit %{python3_sitearch}/%{pkgname}/ %files tcl %defattr(-,root,root,-) %{_bindir}/%{pkgname} -%{_bindir}/%{pkgname}WrapTcl -%{_bindir}/%{pkgname}WrapTclInit %{_datadir}/tcl/%{pkgname}/ %files qt diff --git a/vtk.changes b/vtk.changes index 1bfe2d9..7f9afa1 100644 --- a/vtk.changes +++ b/vtk.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Sep 14 20:54:34 UTC 2017 - stefan.bruens@rwth-aachen.de + +- Remove the various subpackage Requires from the devel package + again. The qt subpackage contains a Qt Designer plugin and no + dependency at all. Package the vtkWrap{Tcl,Java,Python} wrapper + generators in the devel package, as these are useless without + the vtk headers files. +- Fix description/summary of vtk-qt subpackage + ------------------------------------------------------------------- Tue Sep 12 12:33:38 UTC 2017 - kkhere.geo@gmail.com diff --git a/vtk.spec b/vtk.spec index ac02dd8..326e6ec 100644 --- a/vtk.spec +++ b/vtk.spec @@ -144,9 +144,6 @@ This package provides the shared libraries for VTK. %package devel Summary: VTK header files for building C++ code Group: Development/Libraries/C and C++ -Requires: %{name}-java = %{version} -Requires: %{name}-qt = %{version} -Requires: %{name}-tcl = %{version} Requires: %{shlib} = %{version} Requires: Mesa-libGL-devel Requires: R-base-devel @@ -221,7 +218,7 @@ rendering and visualization. This package provides python bindings for VTK. %package qt -Summary: Qt VTK widget +Summary: Qt Designer plugin for QVTKWidget Group: Development/Libraries/C and C++ Requires: %{shlib} = %{version} %if %{compat_gl} @@ -235,7 +232,7 @@ Conflicts: vtk-compat_gl-qt VTK is a software system for image processing, 3D graphics, volume rendering and visualization. -This package provides Qt bindings for VTK. +This package provides a Qt Designer plugin for the QVTKWidget. %package tcl Summary: Tcl bindings for VTK @@ -441,6 +438,12 @@ chrpath -d %{buildroot}%{_bindir}/* %{_bindir}/%{pkgname}EncodeString %{_bindir}/%{pkgname}HashSource %{_bindir}/%{pkgname}WrapHierarchy +%{_bindir}/%{pkgname}ParseJava +%{_bindir}/%{pkgname}WrapJava +%{_bindir}/%{pkgname}WrapPython +%{_bindir}/%{pkgname}WrapPythonInit +%{_bindir}/%{pkgname}WrapTcl +%{_bindir}/%{pkgname}WrapTclInit %if %{compat_gl} %{_bindir}/%{pkgname}ParseOGLExt %endif @@ -463,8 +466,6 @@ chrpath -d %{buildroot}%{_bindir}/* %files java %defattr(-,root,root,-) -%{_bindir}/%{pkgname}ParseJava -%{_bindir}/%{pkgname}WrapJava %{_libdir}/%{pkgname}.jar %{_libdir}/libvtkViewsGeovisJava.so @@ -472,15 +473,11 @@ chrpath -d %{buildroot}%{_bindir}/* %defattr(-,root,root,-) %{_bindir}/%{pkgname}python %{_bindir}/p%{pkgname}python -%{_bindir}/%{pkgname}WrapPython -%{_bindir}/%{pkgname}WrapPythonInit %{python3_sitearch}/%{pkgname}/ %files tcl %defattr(-,root,root,-) %{_bindir}/%{pkgname} -%{_bindir}/%{pkgname}WrapTcl -%{_bindir}/%{pkgname}WrapTclInit %{_datadir}/tcl/%{pkgname}/ %files qt From d91ada4733148e4df6f7d1b57d739f20ef9e94d440af98af5f2a67bc2a015257 Mon Sep 17 00:00:00 2001 From: Stanislav Brabec Date: Wed, 27 Sep 2017 17:25:20 +0000 Subject: [PATCH 4/5] Accepting request 528109 from home:polyconvex:branches:science - 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 - 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 OBS-URL: https://build.opensuse.org/request/show/528109 OBS-URL: https://build.opensuse.org/package/show/science/vtk?expand=0&rev=99 --- vtk-compat_gl.changes | 10 ++++++++++ vtk-compat_gl.spec | 6 +----- vtk.changes | 10 ++++++++++ vtk.spec | 6 +----- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/vtk-compat_gl.changes b/vtk-compat_gl.changes index 7c3389d..b0556fe 100644 --- a/vtk-compat_gl.changes +++ b/vtk-compat_gl.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Tue Sep 19 10:46:40 UTC 2017 - kkhere.geo@gmail.com + +- do not exclude libViewsGeovisJava.so from devel package + This library is required for development. +- package vtk binary in devel package. +- VTKTargets-debug.cmake tests for the existance of the library (line 3394) + and the binary (line 3404) and causes an error if the files do + not exist + ------------------------------------------------------------------- Thu Sep 14 19:50:52 UTC 2017 - stefan.bruens@rwth-aachen.de diff --git a/vtk-compat_gl.spec b/vtk-compat_gl.spec index 044699c..e701966 100644 --- a/vtk-compat_gl.spec +++ b/vtk-compat_gl.spec @@ -435,6 +435,7 @@ chrpath -d %{buildroot}%{_bindir}/* %files devel %defattr(-,root,root,-) %doc Copyright.txt +%{_bindir}/%{pkgname} %{_bindir}/%{pkgname}EncodeString %{_bindir}/%{pkgname}HashSource %{_bindir}/%{pkgname}WrapHierarchy @@ -460,14 +461,10 @@ chrpath -d %{buildroot}%{_bindir}/* %{_libdir}/libvtkWrappingTools.a %{_includedir}/%{pkgname}-%{series}/ %exclude %{_datadir}/tcl/vtk/vtktcl.c -# This goes in the vtk-java subpackage, not a devel symlink -%exclude %{_libdir}/libvtkViewsGeovisJava.so -# %files java %defattr(-,root,root,-) %{_libdir}/%{pkgname}.jar -%{_libdir}/libvtkViewsGeovisJava.so %files -n python3-%{name} %defattr(-,root,root,-) @@ -477,7 +474,6 @@ chrpath -d %{buildroot}%{_bindir}/* %files tcl %defattr(-,root,root,-) -%{_bindir}/%{pkgname} %{_datadir}/tcl/%{pkgname}/ %files qt diff --git a/vtk.changes b/vtk.changes index 7f9afa1..b6ff494 100644 --- a/vtk.changes +++ b/vtk.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Tue Sep 19 10:46:40 UTC 2017 - kkhere.geo@gmail.com + +- do not exclude libViewsGeovisJava.so from devel package + This library is required for development. +- package vtk binary in devel package. +- VTKTargets-debug.cmake tests for the existance of the library (line 3394) + and the binary (line 3404) and causes an error if the files do + not exist + ------------------------------------------------------------------- Thu Sep 14 20:54:34 UTC 2017 - stefan.bruens@rwth-aachen.de diff --git a/vtk.spec b/vtk.spec index 326e6ec..a753ef3 100644 --- a/vtk.spec +++ b/vtk.spec @@ -435,6 +435,7 @@ chrpath -d %{buildroot}%{_bindir}/* %files devel %defattr(-,root,root,-) %doc Copyright.txt +%{_bindir}/%{pkgname} %{_bindir}/%{pkgname}EncodeString %{_bindir}/%{pkgname}HashSource %{_bindir}/%{pkgname}WrapHierarchy @@ -460,14 +461,10 @@ chrpath -d %{buildroot}%{_bindir}/* %{_libdir}/libvtkWrappingTools.a %{_includedir}/%{pkgname}-%{series}/ %exclude %{_datadir}/tcl/vtk/vtktcl.c -# This goes in the vtk-java subpackage, not a devel symlink -%exclude %{_libdir}/libvtkViewsGeovisJava.so -# %files java %defattr(-,root,root,-) %{_libdir}/%{pkgname}.jar -%{_libdir}/libvtkViewsGeovisJava.so %files -n python3-%{name} %defattr(-,root,root,-) @@ -477,7 +474,6 @@ chrpath -d %{buildroot}%{_bindir}/* %files tcl %defattr(-,root,root,-) -%{_bindir}/%{pkgname} %{_datadir}/tcl/%{pkgname}/ %files qt From 5a0ed0f332744d4858794c7582315515ec3a5deb38c196e102f0c4b9e28a6fca Mon Sep 17 00:00:00 2001 From: Stanislav Brabec Date: Fri, 29 Sep 2017 14:13:41 +0000 Subject: [PATCH 5/5] Accepting request 529129 from home:badshah400:branches:science - 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 to fix buffer overflow report from rpmlint - 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. OBS-URL: https://build.opensuse.org/request/show/529129 OBS-URL: https://build.opensuse.org/package/show/science/vtk?expand=0&rev=100 --- pre_checkin.sh | 1 - vtk-compat_gl-rpmlintrc | 11 ----------- vtk-compat_gl.changes | 10 +++++++++- vtk-compat_gl.spec | 8 ++------ vtk.changes | 7 +++++++ vtk.spec | 4 ---- 6 files changed, 18 insertions(+), 23 deletions(-) delete mode 100644 vtk-compat_gl-rpmlintrc diff --git a/pre_checkin.sh b/pre_checkin.sh index 9a4f91c..e4d942a 100644 --- a/pre_checkin.sh +++ b/pre_checkin.sh @@ -1,5 +1,4 @@ #!/bin/sh sed 's|%define compat_gl 0|%define compat_gl 1|' vtk.spec > vtk-compat_gl.spec -cp vtk-rpmlintrc vtk-compat_gl-rpmlintrc cp vtk.changes vtk-compat_gl.changes diff --git a/vtk-compat_gl-rpmlintrc b/vtk-compat_gl-rpmlintrc deleted file mode 100644 index c61c3ec..0000000 --- a/vtk-compat_gl-rpmlintrc +++ /dev/null @@ -1,11 +0,0 @@ -# FIXME: See if packaging can be tweaked to avoid these warnings later -# python-vtk needs these devel files to work -addFilter("python3-vtk* devel-file-in-non-devel-package") - -# Upstream does not supply manuals for any binary, suppress warnings -addFilter(".* no-manual-page-for-binary") - -# This is not a versioned shared lib, and not used by anything other than -# vtk's java bindings, simply package it with the vtk-java subpackage -addFilter("vtk-java.* shlib-policy-name-error") -addFilter("vtk-compat_gl-java.* shlib-policy-name-error") diff --git a/vtk-compat_gl.changes b/vtk-compat_gl.changes index b0556fe..c51c783 100644 --- a/vtk-compat_gl.changes +++ b/vtk-compat_gl.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Sep 28 10:43:27 UTC 2017 - badshah400@gmail.com + +- Drop vtk-compat_gl-rpmlintrc: openSUSE:Factory bots don't accept + conditional sources and one rpmlintrc file is sufficient for + both main and linked packages anyway. + ------------------------------------------------------------------- Tue Sep 19 10:46:40 UTC 2017 - kkhere.geo@gmail.com @@ -9,13 +16,14 @@ Tue Sep 19 10:46:40 UTC 2017 - kkhere.geo@gmail.com not exist ------------------------------------------------------------------- -Thu Sep 14 19:50:52 UTC 2017 - stefan.bruens@rwth-aachen.de +Thu Sep 14 20:54:34 UTC 2017 - stefan.bruens@rwth-aachen.de - Remove the various subpackage Requires from the devel package again. The qt subpackage contains a Qt Designer plugin and no dependency at all. Package the vtkWrap{Tcl,Java,Python} wrapper generators in the devel package, as these are useless without the vtk headers files. +- Fix description/summary of vtk-qt subpackage ------------------------------------------------------------------- Tue Sep 12 12:33:38 UTC 2017 - kkhere.geo@gmail.com diff --git a/vtk-compat_gl.spec b/vtk-compat_gl.spec index e701966..66cf04e 100644 --- a/vtk-compat_gl.spec +++ b/vtk-compat_gl.spec @@ -45,11 +45,7 @@ Url: http://vtk.org/ Source: http://www.vtk.org/files/release/%{series}/VTK-%{version}.tar.gz # FIXME See if packaging can be tweaked to accommodate python-vtk's devel files in a devel package later # We need to use the compat conditionals here to avoid Factory's source validator from tripping up -%if %{compat_gl} -Source1: vtk-compat_gl-rpmlintrc -%else Source1: vtk-rpmlintrc -%endif # PATCH-FIX-UPSTREAM vtk-fix-file-contains-date-time.patch badshah400@gmail.com -- Fix file containing DATE and TIME Patch1: vtk-fix-file-contains-date-time.patch # PATCH-FIX-UPSTREAM vtk-Rinterface-uintptr_t.patch boo#985386 badshah400@gmail.com -- Fix issues with uintptr_t redefinition by defining the HAVE_UINTPTR_T macro using cmake functions to avoid redefinition of uintptr_t, which is already defined in stdint.h called earlier; patch sent upstream @@ -218,7 +214,7 @@ rendering and visualization. This package provides python bindings for VTK. %package qt -Summary: Qt VTK widget +Summary: Qt Designer plugin for QVTKWidget Group: Development/Libraries/C and C++ Requires: %{shlib} = %{version} %if %{compat_gl} @@ -232,7 +228,7 @@ Conflicts: vtk-compat_gl-qt VTK is a software system for image processing, 3D graphics, volume rendering and visualization. -This package provides Qt bindings for VTK. +This package provides a Qt Designer plugin for the QVTKWidget. %package tcl Summary: Tcl bindings for VTK diff --git a/vtk.changes b/vtk.changes index b6ff494..c51c783 100644 --- a/vtk.changes +++ b/vtk.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Sep 28 10:43:27 UTC 2017 - badshah400@gmail.com + +- Drop vtk-compat_gl-rpmlintrc: openSUSE:Factory bots don't accept + conditional sources and one rpmlintrc file is sufficient for + both main and linked packages anyway. + ------------------------------------------------------------------- Tue Sep 19 10:46:40 UTC 2017 - kkhere.geo@gmail.com diff --git a/vtk.spec b/vtk.spec index a753ef3..73a8e80 100644 --- a/vtk.spec +++ b/vtk.spec @@ -45,11 +45,7 @@ Url: http://vtk.org/ Source: http://www.vtk.org/files/release/%{series}/VTK-%{version}.tar.gz # FIXME See if packaging can be tweaked to accommodate python-vtk's devel files in a devel package later # We need to use the compat conditionals here to avoid Factory's source validator from tripping up -%if %{compat_gl} -Source1: vtk-compat_gl-rpmlintrc -%else Source1: vtk-rpmlintrc -%endif # PATCH-FIX-UPSTREAM vtk-fix-file-contains-date-time.patch badshah400@gmail.com -- Fix file containing DATE and TIME Patch1: vtk-fix-file-contains-date-time.patch # PATCH-FIX-UPSTREAM vtk-Rinterface-uintptr_t.patch boo#985386 badshah400@gmail.com -- Fix issues with uintptr_t redefinition by defining the HAVE_UINTPTR_T macro using cmake functions to avoid redefinition of uintptr_t, which is already defined in stdint.h called earlier; patch sent upstream