%define build_mpi 1 %{?_with_build_mpi: %{expand: %%global build_mpi 1}} %{?_without_build_mpit: %{expand: %%global build_mpi 0}} %define pv_maj 3 %define pv_min 6 %define pv_patch 1 %define pv_majmin %{pv_maj}.%{pv_min} %define qt_dir %{qt4dir} %define qt_designer_plugins_dir %{qt4plugins}/designer %define python_include_path %{_includedir}/python%{pyver} %define python_library %{_libdir}/python%{pyver}/config/libpython%{pyver}.a %define python_site_package %{_libdir}/python%{pyver}/site-packages Name: paraview Version: %{pv_majmin}.%{pv_patch} Release: %mkrel 3 Summary: Parallel visualization application Group: Sciences/Other License: BSD URL: http://www.paraview.org/ Source0: http://www.paraview.org/files/v%{pv_majmin}/paraview-%{version}.tar.gz Source2: paraview.xml Source3: http://public.kitware.com/pub/paraview/logos/ParaView-logo-swirl-high-res.png Patch0: paraview-3.6.1-fix-format-errors.patch # fedora patches # http://cvs.fedoraproject.org/viewvc/rpms/paraview/devel Patch10: paraview-3.6.1-doc.patch Patch11: paraview-3.6.1-cmake-install-prefix.patch Patch12: paraview-3.6.1-plugins.patch # gentoo patches # http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-visualization/paraview Patch21: paraview-3.6.1-assistant.patch Patch22: paraview-3.6.1-hdf-1.8.3.patch Patch23: paraview-3.6.1-pointsprite-disable.patch BuildRoot: %{_tmppath}/%{name}-%{version} %if %{mdkversion} >= 200810 BuildRequires: cmake >= 2.5.0-0.20071024.3 %else BuildRequires: cmake %endif %if %{build_mpi} BuildRequires: openmpi BuildRequires: openmpi-devel %endif BuildRequires: desktop-file-utils BuildRequires: doxygen BuildRequires: gnuplot BuildRequires: expat-devel BuildRequires: freetype-devel BuildRequires: GL-devel BuildRequires: graphviz BuildRequires: hdf5-devel BuildRequires: imagemagick BuildRequires: libtiff-devel BuildRequires: python-devel BuildRequires: qt4-devel BuildRequires: qt4-assistant BuildRequires: readline-devel BuildRequires: tk-devel BuildRequires: zlib-devel Requires: %{name}-data = %{version}-%{release} Requires: qt4-assistant %ifarch %x86_64 Requires: lib64hdf5_0 %endif Requires(post): desktop-file-utils Requires(postun): desktop-file-utils %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. 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: This version has NOT been compiled with MPI support. %if %{build_mpi} %package mpi Summary: Parallel visualization application Group: Sciences/Other Requires: %{name}-data = %{version}-%{release} Provides: %{name} Requires(post): desktop-file-utils Requires(postun): desktop-file-utils %description mpi 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. 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: This version has been compiled with OpenMPI support and requires an operating OpenMPI runtime enviroment. %endif %package data Summary: Data files for ParaView Group: Sciences/Other Requires: %{name} = %{version}-%{release} Requires(post): desktop-file-utils Requires(postun): desktop-file-utils %description data %{summary}. %package devel Summary: Development files for ParaView Group: Sciences/Other Requires: %{name} = %{version}-%{release} %description devel %{summary}. %package mpi-devel Summary: Development files for the mpi version of ParaView Group: Sciences/Other Requires: %{name}-mpi = %{version}-%{release} %description mpi-devel %{summary}. %prep %setup -q -n ParaView3 %patch0 -p1 -b .format %patch10 -p1 -b .doc %patch11 -p1 -b .cmake %patch12 -p1 -b .plugins %patch21 -p1 -b .assistant-qt4 %patch22 -p1 -b .hdf %patch23 -p1 -b .pointsprite %build rm -rf paraviewbuild paraviewbuild-mpi mkdir paraviewbuild pushd paraviewbuild export CC='gcc' export CXX='g++' export MAKE='make' export CFLAGS="%{optflags} -DH5_USE_16_API" export CXXFLAGS="%{optflags} -DH5_USE_16_API" export QT_QMAKE_EXECUTABLE=%{qt_dir}/bin/qmake cmake .. \ -DPV_INSTALL_LIB_DIR:PATH=/%{_lib}/paraview \ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ -DCMAKE_CXX_COMPILER:FILEPATH=$CXX \ -DCMAKE_C_COMPILER:FILEPATH=$CC \ -DCMAKE_CXX_FLAGS="%{optflags}" \ -DTCL_LIBRARY:PATH=tcl \ -DTK_LIBRARY:PATH=tk \ -DPARAVIEW_ENABLE_PYTHON:BOOL=ON \ -DPARAVIEW_USE_SYSTEM_HDF5:BOOL=ON \ -DPYTHON_INCLUDE_PATH:PATH=%{python_include_path} \ -DPYTHON_LIBRARY:FILEPATH=%{python_library} \ -DQT_QMAKE_EXECUTABLE:FILEPATH=$QT_QMAKE_EXECUTABLE \ -DQT_INCLUDE_DIR:FILEPATH=%{qt_dir}/include \ -DQT_MOC_EXECUTABLE:FILEPATH=%{qt_dir}/bin/moc \ -DQT_UIC_EXECUTABLE:FILEPATH=%{qt_dir}/bin/uic \ -DVTK_INSTALL_QT_PLUGIN_DIR:STRING=%{qt_designer_plugins_dir} \ -DVTK_OPENGL_HAS_OSMESA:BOOL=OFF \ -DVTK_USE_INFOVIS: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 \ -DBUILD_DOCUMENTATION:BOOL=ON \ -DBUILD_EXAMPLES:BOOL=ON \ -DGLXEXT_LEGACY:BOOL=ON cmake .. %make VERBOSE=1 popd %if %{build_mpi} mkdir paraviewbuild-mpi pushd paraviewbuild-mpi export CC='gcc' export CXX='mpic++' export MAKE='make' export CFLAGS="%{optflags} -DH5_USE_16_API" export CXXFLAGS="%{optflags} -DH5_USE_16_API" cmake .. \ -DPV_INSTALL_LIB_DIR:PATH=/%{_lib}/paraview-mpi \ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ -DCMAKE_CXX_COMPILER:FILEPATH=$CXX \ -DCMAKE_C_COMPILER:FILEPATH=$CC \ -DCMAKE_CXX_FLAGS="%{optflags}" \ -DTCL_LIBRARY:PATH=tcl \ -DTK_LIBRARY:PATH=tk \ -DPARAVIEW_ENABLE_PYTHON:BOOL=ON \ -DPARAVIEW_USE_SYSTEM_HDF5:BOOL=ON \ -DPYTHON_INCLUDE_PATH:PATH=%{python_include_path} \ -DPYTHON_LIBRARY:FILEPATH=%{python_library} \ -DQT_QMAKE_EXECUTABLE:FILEPATH=$QT_QMAKE_EXECUTABLE \ -DQT_INCLUDE_DIR:FILEPATH=%{qt_dir}/include \ -DQT_MOC_EXECUTABLE:FILEPATH=%{qt_dir}/bin/moc \ -DQT_UIC_EXECUTABLE:FILEPATH=%{qt_dir}/bin/uic \ -DVTK_INSTALL_QT_PLUGIN_DIR:STRING=%{qt_designer_plugins_dir} \ -DICET_BUILD_TESTING:BOOL=ON \ -DVTK_USE_MPI:BOOL=ON \ -DMPI_INCLUDE_PATH:PATH="%{_includedir}/openmpi" \ -DMPI_LIBRARY:STRING="-L%{_libdir}/openmpi" \ -DVTK_OPENGL_HAS_OSMESA:BOOL=OFF \ -DVTK_USE_INFOVIS: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 \ -DBUILD_DOCUMENTATION:BOOL=ON \ -DBUILD_EXAMPLES:BOOL=ON \ -DGLXEXT_LEGACY:BOOL=ON cmake .. %make VERBOSE=1 %endif %install rm -rf %{buildroot} mkdir -p %{buildroot}%{_bindir} # Fix permissions find . \( -name \*.txt -o -name \*.xml -o -name '*.[ch]' -o -name '*.[ch][px][px]' \) -print0 | xargs -0 chmod -x # Create some needed directories install -d %{buildroot}%{_datadir}/applications install -d %{buildroot}%{_datadir}/mime/packages install -d %{buildroot}%{_iconsdir} install -d %{buildroot}%{_miconsdir} install -d %{buildroot}%{_liconsdir} install -m644 %{SOURCE2} %{buildroot}%{_datadir}/mime/packages install -m644 %{SOURCE3} ./paraview-logo.png # Build icons convert paraview-logo.png -resize 48x48+0+0! -transparent white %{buildroot}%{_liconsdir}/paraview.png convert paraview-logo.png -resize 32x32+0+0! -transparent white %{buildroot}%{_iconsdir}/paraview.png convert paraview-logo.png -resize 16x16+0+0! -transparent white %{buildroot}%{_miconsdir}/paraview.png %if %{build_mpi} # Install mpi version pushd paraviewbuild-mpi %makeinstall_std mv %{buildroot}/%{_lib}/paraview-mpi/* %{buildroot}%{_libdir}/paraview-mpi rm -r %{buildroot}/%{_lib}/paraview-mpi # ld.conf.d file install -d %{buildroot}%{_sysconfdir}/ld.so.conf.d echo %{_libdir}/paraview-mpi > %{buildroot}%{_sysconfdir}/ld.so.conf.d/paraview-mpi-%{_arch}.conf # Python Path install -d %{buildroot}%{python_site_package} echo %{_libdir}/paraview-mpi > %{buildroot}%{python_site_package}/paraview-mpi.pth # Create desktop file cat > %{name}-mpi.desktop <<EOF [Desktop Entry] Encoding=UTF-8 Name=ParaView Viewer MPI GenericName=ParaView Data Viewer Comment=ParaView allows MPI enabled viewing of large data sets Type=Application Terminal=false Icon=paraview MimeType=application/x-paraview; Categories=Graphics;Science;Math Exec=mpirun C paraview-mpi EOF desktop-file-install --vendor="" \ --dir %{buildroot}%{_datadir}/applications/ \ %{name}-mpi.desktop popd # Move the mpi binaries, includes, and man pages out of the way pushd %{buildroot}/%{_bindir} for f in * do mv $f ${f}-mpi done popd mv %{buildroot}/%{_includedir}/paraview-%{pv_majmin} \ %{buildroot}/%{_includedir}/paraview-%{pv_majmin}-mpi rm -rf %{buildroot}%{_mandir} # Remove mpi copy of documentation rm -rf %{buildroot}%{_datadir}/paraview/Documentation-mpi %endif # Install the normal version pushd paraviewbuild %makeinstall_std mv %{buildroot}/%{_lib}/paraview/* %{buildroot}%{_libdir}/paraview rm -r %{buildroot}/%{_lib}/paraview # ld.conf.d file install -d %{buildroot}%{_sysconfdir}/ld.so.conf.d echo %{_libdir}/paraview > %{buildroot}%{_sysconfdir}/ld.so.conf.d/paraview-%{_arch}.conf # Python Path install -d %{buildroot}%{python_site_package} echo %{_libdir}/paraview > %{buildroot}%{python_site_package}/paraview.pth # Create desktop file cat > %{name}.desktop <<EOF [Desktop Entry] Encoding=UTF-8 Name=ParaView Viewer GenericName=ParaView Data Viewer Comment=ParaView allows viewing of large data sets Type=Application Terminal=false Icon=paraview MimeType=application/x-paraview; Categories=Graphics;Science;Math; Exec=paraview EOF desktop-file-install --vendor="" \ --dir %{buildroot}%{_datadir}/applications/ \ %{name}.desktop popd %clean rm -rf %{buildroot} %post %if %mdkversion < 200900 /sbin/ldconfig %endif %update_desktop_database %postun %if %mdkversion < 200900 /sbin/ldconfig %endif %clean_desktop_database %if %{build_mpi} %post mpi %if %mdkversion < 200900 /sbin/ldconfig %endif %update_desktop_database %postun mpi %if %mdkversion < 200900 /sbin/ldconfig %endif %clean_desktop_database %endif %post data %update_mime_database %postun data %clean_mime_database %files %defattr(-,root,root,-) %doc License_v1.2.txt %doc %{_datadir}/paraview/ %{_sysconfdir}/ld.so.conf.d/paraview-%{_arch}.conf %{_bindir}/paraview %{_bindir}/pvbatch %{_bindir}/pvdataserver %{_bindir}/pvpython %{_bindir}/pvrenderserver %{_bindir}/pvserver %{_bindir}/pvTestDriver %{_bindir}/assistant %{_bindir}/lproj %{_bindir}/vtkSMExtractDocumentation %{_datadir}/applications/%{name}.desktop %{_libdir}/paraview %{qt4plugins}/designer/*.so %{python_site_package}/paraview.pth %if %{build_mpi} %files mpi %defattr(-,root,root,-) %doc License_v1.2.txt %{_sysconfdir}/ld.so.conf.d/paraview-mpi-%{_arch}.conf %{_bindir}/paraview-mpi %{_bindir}/pvbatch-mpi %{_bindir}/pvdataserver-mpi %{_bindir}/pvpython-mpi %{_bindir}/pvrenderserver-mpi %{_bindir}/pvserver-mpi %{_bindir}/pvTestDriver-mpi %{_bindir}/assistant-mpi %{_bindir}/lproj-mpi %{_bindir}/vtkSMExtractDocumentation-mpi %{_datadir}/applications/%{name}-mpi.desktop %{_libdir}/paraview-mpi %{python_site_package}/paraview-mpi.pth %endif %files data %defattr(-,root,root,-) %{_iconsdir}/paraview.png %{_liconsdir}/paraview.png %{_miconsdir}/paraview.png %{_datadir}/mime/packages/paraview.xml %files devel %defattr(-,root,root,-) %{_includedir}/paraview-%{pv_majmin}/ %{_datadir}/paraview %if %{build_mpi} %files mpi-devel %defattr(-,root,root,-) %{_includedir}/paraview-%{pv_majmin}-mpi/ %endif %changelog * Sun Aug 23 2009 Funda Wang <fwang@mandriva.org> 3.6.1-3mdv2010.0 + Revision: 419758 - use correct qt4 plugins dir * Tue Aug 04 2009 Guillaume Rousse <guillomovitch@mandriva.org> 3.6.1-2mdv2010.0 + Revision: 408628 - new version - update patch set from gentoo and fedora - spec cleanup - rediff most fuzzy patches - drop patch 5, merged + Oden Eriksson <oeriksson@mandriva.com> - lowercase ImageMagick + Lev Givon <lev@mandriva.org> - Update to 3.2.3. Remove some patches that are no longer needed, update the others. - Rebuild against latest version of openmpi. + Thierry Vignaud <tvignaud@mandriva.com> - rebuild + Pixel <pixel@mandriva.com> - do not call ldconfig in %%post/%%postun, it is now handled by filetriggers * Sun Mar 09 2008 Funda Wang <fwang@mandriva.org> 3.2.1-6mdv2008.1 + Revision: 182417 - rebuild for qt4 changes * Wed Feb 06 2008 Giuseppe Ghibò <ghibo@mandriva.com> 3.2.1-5mdv2008.1 + Revision: 163069 - Add Patch9 to support OpenFOAM (from GTOO#202685). * Sat Feb 02 2008 Giuseppe Ghibò <ghibo@mandriva.com> 3.2.1-4mdv2008.1 + Revision: 161293 - Add Patch8 for fixing crashes when clicking in the Animation window (fix bug PARAVIEW#6087). * Wed Jan 30 2008 Giuseppe Ghibò <ghibo@mandriva.com> 3.2.1-3mdv2008.1 + Revision: 160597 - Fix Categories in .desktop file. - Fix BuildRequires for 2008.1. - Add Patch7 for compiling with qt4 4.3.3. - import paraview * Thu Jan 29 2008 Giuseppe Ghibò <ghibo@mandriva.com> 3.2.1-2mdv2007.1 - Initial release based on Orion Poplaski (FC8) spec file. - Removed Patch0. - Rework Patch4. - Add Patch6 for building under OpenGL. - Fix python interface path. - New icons.