SHA256
1
0
forked from pool/paraview

Accepting request 769040 from home:StefanBruens:branches:science

- 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

OBS-URL: https://build.opensuse.org/request/show/769040
OBS-URL: https://build.opensuse.org/package/show/science/paraview?expand=0&rev=65
This commit is contained in:
Atri Bhattacharya 2020-01-31 17:14:50 +00:00 committed by Git OBS Bridge
parent 2de44d953e
commit b5b3e85135
5 changed files with 179 additions and 43 deletions

View File

@ -0,0 +1,24 @@
From 9418a8a8c84c8185d61e5135b95a67c3d98ba23e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
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

View File

@ -0,0 +1,55 @@
From 2d5a68b91f9d638aa408285d1608bc5d70060602 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
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 <stefan.bruens@rwth-aachen.de>
---
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<QOpenGLFunctions_3_2_Core>();
+#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

View File

@ -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}

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Thu Jan 30 14:47:12 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- 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 <badshah400@gmail.com> Fri Sep 20 06:14:35 UTC 2019 - Atri Bhattacharya <badshah400@gmail.com>

View File

@ -1,7 +1,7 @@
# #
# spec file for package paraview # 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 # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -18,13 +18,23 @@
%define major_ver 5.6 %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 Name: paraview
Version: 5.6.2 Version: 5.6.2
Release: 0 Release: 0
Summary: Data analysis and visualization application Summary: Data analysis and visualization application
License: BSD-3-Clause License: BSD-3-Clause
Group: Productivity/Scientific/Physics 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 Source0: https://www.paraview.org/files/v%{major_ver}/ParaView-v%{version}.tar.xz
Source1: %{name}-rpmlintrc Source1: %{name}-rpmlintrc
# CAUTION: GettingStarted may or may not be updated with each minor version # CAUTION: GettingStarted may or may not be updated with each minor version
@ -41,30 +51,39 @@ Patch4: paraview-find-qhelpgenerator-qt5.patch
# PATCH-FIX-OPENSUSE fix-libharu-missing-m.patch -- missing libraries for linking # PATCH-FIX-OPENSUSE fix-libharu-missing-m.patch -- missing libraries for linking
Patch8: fix-libharu-missing-m.patch Patch8: fix-libharu-missing-m.patch
# PATCH-FIX-OPENSUSE fix-libhdf5-missing-m.patch -- missing libraries for linking # PATCH-FIX-OPENSUSE fix-libhdf5-missing-m.patch -- missing libraries for linking
Patch9: fix-libhdf5-missing-m.patch #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: Mesa-devel
BuildRequires: boost-devel BuildRequires: cgns-devel
BuildRequires: cmake >= 3.3 BuildRequires: cmake >= 3.3
BuildRequires: desktop-file-utils BuildRequires: double-conversion-devel
BuildRequires: doxygen BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: gnuplot BuildRequires: gnuplot
BuildRequires: graphviz BuildRequires: graphviz
BuildRequires: hdf5-devel
BuildRequires: libboost_graph-devel
BuildRequires: libboost_headers-devel
BuildRequires: libexpat-devel BuildRequires: libexpat-devel
%if %{with haru}
BuildRequires: libharu-devel > 2.3.0
%endif
BuildRequires: libjpeg-devel BuildRequires: libjpeg-devel
BuildRequires: libnetcdf_c++-devel
BuildRequires: libpqxx-devel BuildRequires: libpqxx-devel
BuildRequires: libtiff-devel BuildRequires: libtiff-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: python-Sphinx BuildRequires: python-Sphinx
BuildRequires: python-Twisted
BuildRequires: python-devel BuildRequires: python-devel
BuildRequires: python-matplotlib BuildRequires: python-matplotlib
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(xt)
%py_requires
BuildRequires: fdupes
BuildRequires: python-qt5-devel BuildRequires: python-qt5-devel
BuildRequires: python-twisted BuildRequires: python-rpm-macros
BuildRequires: python-zope.interface
BuildRequires: readline-devel BuildRequires: readline-devel
BuildRequires: wget BuildRequires: wget
BuildRequires: zlib-devel BuildRequires: zlib-devel
@ -73,22 +92,28 @@ BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Help) BuildRequires: pkgconfig(Qt5Help)
BuildRequires: pkgconfig(Qt5Network) BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5PrintSupport) BuildRequires: pkgconfig(Qt5PrintSupport)
BuildRequires: pkgconfig(Qt5WebKit) BuildRequires: pkgconfig(Qt5WebEngine)
BuildRequires: pkgconfig(Qt5WebKitWidgets)
BuildRequires: pkgconfig(Qt5Widgets) BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5X11Extras) BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(Qt5Xml) 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: gnuplot
Requires: graphviz Requires: graphviz
Requires: python Requires: python-Twisted
Requires: python-base Requires: python-qt5
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
%description %description
ParaView is a data analysis and visualization application for ParaView is a data analysis and visualization application for
@ -117,15 +142,14 @@ for ParaView or to embed ParaView Catalyst in a simulation program.
%patch3 -p1 %patch3 -p1
%patch4 -p1 %patch4 -p1
%patch8 -p1 %patch8 -p1
%patch9 -p1 #%%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%build %build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects %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 CC='gcc'
export CXX='g++' export CXX='g++'
@ -142,28 +166,31 @@ export CXX='g++'
-DPARAVIEW_BUILD_QT_GUI:BOOL=ON \ -DPARAVIEW_BUILD_QT_GUI:BOOL=ON \
-DPARAVIEW_BUILD_PLUGIN_SLACTools:BOOL=ON \ -DPARAVIEW_BUILD_PLUGIN_SLACTools:BOOL=ON \
-DPARAVIEW_ENABLE_PYTHON:BOOL=ON \ -DPARAVIEW_ENABLE_PYTHON:BOOL=ON \
-DPARAVIEW_ENABLE_WEB:BOOL=ON \
-DVTK_WRAP_PYTHON:BOOL=ON \ -DVTK_WRAP_PYTHON:BOOL=ON \
-DVTK_WRAP_PYTHON_SIP:BOOL=ON \ -DVTK_WRAP_PYTHON_SIP:BOOL=ON \
-DVTK_OPENGL_HAS_OSMESA:BOOL=OFF \ -DVTK_OPENGL_HAS_OSMESA:BOOL=OFF \
-DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON \
-DVTK_USE_SYSTEM_EXPAT:BOOL=ON \ -DVTK_USE_SYSTEM_EXPAT:BOOL=ON \
-DVTK_USE_SYSTEM_FREETYPE: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_JPEG:BOOL=ON \
-DVTK_USE_SYSTEM_PNG:BOOL=ON \ -DVTK_USE_SYSTEM_PNG:BOOL=ON \
-DVTK_USE_SYSTEM_TIFF:BOOL=ON \ -DVTK_USE_SYSTEM_TIFF:BOOL=ON \
-DVTK_USE_SYSTEM_LZMA:BOOL=ON \ -DVTK_USE_SYSTEM_LZMA:BOOL=ON \
-DVTK_USE_SYSTEM_ZLIB:BOOL=ON \ -DVTK_USE_SYSTEM_PEGTL:BOOL=OFF \
-DVTK_USE_SYSTEM_ZOPE:BOOL=ON \ -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_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_DOCUMENTATION:BOOL=ON \
-DBUILD_EXAMPLES:BOOL=OFF \ -DBUILD_EXAMPLES:BOOL=OFF \
-DBUILD_TESTING:BOOL=OFF \ -DBUILD_TESTING:BOOL=OFF \
-DQtTesting_INSTALL_NO_DEVELOPMENT:BOOL=ON \ -DQtTesting_INSTALL_NO_DEVELOPMENT:BOOL=ON \
-DPARAVIEW_INSTALL_DEVELOPMENT_FILES: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 # 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}" \ # -DVTK_INSTALL_PYTHON_MODULE_DIR:PATH="%%{python_sitearch}/%%{name}" \
@ -189,19 +216,13 @@ install -Dm0644 %{S:3} %{buildroot}%{_datadir}/%{name}-%{major_ver}/doc/Guide.pd
%fdupes %{buildroot}/ %fdupes %{buildroot}/
%post %post -p /sbin/ldconfig
/sbin/ldconfig
%icon_theme_cache_post
%desktop_database_post
%postun %postun -p /sbin/ldconfig
/sbin/ldconfig
%icon_theme_cache_postun
%desktop_database_postun
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%doc License_v1.2.txt %license License_v1.2.txt
%exclude %{_bindir}/smTest* %exclude %{_bindir}/smTest*
%exclude %{_bindir}/vtk* %exclude %{_bindir}/vtk*