%{!?build_mpi:%define build_mpi 0} Name: paraview Version: 2.4.4 Release: 5%{?dist} Summary: Parallel visualization application Group: Applications/Engineering License: Distributable URL: http://www.paraview.org/ Source0: http://www.paraview.org/files/v2.4/paraview-%{version}.tar.gz Source1: paraview_22x22.png Source2: paraview.xml Patch0: paraview-2.4.2-tcltk.patch Patch1: paraview-2.4.3-png.patch Patch2: paraview-2.4.3-python.patch Patch3: paraview-2.4.4-const.patch Patch4: paraview-2.4.4-cmake245.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: cmake %if %{build_mpi} BuildRequires: openmpi-devel %endif BuildRequires: libGLU-devel, libXt-devel, mesa-libOSMesa-devel BuildRequires: python-devel, tk-devel, hdf5-devel BuildRequires: freetype-devel, libjpeg-devel, libpng-devel, libtiff-devel, zlib-devel BuildRequires: expat-devel BuildRequires: /usr/bin/desktop-file-install Requires: %{name}-data = %{version}-%{release} Requires(post): /usr/bin/update-desktop-database Requires(postun): /usr/bin/update-desktop-database %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: This version has NOT been compiled with MPI support. %if %{build_mpi} %package mpi Summary: Parallel visualization application Group: Applications/Engineering Requires: %{name}-data = %{version}-%{release} Provides: %{name} Requires(post): /usr/bin/update-desktop-database Requires(postun): /usr/bin/update-desktop-database %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 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: This version has been compiled with LAM-MPI support and requires an operating LAM-MPI runtime enviroment. %endif %package data Summary: Data files for ParaView Group: Applications/Engineering Requires: %{name} = %{version}-%{release} Requires(post): /usr/bin/update-mime-database Requires(postun): /usr/bin/update-mime-database %description data %{summary}. %package demos Summary: Demo files for ParaView Group: Applications/Engineering Requires: %{name}-data = %{version}-%{release} %description demos %{summary}. %prep %setup -q %patch -p1 -b .tcltk %patch1 -p1 -b .png %patch2 -p1 -b .python %patch3 -p0 -b .const %patch4 -p1 -b .cmake245 rm -rf Utilities/TclTk sed -i -e 's,INSTALL_FILES(/man/,INSTALL_FILES(/share/man/,' Utilities/IceT/doc/man/CMakeLists.txt %build rm -rf fedora fedora-mpi mkdir fedora pushd fedora export CC='gcc' export CXX='g++' export MAKE='make' export CFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$RPM_OPT_FLAGS" cmake .. \ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ -DPV_INSTALL_LIB_DIR:PATH=/%{_lib}/paraview-2.4 \ -DCMAKE_SKIP_RPATH:BOOL=ON \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DCMAKE_CXX_COMPILER:FILEPATH=$CXX \ -DCMAKE_C_COMPILER:FILEPATH=$CC \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DTCL_LIBRARY:PATH=tcl \ -DTK_LIBRARY:PATH=tk \ -DPARAVIEW_USE_SYSTEM_HDF5:BOOL=ON \ -DPARAVIEW_WRAP_PYTHON:BOOL=ON \ -DVTK_OPENGL_HAS_OSMESA:BOOL=ON \ -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 make popd %if %{build_mpi} mkdir fedora-mpi pushd fedora-mpi export CC='gcc' export CXX='mpic++' export MAKE='make' export CFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$RPM_OPT_FLAGS" cmake .. \ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ -DPV_INSTALL_LIB_DIR:PATH=/%{_lib}/paraview-2.4-mpi \ -DCMAKE_SKIP_RPATH:BOOL=ON \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DCMAKE_CXX_COMPILER:FILEPATH=$CXX \ -DCMAKE_C_COMPILER:FILEPATH=$CC \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DTCL_LIBRARY:PATH=tcl \ -DTK_LIBRARY:PATH=tk \ -DPARAVIEW_USE_SYSTEM_HDF5:BOOL=ON \ -DPARAVIEW_WRAP_PYTHON:BOOL=ON \ -DVTK_USE_MPI:BOOL=ON \ -DMPI_INCLUDE_PATH:PATH="%{_includedir}/openmpi" \ -DMPI_LIBRARY:STRING="-L%{_libdir}/openmpi" \ -DVTK_OPENGL_HAS_OSMESA:BOOL=ON \ -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 make %endif %install rm -rf $RPM_BUILD_ROOT #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 $RPM_BUILD_ROOT%{_datadir}/applications install -d $RPM_BUILD_ROOT%{_datadir}/pixmaps install -m644 %SOURCE1 $RPM_BUILD_ROOT%{_datadir}/pixmaps install -d $RPM_BUILD_ROOT%{_datadir}/mime/packages install -m644 %SOURCE2 $RPM_BUILD_ROOT%{_datadir}/mime/packages %if %{build_mpi} # Install mpi version pushd fedora-mpi make install DESTDIR=$RPM_BUILD_ROOT #Get rid of useless man and cmake files install -m 755 bin/libvtkPVServerCommonPython.so $RPM_BUILD_ROOT%{_libdir}/paraview-2.4-mpi/ install -m 755 bin/libvtkPVServerManagerPython.so $RPM_BUILD_ROOT%{_libdir}/paraview-2.4-mpi/ rm -rf $RPM_BUILD_ROOT%{_mandir} rm $RPM_BUILD_ROOT%{_libdir}/paraview-2.4-mpi/*ICET*cmake cat > paraview-mpi.desktop < paraview.desktop < /dev/null ||: %postun update-desktop-database &> /dev/null ||: %if %{build_mpi} %post mpi update-desktop-database &> /dev/null ||: %postun mpi update-desktop-database &> /dev/null ||: %endif %post data update-mime-database %{_datadir}/mime &> /dev/null || : %postun data update-mime-database %{_datadir}/mime &> /dev/null || : %files %defattr(-,root,root,-) %doc Copyright.txt README.html %{_bindir}/paraview %{_bindir}/pvbatch %{_bindir}/pvclient %{_bindir}/pvdataserver %{_bindir}/pvpython %{_bindir}/pvrenderserver %{_bindir}/pvserver %{_datadir}/applications/fedora-paraview.desktop %{_libdir}/paraview-2.4/ %if %{build_mpi} %files mpi %defattr(-,root,root,-) %doc Copyright.txt README.html %{_bindir}/paraview-mpi %{_bindir}/pvbatch-mpi %{_bindir}/pvclient-mpi %{_bindir}/pvdataserver-mpi %{_bindir}/pvpython-mpi %{_bindir}/pvrenderserver-mpi %{_bindir}/pvserver-mpi %{_datadir}/applications/fedora-paraview-mpi.desktop %{_libdir}/paraview-2.4-mpi/ %endif %files data %defattr(-,root,root,-) %{_datadir}/paraview-2.4/ %exclude %{_datadir}/paraview-2.4/Demos %{_datadir}/pixmaps/paraview_22x22.png %{_datadir}/mime/packages/paraview.xml %files demos %defattr(-,root,root,-) %{_datadir}/paraview-2.4/Demos/ %changelog * Thu Mar 08 2007 - Orion Poplawski - 2.4.4-6 - Don't build mpi version until upstream fixes the build system * Fri Dec 22 2006 - Orion Poplawski - 2.4.4-5 - Fix .so permissions - Patch for const issue - Patch for new cmake - Build with openmpi * Thu Dec 14 2006 - Jef Spaleta - 2.4.4-4 - Bump and build for python 2.5 * Fri Oct 6 2006 - Orion Poplawski - 2.4.4-3 - Install needed python libraries to get around make install bug * Wed Oct 4 2006 - Orion Poplawski - 2.4.4-2 - Re-enable OSMESA support for FC6 - Enable python wrapping * Fri Sep 15 2006 - Orion Poplawski - 2.4.4-1 - Update to 2.4.4 * Thu Jun 29 2006 - Orion Poplawski - 2.4.3-8 - No OSMesa support in FC5 - Make data sub-package pull in main package (bug #193837) - A patch from CVS to fix vtkXOpenRenderWindow.cxx - Need lam-devel for FC6 * Fri Apr 21 2006 - Orion Poplawski - 2.4.3-7 - Re-enable ppc * Mon Apr 17 2006 - Orion Poplawski - 2.4.3-6 - Exclude ppc due to gcc bug #189160 * Wed Apr 12 2006 - Orion Poplawski - 2.4.3-5 - Cleanup permissions * Mon Apr 10 2006 - Orion Poplawski - 2.4.3-4 - Add icon and cleanup desktop file * Mon Apr 10 2006 - Orion Poplawski - 2.4.3-3 - Add VTK_USE_MANGLE_MESA for off screen rendering - Cleanup source permisions - Add an initial .desktop file - Make requirement on -data specific to version - Don't package Ice-T man pages and cmake files * Thu Apr 6 2006 - Orion Poplawski - 2.4.3-2 - Add mpi version * Tue Apr 4 2006 - Orion Poplawski - 2.4.3-1 - Initial Fedora Extras version