diff --git a/0001-Add-libogg-to-IOMovie-target-link-libraries.patch b/0001-Add-libogg-to-IOMovie-target-link-libraries.patch index 77ce575..14be565 100644 --- a/0001-Add-libogg-to-IOMovie-target-link-libraries.patch +++ b/0001-Add-libogg-to-IOMovie-target-link-libraries.patch @@ -7,18 +7,15 @@ 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() +Index: ParaView-v5.7.0/VTK/IO/Movie/CMakeLists.txt +=================================================================== +--- ParaView-v5.7.0.orig/VTK/IO/Movie/CMakeLists.txt ++++ ParaView-v5.7.0/VTK/IO/Movie/CMakeLists.txt +@@ -20,3 +20,7 @@ if (WIN32 AND VTK_USE_VIDEO_FOR_WINDOWS) + 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 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.6.2.tar.xz b/ParaView-v5.6.2.tar.xz deleted file mode 100644 index a4b60e4..0000000 --- a/ParaView-v5.6.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1f3710b77c58a46891808dbe23dc59a1259d9c6b7bb123aaaeaa6ddf2be882ea -size 38739692 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.6.0.pdf b/ParaViewGettingStarted-5.6.0.pdf deleted file mode 100644 index b6d70f3..0000000 --- a/ParaViewGettingStarted-5.6.0.pdf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f8d48cc69fcc65a34b7938c2e4f207fdf3af4b68be666a96e1e512c0fa235da4 -size 1571569 diff --git a/ParaViewGettingStarted-5.8.0.pdf b/ParaViewGettingStarted-5.8.0.pdf new file mode 100644 index 0000000..f49ceaf --- /dev/null +++ b/ParaViewGettingStarted-5.8.0.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6d3d003c072f078f4a88e5646dc376619257a55de61e27055a51d7ddea6b093 +size 1326335 diff --git a/ParaViewGuide-5.6.2.pdf b/ParaViewGuide-5.6.2.pdf deleted file mode 100644 index d551720..0000000 --- a/ParaViewGuide-5.6.2.pdf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9af322a3d04101f1c9cd2f8150e838360ca349a6a4060d3747fb6997ce543aa7 -size 49306429 diff --git a/ParaViewGuide-5.8.0.pdf b/ParaViewGuide-5.8.0.pdf new file mode 100644 index 0000000..d84cb6b --- /dev/null +++ b/ParaViewGuide-5.8.0.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:097239c700e7a78fc12bb2c9efdc856c2ade4c94d7c41538531ad3f173a65da7 +size 49311320 diff --git a/bundled_exodusii_add_missing_libpthread.patch b/bundled_exodusii_add_missing_libpthread.patch index d14be24..a2acb18 100644 --- a/bundled_exodusii_add_missing_libpthread.patch +++ b/bundled_exodusii_add_missing_libpthread.patch @@ -1,14 +1,13 @@ ---- 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} +Index: ParaView-v5.7.0/VTK/ThirdParty/exodusII/vtkexodusII/CMakeLists.txt +=================================================================== +--- ParaView-v5.7.0.orig/VTK/ThirdParty/exodusII/vtkexodusII/CMakeLists.txt ++++ ParaView-v5.7.0/VTK/ThirdParty/exodusII/vtkexodusII/CMakeLists.txt +@@ -301,6 +301,8 @@ vtk_module_add_module(VTK::exodusII + SOURCES ${sources} + HEADERS ${headers} + HEADERS_SUBDIR "vtkexodusII/include") ++vtk_module_link(VTK::exodusII PUBLIC pthread) ++vtk_module_link(VTK::exodusII PUBLIC hdf5) + target_compile_definitions(exodusII + PRIVATE + exoIIc_EXPORTS) diff --git a/fix-libharu-missing-m.patch b/fix-libharu-missing-m.patch index b509c48..d19ef0c 100644 --- a/fix-libharu-missing-m.patch +++ b/fix-libharu-missing-m.patch @@ -1,24 +1,13 @@ ---- a/VTK/ThirdParty/libharu/vtklibharu/CMakeLists.txt -+++ b/VTK/ThirdParty/libharu/vtklibharu/CMakeLists.txt -@@ -125,6 +125,9 @@ +Index: ParaView-v5.7.0/VTK/ThirdParty/libharu/vtklibharu/CMakeLists.txt +=================================================================== +--- ParaView-v5.7.0.orig/VTK/ThirdParty/libharu/vtklibharu/CMakeLists.txt ++++ ParaView-v5.7.0/VTK/ThirdParty/libharu/vtklibharu/CMakeLists.txt +@@ -125,6 +125,8 @@ if(PNG_FOUND) endif(PNG_FOUND) endif () -+find_library(M_LIB m) -+set(ADDITIONAL_LIBRARIES ${ADDITIONAL_LIBRARIES} ${M_LIB}) ++link_libraries(m dl pthread) + # ======================================================================= # configure header files, add compiler flags # ======================================================================= - ---- a/VTK/ThirdParty/libharu/vtklibharu/src/CMakeLists.txt -+++ b/VTK/ThirdParty/libharu/vtklibharu/src/CMakeLists.txt -@@ -102,7 +102,7 @@ - endif(LIBHPDF_SHARED) - else () - vtk_add_library(vtklibharu ${LIBHPDF_SRCS}) -- target_link_libraries(vtklibharu PRIVATE ${vtkzlib_LIBRARIES} ${vtkpng_LIBRARIES}) -+ target_link_libraries(vtklibharu PRIVATE ${vtkzlib_LIBRARIES} ${vtkpng_LIBRARIES} ${ADDITIONAL_LIBRARIES}) - if (WIN32) - set_target_properties(vtklibharu - PROPERTIES diff --git a/fix-loguru-missing-links.patch b/fix-loguru-missing-links.patch new file mode 100644 index 0000000..ac83617 --- /dev/null +++ b/fix-loguru-missing-links.patch @@ -0,0 +1,15 @@ +Index: ParaView-v5.7.0/VTK/ThirdParty/loguru/vtkloguru/CMakeLists.txt +=================================================================== +--- ParaView-v5.7.0.orig/VTK/ThirdParty/loguru/vtkloguru/CMakeLists.txt ++++ ParaView-v5.7.0/VTK/ThirdParty/loguru/vtkloguru/CMakeLists.txt +@@ -10,6 +12,10 @@ vtk_module_add_module(VTK::loguru + HEADERS ${headers} + HEADERS_SUBDIR "vtkloguru") + ++vtk_module_link(VTK::loguru PUBLIC m) ++vtk_module_link(VTK::loguru PUBLIC dl) ++vtk_module_link(VTK::loguru PUBLIC pthread) ++ + include(GenerateExportHeader) + generate_export_header(loguru + EXPORT_MACRO_NAME LOGURU_EXPORT diff --git a/paraview-desktop-entry-fix.patch b/paraview-desktop-entry-fix.patch index 9ad2772..ca3b617 100644 --- a/paraview-desktop-entry-fix.patch +++ b/paraview-desktop-entry-fix.patch @@ -1,9 +1,9 @@ -Index: ParaView-v5.4.0/Applications/ParaView/paraview.desktop.in +Index: ParaView-v5.8.0/Clients/ParaView/org.paraview.ParaView.desktop.in =================================================================== ---- ParaView-v5.4.0.orig/Applications/ParaView/paraview.desktop.in -+++ ParaView-v5.4.0/Applications/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 + Exec=paraview %f TryExec=paraview Icon=paraview +Categories=Graphics;2DGraphics;3DGraphics; diff --git a/paraview-find-qhelpgenerator-qt5.patch b/paraview-find-qhelpgenerator-qt5.patch deleted file mode 100644 index 86b681a..0000000 --- a/paraview-find-qhelpgenerator-qt5.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: ParaView-v5.6.0/CMake/ParaViewMacros.cmake -=================================================================== ---- ParaView-v5.6.0.orig/CMake/ParaViewMacros.cmake -+++ ParaView-v5.6.0/CMake/ParaViewMacros.cmake -@@ -259,7 +259,7 @@ - endif() - - find_program(QT_XMLPATTERNS_EXECUTABLE -- xmlpatterns -+ NAMES xmlpatterns xmlpatterns-qt5 - HINTS "${qt_binary_dir_hints}" - DOC "xmlpatterns used to generate html from Proxy documentation.") - mark_as_advanced(QT_XMLPATTERNS_EXECUTABLE) diff --git a/paraview-fix-file-contains-date-time.patch b/paraview-fix-file-contains-date-time.patch deleted file mode 100644 index 225506b..0000000 --- a/paraview-fix-file-contains-date-time.patch +++ /dev/null @@ -1,40 +0,0 @@ -Index: ParaView-v5.5.0/VTK/ThirdParty/netcdf/vtknetcdf/libdispatch/derror.c -=================================================================== ---- ParaView-v5.5.0.orig/VTK/ThirdParty/netcdf/vtknetcdf/libdispatch/derror.c -+++ ParaView-v5.5.0/VTK/ThirdParty/netcdf/vtknetcdf/libdispatch/derror.c -@@ -13,7 +13,7 @@ - #endif - - /* Tell the user the version of netCDF. */ --static const char nc_libvers[] = PACKAGE_VERSION " of "__DATE__" "__TIME__" $"; -+static const char nc_libvers[] = PACKAGE_VERSION; - - /** - \defgroup lib_version Library Version - -Index: ParaView-v5.5.0/Plugins/AnalyzeNIfTIReaderWriter/vtknifti1_io.cxx -=================================================================== ---- ParaView-v5.5.0.orig/Plugins/AnalyzeNIfTIReaderWriter/vtknifti1_io.cxx -+++ ParaView-v5.5.0/Plugins/AnalyzeNIfTIReaderWriter/vtknifti1_io.cxx -@@ -438,7 +438,7 @@ void vtknifti1_io::nifti_disp_lib_hist( - *//*--------------------------------------------------------------------*/ - void vtknifti1_io::nifti_disp_lib_version( void ) - { -- printf("%s, compiled %s\n", gni_version, __DATE__); -+ printf("%s\n", gni_version); - } - - -Index: ParaView-v5.5.0/Plugins/CDIReader/cdilib.c -=================================================================== ---- ParaView-v5.5.0.orig/Plugins/CDIReader/cdilib.c -+++ ParaView-v5.5.0/Plugins/CDIReader/cdilib.c -@@ -5274,7 +5274,7 @@ static void file_table_print(void); - #define LIBVERSION 1.8.2 - #define XSTRING(x) #x - #define STRING(x) XSTRING(x) --static const char file_libvers[] = STRING(LIBVERSION) " of " __DATE__ " " __TIME__; -+static const char file_libvers[] = STRING(LIBVERSION); - typedef struct _filePtrToIdx { - int idx; - bfile_t *ptr; diff --git a/paraview-link-against-python.patch b/paraview-link-against-python.patch new file mode 100644 index 0000000..6558c84 --- /dev/null +++ b/paraview-link-against-python.patch @@ -0,0 +1,45 @@ +Index: ParaView-v5.7.0/VTK/Web/Core/CMakeLists.txt +=================================================================== +--- ParaView-v5.7.0.orig/VTK/Web/Core/CMakeLists.txt ++++ ParaView-v5.7.0/VTK/Web/Core/CMakeLists.txt +@@ -1,3 +1,10 @@ ++if ("${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" VERSION_GREATER "3.7") ++ link_libraries(python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}) ++else ("${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" VERSION_GREATER "3.7") ++ link_libraries(python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}m) ++endif ("${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" VERSION_GREATER "3.7") ++ ++ + set(classes + vtkDataEncoder + vtkObjectIdMap +Index: ParaView-v5.7.0/VTK/Wrapping/PythonCore/CMakeLists.txt +=================================================================== +--- ParaView-v5.7.0.orig/VTK/Wrapping/PythonCore/CMakeLists.txt ++++ ParaView-v5.7.0/VTK/Wrapping/PythonCore/CMakeLists.txt +@@ -1,3 +1,10 @@ ++if ("${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" VERSION_GREATER "3.7") ++ link_libraries(python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}) ++else ("${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" VERSION_GREATER "3.7") ++ link_libraries(python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}m) ++endif ("${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" VERSION_GREATER "3.7") ++ ++ + set(classes + vtkPythonArgs + vtkPythonCommand +Index: ParaView-v5.7.0/VTK/Utilities/PythonInterpreter/CMakeLists.txt +=================================================================== +--- ParaView-v5.7.0.orig/VTK/Utilities/PythonInterpreter/CMakeLists.txt ++++ ParaView-v5.7.0/VTK/Utilities/PythonInterpreter/CMakeLists.txt +@@ -1,3 +1,9 @@ ++if ("${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" VERSION_GREATER "3.7") ++ link_libraries(python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}) ++else ("${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" VERSION_GREATER "3.7") ++ link_libraries(python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}m) ++endif ("${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" VERSION_GREATER "3.7") ++ + set(classes + vtkPythonInteractiveInterpreter + vtkPythonInterpreter) + diff --git a/paraview-rpmlintrc b/paraview-rpmlintrc index 90b5527..da06531 100644 --- a/paraview-rpmlintrc +++ b/paraview-rpmlintrc @@ -1,10 +1,6 @@ -# paraview has *.so symbolic links to other files -# and these are mistaken by rpmlint to be devel files -addFilter("devel-file-in-non-devel-package") +# 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") -# Upstream doesn't supply manpages, so no go here -addFilter("no-manual-page-for-binary") -# The hidden .plugin file is really needed -addFilter("hidden-file-or-dir .*/usr/lib64/paraview/.plugins") -addFilter("hidden-file-or-dir .*/usr/lib64/paraview*/.plugins") diff --git a/paraview.changes b/paraview.changes index 993b4fd..e54a2e1 100644 --- a/paraview.changes +++ b/paraview.changes @@ -1,3 +1,80 @@ +------------------------------------------------------------------- +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 + +- Update to version 5.7.0: + See https://blog.kitware.com/paraview-5-7-0-release-notes/ +- Split out new subpackages: libparaview5_7 for all the shared + libs, paraview-plugins for bundled plugins, and python3-paraview + for python3 bindings. +- Move shared libraries to %{_libdir} and install them as part of + libparaview5_7. +- Update commands passed to cmake in keeping with upstream's + overhaul. +- Drop paraview-find-qhelpgenerator-qt5.patch: no longer needed. +- Drop paraview-fix-file-contains-date-time.patch: GCC supports + SOURCE_DATE_EPOCH and, as such, this fix is no longer needed. +- Switch to python3: Paraview is production ready with python3 + starting with version 5.7.0, and python2 support is slated to be + dropped from the next major upgrade. +- Rebase patches for updated version: + * fix-libharu-missing-m.patch. + * bundled_exodusii_add_missing_libpthread.patch. +- New patches to fix linking problems introduced with version + 5.7.0: + * fix-loguru-missing-links.patch: Add linking to libraries libm, + libdl, and libpthread when building loguru. + * fix-QtGUI-missing-GLX_mesa-linking.patch: Link to library + libGLX_mesa when building Qt GUI support. + * paraview-link-against-python.patch to fix linking against + the python library. +- Patch 0001-Allow-compilation-on-GLES-platforms.patch needs + rebase; commented out for now. +- Switch an env based hashbang with one directly calling the + required binary (python3 in this case). +- Switch as many BuildRequires as possible to pkgconfig based + ones. +- Update rpmlintrc file to remove no longer needed filters and + update the leftover filter (hidden file or dir) for directory + change. + ------------------------------------------------------------------- Fri Jan 31 22:05:09 UTC 2020 - Atri Bhattacharya diff --git a/paraview.spec b/paraview.spec index 6cc929f..4e55a19 100644 --- a/paraview.spec +++ b/paraview.spec @@ -16,7 +16,8 @@ # -%define major_ver 5.6 +%define major_ver 5.8 +%define shlib libparaview5_8 %if 0%{?suse_version} <= 1500 %bcond_with pugixml @@ -28,8 +29,10 @@ # Need patched version with HPDF_SHADING %bcond_with haru +%define __builder ninja + Name: paraview -Version: 5.6.2 +Version: 5.8.0 Release: 0 Summary: Data analysis and visualization application License: BSD-3-Clause @@ -42,49 +45,49 @@ Source2: https://www.paraview.org/files/v%{major_ver}/ParaViewGettingStar Source3: https://www.paraview.org/files/v%{major_ver}/ParaViewGuide-%{version}.pdf # PATCH-FIX-UPSTREAM paraview-desktop-entry-fix.patch badshah400@gmail.com -- Fix desktop menu entry by inserting proper required categories Patch1: paraview-desktop-entry-fix.patch -# PATCH-FIX-UPSTREAM paraview-fix-file-contains-date-time.patch badshah400@gmail.com -- Remove reference to __DATE__ and __TIME__ from source -Patch2: paraview-fix-file-contains-date-time.patch # PATCH-FIX-UPSTREAM paraview-do-not-install-missing-vtk-doxygen-dir.patch foss@grueninger.de -- Remove install of nonexistent doxygen/html dir Patch3: paraview-do-not-install-missing-vtk-doxygen-dir.patch -# PATCH-FIX-UPSTREAM paraview-find-qhelpgenerator-qt5.patch badshah400@gmail.com -- Help find qhelpgenerator-qt5 instead of qhelpgenerator when Qt5 is used -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-UPSTREAM paraview-link-against-python.patch badshah400@gmail.com -- Fix linking to python library +Patch9: paraview-link-against-python.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 +# 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 BuildRequires: Mesa-devel BuildRequires: cgns-devel BuildRequires: cmake >= 3.3 +BuildRequires: desktop-file-utils BuildRequires: double-conversion-devel BuildRequires: doxygen +BuildRequires: exodusii-devel BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: gcc-fortran BuildRequires: gnuplot BuildRequires: graphviz BuildRequires: hdf5-devel BuildRequires: libboost_graph-devel BuildRequires: libboost_headers-devel -BuildRequires: libexpat-devel +%if %{with gl2ps} +BuildRequires: gl2ps-devel +%endif %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: python-qt5-devel -BuildRequires: python-rpm-macros +BuildRequires: ninja +BuildRequires: python3-Sphinx +BuildRequires: python3-Twisted +BuildRequires: python3-devel +BuildRequires: python3-matplotlib +BuildRequires: python3-qt5-devel BuildRequires: readline-devel +BuildRequires: utfcpp-devel BuildRequires: wget -BuildRequires: zlib-devel BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Gui) BuildRequires: pkgconfig(Qt5Help) @@ -95,23 +98,31 @@ BuildRequires: pkgconfig(Qt5Widgets) BuildRequires: pkgconfig(Qt5X11Extras) BuildRequires: pkgconfig(Qt5Xml) BuildRequires: pkgconfig(eigen3) >= 2.91.0 +BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(glew) BuildRequires: pkgconfig(jsoncpp) >= 0.7.0 +BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(liblz4) >= 1.7.3 BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libpqxx) +BuildRequires: pkgconfig(libtiff-4) BuildRequires: pkgconfig(netcdf) BuildRequires: pkgconfig(ogg) +BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(protobuf) >= 2.6.0 %if %{with pugixml} BuildRequires: pkgconfig(pugixml) %endif BuildRequires: pkgconfig(theora) BuildRequires: pkgconfig(xt) +BuildRequires: pkgconfig(zlib) +Recommends: %{name}-plugins Requires: gnuplot Requires: graphviz -Requires: python-Twisted -Requires: python-qt5 +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig +BuildRoot: %{_tmppath}/%{name}-%{version}-build %description ParaView is a data analysis and visualization application for @@ -124,123 +135,128 @@ batch processing. NOTE: The version in this package has NOT been compiled with MPI support. +%package -n %{shlib} +Summary: Shared libraries for Paraview +Group: Productivity/Scientific/Physics + +%description -n %{shlib} +This package provides the shared libraries for paraview. + %package devel Summary: Headers for building ParaView plugins or embedding Catalyst Group: Development/Libraries/Other -Requires: %{name} = %{version} +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 for ParaView or to embed ParaView Catalyst in a simulation program. +%package -n python3-paraview +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 +This package provides the python(3) bindings and modules for paraview. + +%package plugins +Summary: Plugins for paraview +Group: Productivity/Scientific/Physics +Requires: %{name} = %{version} + +%description plugins +This package provides the paraview plugins bundled with the upstream release. + %prep -%setup -q -n ParaView-v%{version} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch8 -p1 -#%%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 +%autosetup -p1 -n ParaView-v%{version} + +# FIX env BASED HASHBANG +sed -Ei "1{s|#!/usr/bin/env python3|#!/usr/bin/python3|}" Clients/CommandLineExecutables/paraview-config %build %global _lto_cflags %{_lto_cflags} -ffat-lto-objects -export CC='gcc' -export CXX='g++' +%cmake -DCMAKE_INSTALL_LIBDIR=%{_lib} \ + -DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name} \ + -DPARAVIEW_BUILD_SHARED_LIBS:BOOL=ON \ + -DCMAKE_SKIP_RPATH:BOOL=OFF \ + -DPARAVIEW_USE_VTKM:BOOL=OFF \ + -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 \ + -DBUILD_EXAMPLES:BOOL=OFF \ + -DBUILD_TESTING:BOOL=OFF \ + -DQtTesting_INSTALL_NO_DEVELOPMENT:BOOL=ON \ + -DVTK_BUILD_QT_DESIGNER_PLUGIN:BOOL=OFF \ + -DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=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_pugixml=%{?with_pugixml:ON}%{!?with_pugixml:OFF} -%cmake -DPV_INSTALL_LIB_DIR:PATH=%{_lib}/%{name} \ - -DVTK_INSTALL_ARCHIVE_DIR:PATH=%{_lib}/%{name} \ - -DVTK_INSTALL_LIBRARY_DIR:PATH=%{_lib}/%{name} \ - -DVTK_INSTALL_PACKAGE_DIR:PATH=%{_lib}/cmake/%{name}-%{major_ver} \ - -DVTK_INSTALL_DATA_DIR=share/%{name} \ - -DVTK_INSTALL_DOC_DIR=share/doc/packages/%{name} \ - -DCMAKE_CXX_COMPILER:FILEPATH=$CXX \ - -DCMAKE_C_COMPILER:FILEPATH=$CC \ - -DCMAKE_SKIP_RPATH:BOOL=OFF \ - -DPARAVIEW_USE_VTKM:BOOL=OFF \ - -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_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_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: 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}" \ - -# FIXME: CAUSES PYTHON BYTECODE TIMESTAMP WARNINGS -# -G"Unix Makefiles" \ - -# https://gitlab.kitware.com/paraview/paraview/issues/17049 from -# -DCMAKE_SKIP_RPATH:BOOL=ON - -%make_jobs +%cmake_build %install find . \( -name \*.txt -o -name \*.xml -o -name '*.[ch]' -o -name '*.[ch][px][px]' \) -exec chmod -x "{}" + %cmake_install -# UNNECESSARY STATIC LIB -rm -fr %{buildroot}%{_libexecdir}/libFmmMesh.a +# UNNECESSARY STATIC LIBS +rm -fr %{buildroot}%{_libdir}/*.a +rm %{buildroot}%{_libdir}/%{name}-%{major_ver}/plugins/GeodesicMeasurement/libFmmMesh.a # INSTALL DOCUMENTATION USED BY THE HELP MENU IN MAIN APP 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 -p /sbin/ldconfig +%post -n %{shlib} -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%postun -n %{shlib} -p /sbin/ldconfig %files -%defattr(-,root,root) -%license License_v1.2.txt - +%license %{_datadir}/licenses/ParaView/ +%{_bindir}/* %exclude %{_bindir}/smTest* %exclude %{_bindir}/vtk* -%exclude %{_includedir}/ -%exclude %{_libdir}/cmake/ - -%{_libdir}/%{name}/ -%{_bindir}/* -%{_docdir}/%{name}/ %{_datadir}/%{name}-%{major_ver}/ -%dir %{_datadir}/appdata -%{_datadir}/appdata/%{name}.appdata.xml -%{_datadir}/applications/%{name}.desktop +%dir %{_datadir}/metainfo +%{_datadir}/metainfo/*.appdata.xml +%{_datadir}/applications/*.desktop %{_datadir}/icons/hicolor/*/apps/%{name}.png +%{_docdir}/paraview/ +%dir %{_libdir}/vtk/ +%dir %{_libdir}/vtk/hierarchy +%{_libdir}/vtk/hierarchy/ParaView/ + +%files -n %{shlib} +%{_libdir}/*.so.* + +%files plugins +%{_libdir}/%{name}-%{major_ver}/ %files devel -%defattr(-,root,root) +%{_libdir}/*.so +%{_libdir}/cmake/paraview-%{major_ver}/ %{_bindir}/smTest* %{_bindir}/vtk* %{_includedir}/%{name}* -%{_libdir}/cmake/%{name}-%{major_ver}/ + +%files -n python3-paraview +%{python3_sitearch}/%{name}/ %changelog