diff --git a/0001-Allow-compilation-on-GLES-platforms.patch b/0001-Allow-compilation-on-GLES-platforms.patch deleted file mode 100644 index f376acd..0000000 --- a/0001-Allow-compilation-on-GLES-platforms.patch +++ /dev/null @@ -1,55 +0,0 @@ -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/QVTKOpenGLNativeWidget.cxx | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/GUISupport/Qt/QVTKOpenGLNativeWidget.cxx b/GUISupport/Qt/QVTKOpenGLNativeWidget.cxx -index a1676e8..16e255f 100644 ---- a/VTK/GUISupport/Qt/QVTKOpenGLNativeWidget.cxx -+++ b/VTK/GUISupport/Qt/QVTKOpenGLNativeWidget.cxx -@@ -534,10 +534,15 @@ void QVTKOpenGLNativeWidget::paintGL() - - // blit from this->FBO to QOpenGLWidget's FBO. - vtkQVTKOpenGLNativeWidgetDebugMacro("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 - vtkOpenGLState *ostate = this->RenderWindow->GetState(); - - f->glBindFramebuffer(GL_DRAW_FRAMEBUFFER, this->defaultFramebufferObject()); -@@ -556,6 +561,13 @@ void QVTKOpenGLNativeWidget::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/ParaView-v5.7.0.tar.xz b/ParaView-v5.7.0.tar.xz deleted file mode 100644 index 429d1c6..0000000 --- a/ParaView-v5.7.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e41e597e1be462974a03031380d9e5ba9a7efcdb22e4ca2f3fec50361f310874 -size 44318064 diff --git a/ParaView-v5.8.0.tar.xz b/ParaView-v5.8.0.tar.xz new file mode 100644 index 0000000..7652451 --- /dev/null +++ b/ParaView-v5.8.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:219e4107abf40317ce054408e9c3b22fb935d464238c1c00c0161f1c8697a3f9 +size 49789116 diff --git a/ParaViewGettingStarted-5.7.0.pdf b/ParaViewGettingStarted-5.8.0.pdf similarity index 100% rename from ParaViewGettingStarted-5.7.0.pdf rename to ParaViewGettingStarted-5.8.0.pdf diff --git a/ParaViewGuide-5.7.0.pdf b/ParaViewGuide-5.8.0.pdf similarity index 100% rename from ParaViewGuide-5.7.0.pdf rename to ParaViewGuide-5.8.0.pdf diff --git a/fix-QtGUI-missing-GLX_mesa-linking.patch b/fix-QtGUI-missing-GLX_mesa-linking.patch deleted file mode 100644 index 1cb4496..0000000 --- a/fix-QtGUI-missing-GLX_mesa-linking.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: ParaView-v5.7.0/VTK/GUISupport/Qt/CMakeLists.txt -=================================================================== ---- ParaView-v5.7.0.orig/VTK/GUISupport/Qt/CMakeLists.txt -+++ ParaView-v5.7.0/VTK/GUISupport/Qt/CMakeLists.txt -@@ -71,6 +71,8 @@ if (VTK_USE_X AND add_qvtkwidget) - vtk_module_link(VTK::GUISupportQt PRIVATE Qt5::X11Extras) - endif () - -+vtk_module_link(VTK::GUISupportQt PUBLIC GLX_mesa) -+ - # This build plugin logic should just get migrated into a module I think. - cmake_dependent_option(VTK_BUILD_QT_DESIGNER_PLUGIN - "Build the VTK Qt plugin for the Qt Designer." ON diff --git a/paraview-desktop-entry-fix.patch b/paraview-desktop-entry-fix.patch index 9bb2733..ca3b617 100644 --- a/paraview-desktop-entry-fix.patch +++ b/paraview-desktop-entry-fix.patch @@ -1,7 +1,7 @@ -Index: ParaView-v5.7.0/Applications/ParaView/org.paraview.ParaView.desktop.in +Index: ParaView-v5.8.0/Clients/ParaView/org.paraview.ParaView.desktop.in =================================================================== ---- ParaView-v5.7.0.orig/Applications/ParaView/org.paraview.ParaView.desktop.in -+++ ParaView-v5.7.0/Applications/ParaView/org.paraview.ParaView.desktop.in +--- ParaView-v5.8.0.orig/Clients/ParaView/org.paraview.ParaView.desktop.in ++++ ParaView-v5.8.0/Clients/ParaView/org.paraview.ParaView.desktop.in @@ -6,3 +6,5 @@ Comment=Parallel visualization applicati Exec=paraview %f TryExec=paraview diff --git a/paraview-rpmlintrc b/paraview-rpmlintrc index c10f597..da06531 100644 --- a/paraview-rpmlintrc +++ b/paraview-rpmlintrc @@ -1,2 +1,6 @@ -# The hidden .plugin file is really needed -addFilter("hidden-file-or-dir .*/usr/lib.*/paraview.*/plugins/\.plugins") +# A non-executable file in bindir is used by paraview to locate plugins (hard-coded) +# See https://gitlab.kitware.com/paraview/paraview/issues/19706 +addFilter("non-executable-in-bin .*/usr/bin/paraview\.conf") +addFilter("script-without-shebang .*/usr/bin/paraview\.conf") + + diff --git a/paraview.changes b/paraview.changes index c701442..e54a2e1 100644 --- a/paraview.changes +++ b/paraview.changes @@ -1,3 +1,41 @@ +------------------------------------------------------------------- +Tue Feb 18 18:49:49 UTC 2020 - Atri Bhattacharya + +- Update to version 5.8.0: + * See https://blog.kitware.com/paraview-5-8-0-release-notes/. +- Rebase paraview-desktop-entry-fix.patch for updated location of + desktop file in source. +- Drop fix-QtGUI-missing-GLX_mesa-linking.patch: no longer + required as linking GLX_mesa to build QtGUI is now correctly + handled by build. +- Drop 0001-Allow-compilation-on-GLES-platforms.patch: patch no + longer applies (since vesin 5.7.0) and commenting out patch + leads to factory_auto declining the submission. +- Use ninja instead of make as recommended by upstream and to + speed up build; define __builder to ninja so that cmake build + macros use this instead of the default make. +- Pass PARAVIEW_BUILD_WITH_EXTERNAL to cmake to use system third + party libraries by default; pass VTK_MODULE_USE_EXTERNAL_ + to use specific bundled libraries conditionally (gl2ps, haru, + pugixml). +- Use %cmake_build instead of %make_jobs during building. +- Replace deprecated options passed to cmake by updated ones: + * PARAVIEW_BUILD_QT_GUI -> DPARAVIEW_USE_QT + * PARAVIEW_ENABLE_PYTHON -> PARAVIEW_USE_PYTHON. +- Update paraview-rpmlintrc to suppress warning about a non-exec + file that is installed to %{_bindir} and is really necessary + (see https://gitlab.kitware.com/paraview/paraview/issues/19706); + the previous entry no longer applies, so drop it. +- Add absolutely necessary dependencies for paraview-devel as + Requires. +- Install python modules to %{python3_sitearch}/paraview rather + than the default [%{python3_sitearch}] by setting + PARAVIEW_PYTHON_SITE_PACKAGES_SUFFIX when configuring cmake; + this avoids file conflicts between python3-paraview and + python3-vtk. +- Don't install paraview-config: it doesn't work without the + static libs being installed. + ------------------------------------------------------------------- Sat Jan 31 22:30:41 UTC 2020 - Atri Bhattacharya diff --git a/paraview.spec b/paraview.spec index 8320620..4e55a19 100644 --- a/paraview.spec +++ b/paraview.spec @@ -16,8 +16,8 @@ # -%define major_ver 5.7 -%define shlib libparaview5_7 +%define major_ver 5.8 +%define shlib libparaview5_8 %if 0%{?suse_version} <= 1500 %bcond_with pugixml @@ -29,8 +29,10 @@ # Need patched version with HPDF_SHADING %bcond_with haru +%define __builder ninja + Name: paraview -Version: 5.7.0 +Version: 5.8.0 Release: 0 Summary: Data analysis and visualization application License: BSD-3-Clause @@ -53,12 +55,8 @@ Patch9: paraview-link-against-python.patch Patch10: bundled_exodusii_add_missing_libpthread.patch # PATCH-FIX-OPENSUSE -- Missing libogg symbols Patch11: 0001-Add-libogg-to-IOMovie-target-link-libraries.patch -# PATCH-NEEDS-REBASE PATCH-FIX-OPENSUSE 0001-Allow-compilation-on-GLES-platforms.patch VTK issue #17113 stefan.bruens@rwth-aachen.de -- Fix building with Qt GLES builds -# Patch12: 0001-Allow-compilation-on-GLES-platforms.patch # PATCH-FIX-UPSTREAM fix-loguru-missing-links.patch badshah400@gmail.com -- Fix missing libs (libm, libpthread, libdl) when linking to build loguru Patch13: fix-loguru-missing-links.patch -# PATCH-FIX-UPSTREAM fix-QtGUI-missing-GLX_mesa-linking.patch badshah400@gmail.com -- Add GLX_mesa to linker when building QT-based GUI -Patch14: fix-QtGUI-missing-GLX_mesa-linking.patch BuildRequires: Mesa-devel BuildRequires: cgns-devel BuildRequires: cmake >= 3.3 @@ -67,7 +65,6 @@ BuildRequires: double-conversion-devel BuildRequires: doxygen BuildRequires: exodusii-devel BuildRequires: fdupes -BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: gcc-fortran BuildRequires: gnuplot @@ -75,10 +72,14 @@ BuildRequires: graphviz BuildRequires: hdf5-devel BuildRequires: libboost_graph-devel BuildRequires: libboost_headers-devel +%if %{with gl2ps} +BuildRequires: gl2ps-devel +%endif %if %{with haru} BuildRequires: libharu-devel > 2.3.0 %endif BuildRequires: libnetcdf_c++-devel +BuildRequires: ninja BuildRequires: python3-Sphinx BuildRequires: python3-Twisted BuildRequires: python3-devel @@ -145,6 +146,9 @@ This package provides the shared libraries for paraview. Summary: Headers for building ParaView plugins or embedding Catalyst Group: Development/Libraries/Other Requires: %{shlib} = %{version} +Requires: cmake >= 3.3 +Requires: glibc-devel +Requires: libboost_thread-devel %description devel This package contains headers and libraries required to build plugins @@ -155,6 +159,8 @@ Summary: Python bindings for Paraview Group: Productivity/Scientific/Physics Requires: python3 Requires: python3-Twisted +Requires: python3-matplotlib +Requires: python3-numpy Requires: python3-qt5 %description -n python3-paraview @@ -172,7 +178,7 @@ This package provides the paraview plugins bundled with the upstream release. %autosetup -p1 -n ParaView-v%{version} # FIX env BASED HASHBANG -sed -Ei "1{s|#!/usr/bin/env python3|#!/usr/bin/python3|}" CommandLineExecutables/paraview-config +sed -Ei "1{s|#!/usr/bin/env python3|#!/usr/bin/python3|}" Clients/CommandLineExecutables/paraview-config %build %global _lto_cflags %{_lto_cflags} -ffat-lto-objects @@ -182,8 +188,9 @@ sed -Ei "1{s|#!/usr/bin/env python3|#!/usr/bin/python3|}" CommandLineExecutables -DPARAVIEW_BUILD_SHARED_LIBS:BOOL=ON \ -DCMAKE_SKIP_RPATH:BOOL=OFF \ -DPARAVIEW_USE_VTKM:BOOL=OFF \ - -DPARAVIEW_BUILD_QT_GUI:BOOL=ON \ - -DPARAVIEW_ENABLE_PYTHON:BOOL=ON \ + -DPARAVIEW_USE_QT:BOOL=ON \ + -DPARAVIEW_USE_PYTHON:BOOL=ON \ + -DPARAVIEW_PYTHON_SITE_PACKAGES_SUFFIX=%{_lib}/python%{py3_ver}/site-packages/paraview \ -DPARAVIEW_ENABLE_WEB:BOOL=ON \ -DVTK_WRAP_PYTHON:BOOL=ON \ -DVTK_OPENGL_HAS_OSMESA:BOOL=OFF \ @@ -192,28 +199,12 @@ sed -Ei "1{s|#!/usr/bin/env python3|#!/usr/bin/python3|}" CommandLineExecutables -DQtTesting_INSTALL_NO_DEVELOPMENT:BOOL=ON \ -DVTK_BUILD_QT_DESIGNER_PLUGIN:BOOL=OFF \ -DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=ON \ - -DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON \ - -DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON \ + -DPARAVIEW_BUILD_WITH_EXTERNAL:BOOL=ON \ -DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=%{?with_gl2ps:ON}%{!?with_gl2ps:OFF} \ -DVTK_MODULE_USE_EXTERNAL_VTK_libharu=%{?with_haru:ON}%{!?with_haru:OFF} \ - -DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON \ - -DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON \ - -DVTK_MODULE_USE_EXTERNAL_VTK_lzma=ON \ - -DVTK_MODULE_USE_EXTERNAL_VTK_utf8=ON \ - -DVTK_MODULE_USE_EXTERNAL_VTK_tiff=ON \ - -DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON \ - -DVTK_MODULE_USE_EXTERNAL_VTK_expat=ON \ - -DVTK_MODULE_USE_EXTERNAL_VTK_png=ON \ - -DVTK_MODULE_USE_EXTERNAL_VTK_glew=ON \ - -DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON \ - -DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON \ - -DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON \ - -DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON + -DVTK_MODULE_USE_EXTERNAL_VTK_pugixml=%{?with_pugixml:ON}%{!?with_pugixml:OFF} -# External pugixml does not work similarly -# -DVTK_MODULE_USE_EXTERNAL_VTK_pugixml=ON - -%make_jobs +%cmake_build %install find . \( -name \*.txt -o -name \*.xml -o -name '*.[ch]' -o -name '*.[ch][px][px]' \) -exec chmod -x "{}" + @@ -228,6 +219,9 @@ rm %{buildroot}%{_libdir}/%{name}-%{major_ver}/plugins/GeodesicMeasurement/libFm install -Dm0644 %{S:2} %{buildroot}%{_datadir}/%{name}-%{major_ver}/doc/GettingStarted.pdf install -Dm0644 %{S:3} %{buildroot}%{_datadir}/%{name}-%{major_ver}/doc/Guide.pdf +# REMOVE paraview-config: DOESN'T WORK WITHOUT STATIC LIBS ANYWAY +rm %{buildroot}%{_bindir}/paraview-config + %fdupes %{buildroot}/ %post -n %{shlib} -p /sbin/ldconfig @@ -235,7 +229,6 @@ install -Dm0644 %{S:3} %{buildroot}%{_datadir}/%{name}-%{major_ver}/doc/Guide.pd %postun -n %{shlib} -p /sbin/ldconfig %files -%defattr(-,root,root) %license %{_datadir}/licenses/ParaView/ %{_bindir}/* %exclude %{_bindir}/smTest* @@ -257,7 +250,6 @@ install -Dm0644 %{S:3} %{buildroot}%{_datadir}/%{name}-%{major_ver}/doc/Guide.pd %{_libdir}/%{name}-%{major_ver}/ %files devel -%defattr(-,root,root) %{_libdir}/*.so %{_libdir}/cmake/paraview-%{major_ver}/ %{_bindir}/smTest* @@ -265,6 +257,6 @@ install -Dm0644 %{S:3} %{buildroot}%{_datadir}/%{name}-%{major_ver}/doc/Guide.pd %{_includedir}/%{name}* %files -n python3-paraview -%{python3_sitearch}/* +%{python3_sitearch}/%{name}/ %changelog