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/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.7.0.tar.xz b/ParaView-v5.7.0.tar.xz new file mode 100644 index 0000000..429d1c6 --- /dev/null +++ b/ParaView-v5.7.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e41e597e1be462974a03031380d9e5ba9a7efcdb22e4ca2f3fec50361f310874 +size 44318064 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.7.0.pdf b/ParaViewGettingStarted-5.7.0.pdf new file mode 100644 index 0000000..f49ceaf --- /dev/null +++ b/ParaViewGettingStarted-5.7.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.7.0.pdf similarity index 100% rename from ParaViewGuide-5.6.2.pdf rename to ParaViewGuide-5.7.0.pdf 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-QtGUI-missing-GLX_mesa-linking.patch b/fix-QtGUI-missing-GLX_mesa-linking.patch new file mode 100644 index 0000000..1cb4496 --- /dev/null +++ b/fix-QtGUI-missing-GLX_mesa-linking.patch @@ -0,0 +1,13 @@ +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/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..9bb2733 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.7.0/Applications/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.7.0.orig/Applications/ParaView/org.paraview.ParaView.desktop.in ++++ ParaView-v5.7.0/Applications/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..c10f597 100644 --- a/paraview-rpmlintrc +++ b/paraview-rpmlintrc @@ -1,10 +1,2 @@ -# 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") - -# 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") +addFilter("hidden-file-or-dir .*/usr/lib.*/paraview.*/plugins/\.plugins") diff --git a/paraview.changes b/paraview.changes index 993b4fd..c701442 100644 --- a/paraview.changes +++ b/paraview.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +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..8320620 100644 --- a/paraview.spec +++ b/paraview.spec @@ -16,7 +16,8 @@ # -%define major_ver 5.6 +%define major_ver 5.7 +%define shlib libparaview5_7 %if 0%{?suse_version} <= 1500 %bcond_with pugixml @@ -29,7 +30,7 @@ %bcond_with haru Name: paraview -Version: 5.6.2 +Version: 5.7.0 Release: 0 Summary: Data analysis and visualization application License: BSD-3-Clause @@ -42,49 +43,50 @@ 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-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 +BuildRequires: desktop-file-utils BuildRequires: double-conversion-devel BuildRequires: doxygen +BuildRequires: exodusii-devel BuildRequires: fdupes +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 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: 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 +97,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,79 +134,84 @@ 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} %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-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|}" 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_BUILD_QT_GUI:BOOL=ON \ + -DPARAVIEW_ENABLE_PYTHON:BOOL=ON \ + -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 \ + -DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON \ + -DVTK_MODULE_USE_EXTERNAL_VTK_eigen=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 -%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 +# External pugixml does not work similarly +# -DVTK_MODULE_USE_EXTERNAL_VTK_pugixml=ON %make_jobs @@ -205,8 +220,9 @@ find . \( -name \*.txt -o -name \*.xml -o -name '*.[ch]' -o -name '*.[ch][px][px %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 @@ -214,33 +230,41 @@ install -Dm0644 %{S:3} %{buildroot}%{_datadir}/%{name}-%{major_ver}/doc/Guide.pd %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}/* %changelog