SHA256
1
0
forked from pool/paraview
paraview/paraview.spec

212 lines
8.0 KiB
RPMSpec

#
# spec file for package paraview
#
# Copyright (c) 2018 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/
#
%define major_ver 5.5
Name: paraview
Version: 5.5.2
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-%{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-UPSTREAM paraview-pythonqt-build-fix.patch badshah400@gmail.com -- Fix build issues with PythonQtPlugin; patch taken from upstream.
Patch5: paraview-pythonqt-build-fix.patch
# PATCH-FIX-UPSTREAM fix-qt-5.11-931c779.patch -- Required includes for Qt 5.11; from upstream, will be part of ParaView 5.6
Patch6: fix-qt-5.11-931c779.patch
# PATCH-FIX-UPSTREAM fix-hdf5-gcc8.patch -- Adjustments required to work with GCC 8; from upstream, might be part of ParaView 5.6
Patch7: fix-hdf5-gcc8.patch
# PATCH-FIX-OPENSUSE fix-libharu-missing-m.patch -- missing libraries for linking
Patch8: fix-libharu-missing-m.patch
# PATCH-FIX-OPENSUSE fix-libhdf5-missing-m.patch -- missing libraries for linking
Patch9: fix-libhdf5-missing-m.patch
# PATCH-FIX-UPSTREAM fix-no-plugin-doc-dir.patch -- plugin does not contain doc dir
Patch10: fix-no-plugin-doc-dir.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: 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
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)
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
# 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
ParaView is an application for visualizing large data sets.
ParaView runs on distributed and shared memory systems alike. It uses the
Visualization Toolkit as the data processing and rendering engine, and has a
user interface written using a 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}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -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/vtkCompilerExtraFlags.cmake
export CC='gcc'
export CXX='g++'
%cmake -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_USE_VTKM:BOOL=OFF \
-DPARAVIEW_BUILD_QT_GUI:BOOL=ON \
-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_LZMA: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=OFF \
-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}/
%{_includedir}/%{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
%changelog