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

224 lines
8.0 KiB
RPMSpec
Raw Normal View History

#
# 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/
#
%define major_ver 5.0
Name: paraview
Version: 5.0.1
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}-source.tar.gz
Source1: %{name}-rpmlintrc
# 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
BuildRequires: Mesa-devel
BuildRequires: boost-devel
BuildRequires: cmake >= 2.8.8
BuildRequires: desktop-file-utils
BuildRequires: doxygen
BuildRequires: gnuplot
BuildRequires: graphviz
BuildRequires: libexpat-devel
BuildRequires: libjpeg-devel
#BuildRequires: libpq5
BuildRequires: libQtWebKit-devel
BuildRequires: libpqxx-devel
BuildRequires: libqt4-devel >= 4.7.0
BuildRequires: libtiff-devel
BuildRequires: openssl-devel
BuildRequires: python-devel
BuildRequires: python-matplotlib
%py_requires
BuildRequires: fdupes
BuildRequires: python-twisted
BuildRequires: python-zope.interface
BuildRequires: qt4-assistant-adp-devel
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.
# Split the SQTK plugin out into ints own package because it makes use of
# components with a different licence, viz., (L)GPL-3.0+ (bnc#804987).
%package -n %{name}-plugin-SciberQuestToolKit
Summary: The SciberQuestToolKit plugin for paraview
License: GPL-2.0+ or LGPL-3.0+
Group: Productivity/Scientific/Physics
Requires: paraview = %{version}-%{release}
%description -n %{name}-plugin-SciberQuestToolKit
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++.
This package provides the SciberQuestToolKit plugin for paraview.
%prep
%setup -q -n ParaView-v%{version}-source
%patch0 -p1
%patch1 -p1
%patch2 -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'
export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
%define paraview_cmake_options \\\
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \\\
-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=%{_datadir}/%{name} \\\
-DBUILD_SHARED_LIBS:BOOL=ON \\\
-DCMAKE_CXX_COMPILER:FILEPATH=$CXX \\\
-DCMAKE_C_COMPILER:FILEPATH=$CC \\\
-DCMAKE_BUILD_TYPE=RelWithDebInfo \\\
-DPARAVIEW_BUILD_QT_GUI:BOOL=ON \\\
-DPARAVIEW_QT_QMAKE_EXECUTABLE=%{_bindir}/qmake \\\
-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 \\\
-DBUILD_DOCUMENTATION:BOOL=ON \\\
-DBUILD_EXAMPLES:BOOL=ON \\\
-DBUILD_TESTING:BOOL=OFF
mkdir temp_dir
pushd temp_dir
cmake .. \
-DPV_INSTALL_LIB_DIR:PATH=%{_lib}/%{name} \
%{paraview_cmake_options}
make %{?_smp_mflags}
popd
%install
find . \( -name \*.txt -o -name \*.xml -o -name '*.[ch]' -o -name '*.[ch][px][px]' \) -print0 | xargs -0 chmod -x
pushd temp_dir
%makeinstall DESTDIR=%{buildroot}
popd
rm -rf temp_dir/
# FIX A BUNCH OF RPMLINT WARNINGS REGARDING python-bytecode-inconsistent-mtime
%py_compile %{buildroot}%{_libdir}/%{name}/site-packages/vtk/
for i in `ls -d %{buildroot}%{_libdir}/%{name}/site-packages/vtk/*/`;
do
%py_compile $i/
done
%py_compile %{buildroot}%{_libdir}/%{name}/site-packages/paraview/vtk/util
# UNNECESSARY STATIC LIB
rm -fr %{buildroot}%{_libexecdir}/libFmmMesh.a
%fdupes %{buildroot}/
%post
/sbin/ldconfig
%icon_theme_cache_post
%desktop_database_post
%post -n %{name}-plugin-SciberQuestToolKit -p /sbin/ldconfig
%postun
/sbin/ldconfig
%icon_theme_cache_postun
%desktop_database_postun
%postun -n %{name}-plugin-SciberQuestToolKit -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc License_v1.2.txt
%{_libdir}/%{name}/
%{_bindir}/*
%{_datadir}/doc/%{name}-%{major_ver}/
%{_datadir}/%{name}/
%dir %{_datadir}/appdata
%{_datadir}/appdata/%{name}.appdata.xml
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%{_datadir}/cmake/hdf5/
%exclude %{_libdir}/%{name}/libSciberQuestToolKit.so
%files -n %{name}-plugin-SciberQuestToolKit
%defattr(-,root,root)
%doc Plugins/SciberQuestToolKit/eigen-3.0.3/eigen-eigen-3.0.3/COPYING.LGPL
%doc Plugins/SciberQuestToolKit/eigen-3.0.3/eigen-eigen-3.0.3/COPYING.GPL
%{_libdir}/%{name}/libSciberQuestToolKit.so
%changelog