SHA256
1
0
forked from pool/paraview

Accepting request 778987 from home:badshah400:branches:science

- 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_<name> 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.

OBS-URL: https://build.opensuse.org/request/show/778987
OBS-URL: https://build.opensuse.org/package/show/science/paraview?expand=0&rev=71
This commit is contained in:
Atri Bhattacharya 2020-02-27 11:57:31 +00:00 committed by Git OBS Bridge
parent dc653264ac
commit 11ba1cf5a9
10 changed files with 75 additions and 109 deletions

View File

@ -1,55 +0,0 @@
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

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e41e597e1be462974a03031380d9e5ba9a7efcdb22e4ca2f3fec50361f310874
size 44318064

3
ParaView-v5.8.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:219e4107abf40317ce054408e9c3b22fb935d464238c1c00c0161f1c8697a3f9
size 49789116

View File

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

View File

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

View File

@ -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")

View File

@ -1,3 +1,41 @@
-------------------------------------------------------------------
Tue Feb 18 18:49:49 UTC 2020 - Atri Bhattacharya <badshah400@gmail.com>
- 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_<name>
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 <badshah400@gmail.com>

View File

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