diff --git a/0001-Add-libogg-to-IOMovie-target-link-libraries.patch b/0001-Add-libogg-to-IOMovie-target-link-libraries.patch new file mode 100644 index 0000000..77ce575 --- /dev/null +++ b/0001-Add-libogg-to-IOMovie-target-link-libraries.patch @@ -0,0 +1,24 @@ +From 9418a8a8c84c8185d61e5135b95a67c3d98ba23e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Mon, 25 Feb 2019 00:27:07 +0100 +Subject: [PATCH] Add libogg to IOMovie target link libraries + +--- + IO/Movie/CMakeLists.txt | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/IO/Movie/CMakeLists.txt b/IO/Movie/CMakeLists.txt +index 457f1a99..98ca4708 100644 +--- a/VTK/IO/Movie/CMakeLists.txt ++++ b/VTK/IO/Movie/CMakeLists.txt +@@ -33,3 +33,7 @@ vtk_module_library(vtkIOMovie ${Module_SRCS}) + if(WIN32 AND VTK_USE_VIDEO_FOR_WINDOWS) + vtk_module_link_libraries(vtkIOMovie LINK_PRIVATE vfw32) + endif() ++ ++if(vtkIOMovie_vtkoggtheora) ++ target_link_libraries(vtkIOMovie PUBLIC ogg) ++endif() +-- +2.20.1 + diff --git a/0001-Allow-compilation-on-GLES-platforms.patch b/0001-Allow-compilation-on-GLES-platforms.patch new file mode 100644 index 0000000..f376acd --- /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/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/bundled_exodusii_add_missing_libpthread.patch b/bundled_exodusii_add_missing_libpthread.patch new file mode 100644 index 0000000..d14be24 --- /dev/null +++ b/bundled_exodusii_add_missing_libpthread.patch @@ -0,0 +1,14 @@ +--- a/VTK/ThirdParty/exodusII/vtkexodusII/CMakeLists.txt_orig 2019-02-14 23:22:45.209934041 +0100 ++++ b/VTK/ThirdParty/exodusII/vtkexodusII/CMakeLists.txt 2019-02-14 23:23:32.793799582 +0100 +@@ -297,8 +297,10 @@ + "${CMAKE_CURRENT_BINARY_DIR}/include/exodusII_cfg.h" + "${CMAKE_CURRENT_BINARY_DIR}/include/exodus_config.h") + +-vtk_add_library(vtkexodusII ${sources} ${headers}) ++vtk_add_library(vtkexodusII ${sources} ${headers}) ++set_property(TARGET vtkexodusII PROPERTY POSITION_INDEPENDENT_CODE ON) + target_link_libraries(vtkexodusII PUBLIC ${vtknetcdf_LIBRARIES}) ++target_link_libraries(vtkexodusII PUBLIC pthread) + if (NOT VTK_INSTALL_NO_DEVELOPMENT) + install(FILES + ${headers} diff --git a/fix-libhdf5-missing-m.patch b/fix-libhdf5-missing-m.patch deleted file mode 100644 index 2e864d5..0000000 --- a/fix-libhdf5-missing-m.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/VTK/ThirdParty/hdf5/vtkhdf5/src/CMakeLists.txt -+++ b/VTK/ThirdParty/hdf5/vtkhdf5/src/CMakeLists.txt -@@ -7,6 +7,7 @@ - # Apply Definitions to compiler in this directory and below - #----------------------------------------------------------------------------- - add_definitions (${HDF_EXTRA_C_FLAGS}) -+link_libraries(m dl pthread) - - #----------------------------------------------------------------------------- - # List Source Files diff --git a/paraview.changes b/paraview.changes index 8d67fc6..993b4fd 100644 --- a/paraview.changes +++ b/paraview.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Fri Jan 31 22:05:09 UTC 2020 - Atri Bhattacharya + +- Drop fix-libhdf5-missing-m.patch: No longer needed. + +------------------------------------------------------------------- +Thu Jan 30 14:47:12 UTC 2020 - Stefan Brüns + +- Drop unused python-zope BuildRequires +- Replace Qt5WebKit BuildRequires with Qt5WebEngine +- Unbundle several dependencies, use system libraries: + * double-conversion + * CGNS + * Eigen3 + * GLEW + * HDF5 + * JsonCPP + * liblz4 + * netcdf + * protobuf + * PugiXML + * Ogg/Theora +- Add several patches from VTK package: + * bundled_exodusii_add_missing_libpthread.patch + * 0001-Add-libogg-to-IOMovie-target-link-libraries.patch + * 0001-Allow-compilation-on-GLES-platforms.patch + ------------------------------------------------------------------- Fri Sep 20 06:14:35 UTC 2019 - Atri Bhattacharya diff --git a/paraview.spec b/paraview.spec index aa9c3f0..6cc929f 100644 --- a/paraview.spec +++ b/paraview.spec @@ -1,7 +1,7 @@ # # spec file for package paraview # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,13 +18,23 @@ %define major_ver 5.6 +%if 0%{?suse_version} <= 1500 +%bcond_with pugixml +%else +%bcond_without pugixml +%endif +# Need unrelased version > 1.4.0 with e.g. gl2psTextOptColorBL +%bcond_with gl2ps +# Need patched version with HPDF_SHADING +%bcond_with haru + Name: paraview Version: 5.6.2 Release: 0 Summary: Data analysis and visualization application License: BSD-3-Clause Group: Productivity/Scientific/Physics -Url: https://www.paraview.org +URL: https://www.paraview.org Source0: https://www.paraview.org/files/v%{major_ver}/ParaView-v%{version}.tar.xz Source1: %{name}-rpmlintrc # CAUTION: GettingStarted may or may not be updated with each minor version @@ -40,31 +50,38 @@ Patch3: paraview-do-not-install-missing-vtk-doxygen-dir.patch Patch4: paraview-find-qhelpgenerator-qt5.patch # PATCH-FIX-OPENSUSE fix-libharu-missing-m.patch -- missing libraries for linking Patch8: fix-libharu-missing-m.patch -# PATCH-FIX-OPENSUSE fix-libhdf5-missing-m.patch -- missing libraries for linking -Patch9: fix-libhdf5-missing-m.patch +# PATCH-FIX-OPENSUSE bundled_exodusii_add_missing_libpthread.patch stefan.bruens@rwth-aachen.de -- Add missing libm for linking +Patch10: bundled_exodusii_add_missing_libpthread.patch +# PATCH-FIX-OPENSUSE -- Missing libogg symbols +Patch11: 0001-Add-libogg-to-IOMovie-target-link-libraries.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 +Patch12: 0001-Allow-compilation-on-GLES-platforms.patch BuildRequires: Mesa-devel -BuildRequires: boost-devel +BuildRequires: cgns-devel BuildRequires: cmake >= 3.3 -BuildRequires: desktop-file-utils +BuildRequires: double-conversion-devel BuildRequires: doxygen +BuildRequires: fdupes BuildRequires: gnuplot BuildRequires: graphviz +BuildRequires: hdf5-devel +BuildRequires: libboost_graph-devel +BuildRequires: libboost_headers-devel BuildRequires: libexpat-devel +%if %{with haru} +BuildRequires: libharu-devel > 2.3.0 +%endif BuildRequires: libjpeg-devel +BuildRequires: libnetcdf_c++-devel BuildRequires: libpqxx-devel BuildRequires: libtiff-devel BuildRequires: openssl-devel BuildRequires: python-Sphinx +BuildRequires: python-Twisted BuildRequires: python-devel BuildRequires: python-matplotlib -BuildRequires: pkgconfig(freetype2) -BuildRequires: pkgconfig(libpng) -BuildRequires: pkgconfig(xt) -%py_requires -BuildRequires: fdupes BuildRequires: python-qt5-devel -BuildRequires: python-twisted -BuildRequires: python-zope.interface +BuildRequires: python-rpm-macros BuildRequires: readline-devel BuildRequires: wget BuildRequires: zlib-devel @@ -73,22 +90,28 @@ BuildRequires: pkgconfig(Qt5Gui) BuildRequires: pkgconfig(Qt5Help) BuildRequires: pkgconfig(Qt5Network) BuildRequires: pkgconfig(Qt5PrintSupport) -BuildRequires: pkgconfig(Qt5WebKit) -BuildRequires: pkgconfig(Qt5WebKitWidgets) +BuildRequires: pkgconfig(Qt5WebEngine) BuildRequires: pkgconfig(Qt5Widgets) BuildRequires: pkgconfig(Qt5X11Extras) BuildRequires: pkgconfig(Qt5Xml) +BuildRequires: pkgconfig(eigen3) >= 2.91.0 +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(glew) +BuildRequires: pkgconfig(jsoncpp) >= 0.7.0 +BuildRequires: pkgconfig(liblz4) >= 1.7.3 +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(netcdf) +BuildRequires: pkgconfig(ogg) +BuildRequires: pkgconfig(protobuf) >= 2.6.0 +%if %{with pugixml} +BuildRequires: pkgconfig(pugixml) +%endif +BuildRequires: pkgconfig(theora) +BuildRequires: pkgconfig(xt) Requires: gnuplot Requires: graphviz -Requires: python -Requires: python-base -Requires: python-twisted -Requires: python-zope.interface -Requires(post): /sbin/ldconfig -Requires(postun): /sbin/ldconfig -# FIXME: Remove when builds for 32-bit are fixed; they currently fail due to offt definition issues in ThirdParty/cgns/vtkcgns/src/adf/ADF_internals.c -ExcludeArch: %ix86 -BuildRoot: %{_tmppath}/%{name}-%{version}-build +Requires: python-Twisted +Requires: python-qt5 %description ParaView is a data analysis and visualization application for @@ -117,15 +140,14 @@ for ParaView or to embed ParaView Catalyst in a simulation program. %patch3 -p1 %patch4 -p1 %patch8 -p1 -%patch9 -p1 +#%%patch9 -p1 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 %build %global _lto_cflags %{_lto_cflags} -ffat-lto-objects -# Prepare for gcc 4.9.0: work around gcc 4.9.0 regression -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61294 -sed -i -e 's/-Wl,--fatal-warnings//' VTK/CMake/vtkCompilerExtraFlags.cmake - export CC='gcc' export CXX='g++' @@ -142,28 +164,31 @@ export CXX='g++' -DPARAVIEW_BUILD_QT_GUI:BOOL=ON \ -DPARAVIEW_BUILD_PLUGIN_SLACTools:BOOL=ON \ -DPARAVIEW_ENABLE_PYTHON:BOOL=ON \ + -DPARAVIEW_ENABLE_WEB:BOOL=ON \ -DVTK_WRAP_PYTHON:BOOL=ON \ -DVTK_WRAP_PYTHON_SIP:BOOL=ON \ -DVTK_OPENGL_HAS_OSMESA:BOOL=OFF \ + -DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON \ -DVTK_USE_SYSTEM_EXPAT:BOOL=ON \ -DVTK_USE_SYSTEM_FREETYPE:BOOL=ON \ + -DVTK_USE_SYSTEM_GL2PS:BOOL=%{?with_gl2ps:ON}%{!?with_gl2ps:OFF} \ + -DVTK_USE_SYSTEM_LIBHARU:BOOL=%{?with_haru:ON}%{!?with_haru:OFF} \ -DVTK_USE_SYSTEM_JPEG:BOOL=ON \ -DVTK_USE_SYSTEM_PNG:BOOL=ON \ -DVTK_USE_SYSTEM_TIFF:BOOL=ON \ -DVTK_USE_SYSTEM_LZMA:BOOL=ON \ - -DVTK_USE_SYSTEM_ZLIB:BOOL=ON \ - -DVTK_USE_SYSTEM_ZOPE:BOOL=ON \ + -DVTK_USE_SYSTEM_PEGTL:BOOL=OFF \ + -DVTK_USE_SYSTEM_PUGIXML:BOOL=%{?with_pugixml:ON}%{!?with_pugixml:OFF} \ + -DVTK_USE_SYSTEM_QTTESTING:BOOL=OFF \ -DVTK_USE_SYSTEM_TWISTED:BOOL=ON \ - -DVTK_USE_SYSTEM_GL2PS:BOOL=OFF \ + -DVTK_USE_SYSTEM_XDMF2:BOOL=OFF \ + -DVTK_USE_SYSTEM_ZLIB:BOOL=ON \ -DBUILD_DOCUMENTATION:BOOL=ON \ -DBUILD_EXAMPLES:BOOL=OFF \ -DBUILD_TESTING:BOOL=OFF \ -DQtTesting_INSTALL_NO_DEVELOPMENT:BOOL=ON \ -DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=ON -# FIXME: TURN ON WHEN UPDATED GL2PS > 1.3.9 IS RELEASED -# -DVTK_USE_SYSTEM_GL2PS:BOOL=ON \ - # FIXME: CAUSES ERRORS WITH THE IN-APP PYTHON SHELL WHICH STILL LOOKS FOR PY MODULES IN THE DEFAULT DIR %%{_libdir}/%%{name}/site-packages # -DVTK_INSTALL_PYTHON_MODULE_DIR:PATH="%%{python_sitearch}/%%{name}" \ @@ -189,19 +214,13 @@ install -Dm0644 %{S:3} %{buildroot}%{_datadir}/%{name}-%{major_ver}/doc/Guide.pd %fdupes %{buildroot}/ -%post -/sbin/ldconfig -%icon_theme_cache_post -%desktop_database_post +%post -p /sbin/ldconfig -%postun -/sbin/ldconfig -%icon_theme_cache_postun -%desktop_database_postun +%postun -p /sbin/ldconfig %files %defattr(-,root,root) -%doc License_v1.2.txt +%license License_v1.2.txt %exclude %{_bindir}/smTest* %exclude %{_bindir}/vtk*