# # spec file for package paraview # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %if 0%{?suse_version} > 1320 || (0%{?suse_version} == 1315 && 0%{?sle_version} >= 120200) %define use_qt5 1 %else %define use_qt5 0 %endif %define major_ver 5.3 Name: paraview Version: 5.3.0 Release: 0 Summary: Data analysis and visualization application License: BSD-3-Clause Group: Productivity/Scientific/Physics Url: http://www.paraview.org Source0: http://www.paraview.org/files/v%{major_ver}/ParaView-v%{version}.tar.gz Source1: %{name}-rpmlintrc Source2: http://www.paraview.org/files/v%{major_ver}/ParaViewGettingStarted-%{version}.pdf Source3: http://www.paraview.org/files/v%{major_ver}/ParaViewGuide-%{version}.pdf Source4: http://www.paraview.org/files/v%{major_ver}/ParaViewTutorial.pdf # PATCH-FIX-OPENSUSE paraview-default-qtstyle.patch badshah400@gmail.com -- Make paraview inherit default qt gui look and feel, instead of using the Plastique theme Patch0: paraview-default-qtstyle.patch # 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-UPSTREAM paraview-pythonqt-build-fix.patch badshah400@gmail.com -- Fix build issues with PythonQtPlugin; patch taken from upstream. Patch5: paraview-pythonqt-build-fix.patch BuildRequires: Mesa-devel BuildRequires: boost-devel BuildRequires: cmake >= 3.3 BuildRequires: desktop-file-utils BuildRequires: doxygen BuildRequires: gnuplot BuildRequires: graphviz BuildRequires: libexpat-devel BuildRequires: libjpeg-devel BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(xt) #BuildRequires: libpq5 BuildRequires: libpqxx-devel BuildRequires: libtiff-devel BuildRequires: openssl-devel BuildRequires: python-Sphinx BuildRequires: python-devel BuildRequires: python-matplotlib BuildRequires: pkgconfig(freetype2) %py_requires BuildRequires: fdupes BuildRequires: python-twisted BuildRequires: python-zope.interface %if 0%{?use_qt5} BuildRequires: python-qt5-devel BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Gui) BuildRequires: pkgconfig(Qt5Help) BuildRequires: pkgconfig(Qt5Network) BuildRequires: pkgconfig(Qt5PrintSupport) BuildRequires: pkgconfig(Qt5WebKit) BuildRequires: pkgconfig(Qt5WebKitWidgets) BuildRequires: pkgconfig(Qt5Widgets) BuildRequires: pkgconfig(Qt5X11Extras) BuildRequires: pkgconfig(Qt5Xml) %else BuildRequires: libQtWebKit-devel BuildRequires: libqt4-devel >= 4.7.0 BuildRequires: python-qt4-devel BuildRequires: qt4-assistant-adp-devel %endif BuildRequires: readline-devel BuildRequires: tk-devel BuildRequires: wget BuildRequires: zlib-devel Requires: gnuplot Requires: graphviz Requires: python Requires: python-base Requires: python-twisted Requires: python-zope.interface BuildRoot: %{_tmppath}/%{name}-%{version}-build %description ParaView is an application designed with the need to visualize large data sets in mind. The goals of the ParaView project include the following: * Develop an open-source, multi-platform visualization application. * Support distributed computation models to process large data sets. * Create an open, flexible, and intuitive user interface. * Develop an extensible architecture based on open standards. ParaView runs on distributed and shared memory parallel as well as single processor systems and has been successfully tested on Windows, Linux and various Unix workstations and clusters. Under the hood, ParaView uses the Visualization Toolkit as the data processing and rendering engine and has a user interface written using a unique blend of Tcl/Tk and C++. NOTE: The version in this package has NOT been compiled with MPI support. %prep %setup -q -n ParaView-v%{version} %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %build # 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/vtkCompilerExtras.cmake export CC='gcc' export CXX='g++' export MAKE='make' # FIXME: WE CANNOT USE THE %%cmake MACRO BECAUSE SOME OF ITS OPTIONS CAUSE ISSUES (SEE FIXME'S BELOW); REPLICATE IT HERE LEAVING OUT THE PROBLEMATIC AND UNUSED OPTIONS find ./ -name CMakeLists.txt \ -exec sed -i -re '/^[[:blank:]]*[sS][eE][tT][[:blank:]]*\\\([[:blank:]]*(CMAKE_BUILD_TYPE|CMAKE_COLOR_MAKEFILE|CMAKE_INSTALL_PREFIX|CMAKE_VERBOSE_MAKEFILE).*\\\)/{s/^/#IGNORE /}' {} + mkdir -p build cd build cmake $OLDPWD \ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_C_FLAGS="${CFLAGS:-%optflags} -DNDEBUG" \ -DCMAKE_CXX_FLAGS="${CXXFLAGS:-%optflags} -DNDEBUG" \ -DCMAKE_Fortran_FLAGS="${FFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}} -DNDEBUG" \ -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \ -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \ -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DCMAKE_COLOR_MAKEFILE:BOOL=OFF \ -DPV_INSTALL_LIB_DIR:PATH=%{_lib}/%{name} \ -DVTK_INSTALL_INCLUDE_DIR:PATH=include/%{name} \ -DVTK_INSTALL_ARCHIVE_DIR:PATH=%{_lib}/%{name} \ -DVTK_INSTALL_LIBRARY_DIR:PATH=%{_lib}/%{name} \ -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_BUILD_QT_GUI:BOOL=ON \ %if 0%{?use_qt5} -DPARAVIEW_QT_VERSION:STRING="5" \ %else -DPARAVIEW_QT_VERSION:STRING="4" \ %endif -DPARAVIEW_BUILD_PLUGIN_SLACTools:BOOL=ON \ -DPARAVIEW_ENABLE_PYTHON:BOOL=ON \ -DVTK_WRAP_PYTHON:BOOL=ON \ -DVTK_WRAP_PYTHON_SIP:BOOL=ON \ -DVTK_OPENGL_HAS_OSMESA:BOOL=OFF \ -DVTK_USE_SYSTEM_EXPAT:BOOL=ON \ -DVTK_USE_SYSTEM_FREETYPE:BOOL=ON \ -DVTK_USE_SYSTEM_JPEG:BOOL=ON \ -DVTK_USE_SYSTEM_PNG:BOOL=ON \ -DVTK_USE_SYSTEM_TIFF:BOOL=ON \ -DVTK_USE_SYSTEM_ZLIB:BOOL=ON \ -DVTK_USE_SYSTEM_ZOPE:BOOL=ON \ -DVTK_USE_SYSTEM_TWISTED:BOOL=ON \ -DVTK_USE_SYSTEM_GL2PS:BOOL=OFF \ -DBUILD_DOCUMENTATION:BOOL=ON \ -DBUILD_EXAMPLES:BOOL=ON \ -DBUILD_TESTING:BOOL=OFF # 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}" \ # 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 %install find . \( -name \*.txt -o -name \*.xml -o -name '*.[ch]' -o -name '*.[ch][px][px]' \) -print0 | xargs -0 chmod -x %cmake_install # UNNECESSARY STATIC LIB rm -fr %{buildroot}%{_libexecdir}/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 install -Dm0644 %{S:4} %{buildroot}%{_datadir}/%{name}-%{major_ver}/doc/Tutorial.pdf %fdupes %{buildroot}/ %post /sbin/ldconfig %icon_theme_cache_post %desktop_database_post %postun /sbin/ldconfig %icon_theme_cache_postun %desktop_database_postun %files %defattr(-,root,root) %doc License_v1.2.txt %{_libdir}/%{name}/ %{_bindir}/* %{_docdir}/%{name}/ %{_datadir}/%{name}-%{major_ver}/ %dir %{_datadir}/appdata %{_datadir}/appdata/%{name}.appdata.xml %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/*/apps/%{name}.png %{_datadir}/cmake/hdf5/ %changelog