f5b22d8
%{!?build_mpi:%define build_mpi 1}
341cf2c
%define pv_maj 3
341cf2c
%define pv_min 2
341cf2c
%define pv_patch 1
341cf2c
%define pv_majmin %{pv_maj}.%{pv_min}
45f7118
11ff22f
Name:           paraview
341cf2c
Version:        %{pv_majmin}.%{pv_patch}
172ed03
Release:        5%{?dist}
11ff22f
Summary:        Parallel visualization application
11ff22f
11ff22f
Group:          Applications/Engineering
7fa6ecd
License:        BSD
11ff22f
URL:            http://www.paraview.org/
341cf2c
Source0:        http://www.paraview.org/files/v%{pv_majmin}/paraview-%{version}.tar.gz
11ff22f
Source1:        paraview_22x22.png
11ff22f
Source2:        paraview.xml
3c91827
Patch0:         paraview-3.2-qt.patch
341cf2c
Patch1:         paraview-3.2.1-rpath.patch
341cf2c
Patch2:         paraview-3.2.1-install.patch
341cf2c
Patch3:         paraview-3.2.1-doc.patch
341cf2c
Patch4:         paraview-3.2.1-assistant-qt4.patch
f71f809
Patch5:         paraview-3.2.1-make.patch
20369de
Patch6:         paraview-3.2.1-gcc43.patch
11ff22f
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
11ff22f
45f7118
BuildRequires:  cmake
45f7118
%if %{build_mpi}
45f7118
BuildRequires:  openmpi-devel
45f7118
%endif
f5b22d8
BuildRequires:  qt4-devel, mesa-libOSMesa-devel
11ff22f
BuildRequires:  python-devel, tk-devel, hdf5-devel
f5b22d8
BuildRequires:  freetype-devel, libtiff-devel, zlib-devel
11ff22f
BuildRequires:  expat-devel
11ff22f
BuildRequires:  /usr/bin/desktop-file-install
f5b22d8
BuildRequires:  doxygen, graphviz
341cf2c
BuildRequires:  readline-devel
11ff22f
Requires:       %{name}-data = %{version}-%{release}
341cf2c
Requires:       qt4-assistant
11ff22f
Requires(post):   /usr/bin/update-desktop-database
11ff22f
Requires(postun): /usr/bin/update-desktop-database
f71f809
Obsoletes:      paraview-demos <= %{version}-%{release}
11ff22f
11ff22f
11ff22f
%description
11ff22f
ParaView is an application designed with the need to visualize large data
11ff22f
sets in mind. The goals of the ParaView project include the following:
11ff22f
11ff22f
    * Develop an open-source, multi-platform visualization application.
11ff22f
    * Support distributed computation models to process large data sets.
11ff22f
    * Create an open, flexible, and intuitive user interface.
11ff22f
    * Develop an extensible architecture based on open standards.
11ff22f
11ff22f
ParaView runs on distributed and shared memory parallel as well as single
11ff22f
processor systems and has been successfully tested on Windows, Linux and
11ff22f
various Unix workstations and clusters. Under the hood, ParaView uses the
11ff22f
Visualization Toolkit as the data processing and rendering engine and has a
11ff22f
user interface written using a unique blend of Tcl/Tk and C++.
11ff22f
11ff22f
NOTE: This version has NOT been compiled with MPI support.
11ff22f
11ff22f
45f7118
%if %{build_mpi}
11ff22f
%package        mpi
11ff22f
Summary:        Parallel visualization application
11ff22f
Group:          Applications/Engineering
11ff22f
Requires:       %{name}-data = %{version}-%{release}
11ff22f
Provides:       %{name}
11ff22f
Requires(post):   /usr/bin/update-desktop-database
11ff22f
Requires(postun): /usr/bin/update-desktop-database
11ff22f
11ff22f
%description    mpi
11ff22f
ParaView is an application designed with the need to visualize large data
11ff22f
sets in mind. The goals of the ParaView project include the following:
11ff22f
11ff22f
    * Develop an open-source, multi-platform visualization application.
11ff22f
    * Support distributed computation models to process large data sets.
11ff22f
    * Create an open, flexible, and intuitive user interface.
11ff22f
    * Develop an extensible architecture based on open standards.
11ff22f
11ff22f
ParaView runs on distributed and shared memory parallel as well as single
11ff22f
processor systems and has been successfully tested on Windows, Linux and
11ff22f
various Unix workstations and clusters. Under the hood, ParaView uses the
11ff22f
Visualization Toolkit as the data processing and rendering engine and has a
11ff22f
user interface written using a unique blend of Tcl/Tk and C++.
11ff22f
f5b22d8
NOTE: This version has been compiled with OpenMPI support and requires an
f5b22d8
operating OpenMPI runtime enviroment.
45f7118
%endif
11ff22f
11ff22f
%package        data
11ff22f
Summary:        Data files for ParaView
11ff22f
Group:          Applications/Engineering
9455d00
Requires:       %{name} = %{version}-%{release}
11ff22f
Requires(post):   /usr/bin/update-mime-database
11ff22f
Requires(postun): /usr/bin/update-mime-database
11ff22f
11ff22f
%description    data
11ff22f
%{summary}.
11ff22f
11ff22f
f5b22d8
%package        devel
f5b22d8
Summary:        Development files for ParaView
11ff22f
Group:          Applications/Engineering
f5b22d8
Requires:       %{name} = %{version}-%{release}
f5b22d8
f5b22d8
%description    devel
f5b22d8
%{summary}.
f5b22d8
11ff22f
f5b22d8
%package        mpi-devel
f5b22d8
Summary:        Development files for the mpi version of ParaView
f5b22d8
Group:          Applications/Engineering
f5b22d8
Requires:       %{name}-mpi = %{version}-%{release}
f5b22d8
f5b22d8
%description    mpi-devel
11ff22f
%{summary}.
11ff22f
11ff22f
11ff22f
%prep
3c91827
%setup -q -n ParaView%{version}
3c91827
%patch -p1 -b .qt
341cf2c
%patch1 -p1 -b .rpath
341cf2c
%patch2 -p1 -b .install
341cf2c
%patch3 -p1 -b .doc
341cf2c
%patch4 -p1 -b .assistant-qt4
f71f809
%patch5 -p0 -b .make
20369de
%patch6 -p1 -b .gcc43
11ff22f
11ff22f
11ff22f
%build
11ff22f
rm -rf fedora fedora-mpi
11ff22f
mkdir fedora
11ff22f
pushd fedora
11ff22f
export CC='gcc'
11ff22f
export CXX='g++'
11ff22f
export MAKE='make'
172ed03
export CFLAGS="$RPM_OPT_FLAGS -DH5_USE_16_API"
172ed03
export CXXFLAGS="$RPM_OPT_FLAGS -DH5_USE_16_API"
f5b22d8
%cmake .. \
f5b22d8
        -DPV_INSTALL_LIB_DIR:PATH=/%{_lib}/paraview \
11ff22f
        -DCMAKE_CXX_COMPILER:FILEPATH=$CXX \
11ff22f
        -DCMAKE_C_COMPILER:FILEPATH=$CC \
11ff22f
        -DTCL_LIBRARY:PATH=tcl \
11ff22f
        -DTK_LIBRARY:PATH=tk \
f5b22d8
        -DPARAVIEW_ENABLE_PYTHON:BOOL=ON \
11ff22f
        -DPARAVIEW_USE_SYSTEM_HDF5:BOOL=ON \
710af13
        -DVTK_OPENGL_HAS_OSMESA:BOOL=ON \
341cf2c
        -DVTK_USE_INFOVIS:BOOL=OFF \
11ff22f
        -DVTK_USE_SYSTEM_EXPAT:BOOL=ON \
11ff22f
        -DVTK_USE_SYSTEM_FREETYPE:BOOL=ON \
11ff22f
        -DVTK_USE_SYSTEM_JPEG:BOOL=ON \
11ff22f
        -DVTK_USE_SYSTEM_PNG:BOOL=ON \
11ff22f
        -DVTK_USE_SYSTEM_TIFF:BOOL=ON \
11ff22f
        -DVTK_USE_SYSTEM_ZLIB:BOOL=ON \
11ff22f
        -DBUILD_DOCUMENTATION:BOOL=ON \
11ff22f
        -DBUILD_EXAMPLES:BOOL=ON
f5b22d8
cmake ..
f71f809
make VERBOSE=1 %{?_smp_mflags}
11ff22f
popd
45f7118
%if %{build_mpi}
11ff22f
mkdir fedora-mpi
11ff22f
pushd fedora-mpi
11ff22f
export CC='gcc'
036a686
export CXX='mpic++'
11ff22f
export MAKE='make'
172ed03
export CFLAGS="$RPM_OPT_FLAGS -DH5_USE_16_API"
172ed03
export CXXFLAGS="$RPM_OPT_FLAGS -DH5_USE_16_API"
f5b22d8
%cmake .. \
f5b22d8
        -DPV_INSTALL_LIB_DIR:PATH=/%{_lib}/paraview-mpi \
11ff22f
        -DCMAKE_CXX_COMPILER:FILEPATH=$CXX \
11ff22f
        -DCMAKE_C_COMPILER:FILEPATH=$CC \
11ff22f
        -DTCL_LIBRARY:PATH=tcl \
11ff22f
        -DTK_LIBRARY:PATH=tk \
f5b22d8
        -DPARAVIEW_ENABLE_PYTHON:BOOL=ON \
11ff22f
        -DPARAVIEW_USE_SYSTEM_HDF5:BOOL=ON \
f5b22d8
        -DICET_BUILD_TESTING:BOOL=ON \
11ff22f
        -DVTK_USE_MPI:BOOL=ON \
036a686
        -DMPI_INCLUDE_PATH:PATH="%{_includedir}/openmpi" \
036a686
        -DMPI_LIBRARY:STRING="-L%{_libdir}/openmpi" \
710af13
        -DVTK_OPENGL_HAS_OSMESA:BOOL=ON \
341cf2c
        -DVTK_USE_INFOVIS:BOOL=OFF \
11ff22f
        -DVTK_USE_SYSTEM_EXPAT:BOOL=ON \
11ff22f
        -DVTK_USE_SYSTEM_FREETYPE:BOOL=ON \
11ff22f
        -DVTK_USE_SYSTEM_JPEG:BOOL=ON \
11ff22f
        -DVTK_USE_SYSTEM_PNG:BOOL=ON \
11ff22f
        -DVTK_USE_SYSTEM_TIFF:BOOL=ON \
11ff22f
        -DVTK_USE_SYSTEM_ZLIB:BOOL=ON \
11ff22f
        -DBUILD_DOCUMENTATION:BOOL=ON \
11ff22f
        -DBUILD_EXAMPLES:BOOL=ON
f5b22d8
cmake ..
f71f809
make VERBOSE=1 %{?_smp_mflags}
45f7118
%endif
11ff22f
11ff22f
%install
11ff22f
rm -rf $RPM_BUILD_ROOT
11ff22f
11ff22f
#Fix permissions
11ff22f
find . \( -name \*.txt -o -name \*.xml -o -name '*.[ch]' -o -name '*.[ch][px][px]' \) -print0 | xargs -0 chmod -x
11ff22f
11ff22f
# Create some needed directories
11ff22f
install -d $RPM_BUILD_ROOT%{_datadir}/applications
11ff22f
install -d $RPM_BUILD_ROOT%{_datadir}/pixmaps
11ff22f
install -m644 %SOURCE1 $RPM_BUILD_ROOT%{_datadir}/pixmaps
11ff22f
install -d $RPM_BUILD_ROOT%{_datadir}/mime/packages
11ff22f
install -m644 %SOURCE2 $RPM_BUILD_ROOT%{_datadir}/mime/packages
11ff22f
45f7118
%if %{build_mpi}
11ff22f
# Install mpi version
11ff22f
pushd fedora-mpi
11ff22f
make install DESTDIR=$RPM_BUILD_ROOT
f5b22d8
341cf2c
#ld.conf.d file
341cf2c
install -d $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d
52ebed9
echo %{_libdir}/paraview-mpi > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/paraview-mpi-%{_arch}.conf
341cf2c
f5b22d8
#Create desktop file
11ff22f
cat > paraview-mpi.desktop <
11ff22f
[Desktop Entry]
11ff22f
Encoding=UTF-8
11ff22f
Name=ParaView Viewer MPI
11ff22f
GenericName=Data Viewer
11ff22f
Comment=ParaView allows MPI enabled viewing of large data sets
11ff22f
Type=Application
11ff22f
Terminal=false
341cf2c
Icon=paraview_22x22
341cf2c
MimeType=application/x-paraview;
11ff22f
Categories=Application;Graphics;
11ff22f
Exec=mpirun C paraview-mpi
11ff22f
EOF
11ff22f
11ff22f
desktop-file-install --vendor=fedora \
11ff22f
       --add-category=X-Fedora \
11ff22f
       --dir %{buildroot}%{_datadir}/applications/ \
11ff22f
       paraview-mpi.desktop
11ff22f
11ff22f
popd
11ff22f
f5b22d8
#Move the mpi binaries, includes, and man pages out of the way
11ff22f
pushd $RPM_BUILD_ROOT/%{_bindir}
11ff22f
for f in *
11ff22f
do
11ff22f
   mv $f ${f}-mpi
11ff22f
done
11ff22f
popd
341cf2c
mv $RPM_BUILD_ROOT/%{_includedir}/paraview-%{pv_majmin} $RPM_BUILD_ROOT/%{_includedir}/paraview-%{pv_majmin}-mpi
f5b22d8
rm -rf $RPM_BUILD_ROOT%{_mandir}
341cf2c
341cf2c
#Remove mpi copy of documentation
341cf2c
rm -rf $RPM_BUID_ROOT%{_datadir}/paraview/Documentation-mpi
341cf2c
rm -rf $RPM_BUID_ROOT%{_libdir}/paraview-mpi/doc
45f7118
%endif
11ff22f
11ff22f
#Install the normal version
11ff22f
pushd fedora
11ff22f
make install DESTDIR=$RPM_BUILD_ROOT
f5b22d8
341cf2c
#ld.conf.d file
341cf2c
install -d $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d
52ebed9
echo %{_libdir}/paraview > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/paraview-%{_arch}.conf
341cf2c
f5b22d8
#Create desktop file
11ff22f
cat > paraview.desktop <
11ff22f
[Desktop Entry]
11ff22f
Encoding=UTF-8
11ff22f
Name=ParaView Viewer
11ff22f
GenericName=Data Viewer
11ff22f
Comment=ParaView allows viewing of large data sets
11ff22f
Type=Application
11ff22f
Terminal=false
341cf2c
Icon=paraview_22x22
341cf2c
MimeType=application/x-paraview;
11ff22f
Categories=Application;Graphics;
11ff22f
Exec=paraview
11ff22f
EOF
11ff22f
11ff22f
desktop-file-install --vendor=fedora \
11ff22f
       --add-category=X-Fedora \
11ff22f
       --dir %{buildroot}%{_datadir}/applications/ \
11ff22f
       paraview.desktop
11ff22f
11ff22f
popd
11ff22f
f5b22d8
#Don't ship the VTK Qt Designer plugin
f5b22d8
rm -r $RPM_BUILD_ROOT/usr/plugins
036a686
11ff22f
11ff22f
%clean
11ff22f
rm -rf $RPM_BUILD_ROOT
11ff22f
11ff22f
11ff22f
%post
341cf2c
/sbin/ldconfig
11ff22f
update-desktop-database &> /dev/null ||:
11ff22f
f5b22d8
11ff22f
%postun
341cf2c
/sbin/ldconfig
11ff22f
update-desktop-database &> /dev/null ||:
11ff22f
11ff22f
45f7118
%if %{build_mpi}
11ff22f
%post   mpi
341cf2c
/sbin/ldconfig
11ff22f
update-desktop-database &> /dev/null ||:
11ff22f
11ff22f
%postun mpi
341cf2c
/sbin/ldconfig
11ff22f
update-desktop-database &> /dev/null ||:
45f7118
%endif
11ff22f
11ff22f
%post   data
11ff22f
update-mime-database %{_datadir}/mime &> /dev/null || :
11ff22f
11ff22f
%postun data
11ff22f
update-mime-database %{_datadir}/mime &> /dev/null || :
11ff22f
11ff22f
11ff22f
%files
11ff22f
%defattr(-,root,root,-)
f5b22d8
%doc License_v1.1.txt
52ebed9
%{_sysconfdir}/ld.so.conf.d/paraview-%{_arch}.conf
11ff22f
%{_bindir}/paraview
341cf2c
%{_bindir}/pvbatch
11ff22f
%{_bindir}/pvdataserver
710af13
%{_bindir}/pvpython
11ff22f
%{_bindir}/pvrenderserver
11ff22f
%{_bindir}/pvserver
f5b22d8
%{_bindir}/pvTestDriver
341cf2c
%doc %{_datadir}/paraview/
11ff22f
%{_datadir}/applications/fedora-paraview.desktop
f5b22d8
%{_libdir}/paraview/
341cf2c
%exclude %{_libdir}/paraview/doc/
11ff22f
11ff22f
45f7118
%if %{build_mpi}
11ff22f
%files mpi
11ff22f
%defattr(-,root,root,-)
f5b22d8
%doc License_v1.1.txt
52ebed9
%{_sysconfdir}/ld.so.conf.d/paraview-mpi-%{_arch}.conf
11ff22f
%{_bindir}/paraview-mpi
341cf2c
%{_bindir}/pvbatch-mpi
11ff22f
%{_bindir}/pvdataserver-mpi
710af13
%{_bindir}/pvpython-mpi
11ff22f
%{_bindir}/pvrenderserver-mpi
11ff22f
%{_bindir}/pvserver-mpi
f5b22d8
%{_bindir}/pvTestDriver-mpi
11ff22f
%{_datadir}/applications/fedora-paraview-mpi.desktop
f5b22d8
%{_libdir}/paraview-mpi/
45f7118
%endif
11ff22f
11ff22f
11ff22f
%files data
11ff22f
%defattr(-,root,root,-)
11ff22f
%{_datadir}/pixmaps/paraview_22x22.png
11ff22f
%{_datadir}/mime/packages/paraview.xml
11ff22f
11ff22f
f5b22d8
%files devel
11ff22f
%defattr(-,root,root,-)
341cf2c
%{_includedir}/paraview-%{pv_majmin}/
341cf2c
%doc %{_libdir}/paraview/doc/
f5b22d8
f5b22d8
f5b22d8
%files mpi-devel
f5b22d8
%defattr(-,root,root,-)
341cf2c
%{_includedir}/paraview-%{pv_majmin}-mpi/
11ff22f
11ff22f
11ff22f
%changelog
172ed03
* Fri Feb 29 2008 - Orion Poplawski <orion@cora.nwra.com> - 3.2.1-5
172ed03
- Rebuild for hdf5 1.8.0 using compatability API define
172ed03
20369de
* Mon Feb 18 2008 - Orion Poplawski <orion@cora.nwra.com> - 3.2.1-4
20369de
- Add patch to compile with gcc 4.3
20369de
f71f809
* Fri Jan 18 2008 - Orion Poplawski <orion@cora.nwra.com> - 3.2.1-3
f71f809
- Add patch to fix parallel make
f71f809
- Obsolete demos package (bug #428528)
f71f809
543ad8d
* Tue Dec 18 2007 - Orion Poplawski <orion@cora.nwra.com> - 3.2.1-2
52ebed9
- Name ld.so.conf.d file with .conf extension
84bd768
- Drop parallel make for now
52ebed9
543ad8d
* Mon Dec 03 2007 - Orion Poplawski <orion@cora.nwra.com> - 3.2.1-1
3c91827
- Update to 3.2.1
341cf2c
- Use macros for version numbers
341cf2c
- Add patches to fix documentation install location and use assistant-qt4,
341cf2c
  not install copies of Qt libraries, and not use rpath.
341cf2c
- Install ld.so.conf.d file
341cf2c
- Fixup desktop files
3c91827
543ad8d
* Thu Aug 23 2007 - Orion Poplawski <orion@cora.nwra.com> - 3.0.2-2
7fa6ecd
- Update license tag to BSD
7fa6ecd
- Fix make %%{_smp_mflags}
7fa6ecd
- Rebuild for ppc32
7fa6ecd
543ad8d
* Wed Jul 11 2007 - Orion Poplawski <orion@cora.nwra.com> - 3.0.2-1
f5b22d8
- Update to 3.0.2
f5b22d8
- Turn mpi build back on
f5b22d8
- Add devel packages
f5b22d8
- Remove demo package no longer in upstream
f5b22d8
- Use cmake macros
f5b22d8
543ad8d
* Thu Mar 08 2007 - Orion Poplawski <orion@cora.nwra.com> - 2.4.4-6
45f7118
- Don't build mpi version until upstream fixes the build system
45f7118
543ad8d
* Fri Dec 22 2006 - Orion Poplawski <orion@cora.nwra.com> - 2.4.4-5
036a686
- Fix .so permissions
036a686
- Patch for const issue
036a686
- Patch for new cmake
036a686
- Build with openmpi
036a686
df271c4
* Thu Dec 14 2006 - Jef Spaleta <jspaleta@gmail.com> - 2.4.4-4
df271c4
- Bump and build for python 2.5
df271c4
543ad8d
* Fri Oct  6 2006 - Orion Poplawski <orion@cora.nwra.com> - 2.4.4-3
c00a71c
- Install needed python libraries to get around make install bug
c00a71c
543ad8d
* Wed Oct  4 2006 - Orion Poplawski <orion@cora.nwra.com> - 2.4.4-2
710af13
- Re-enable OSMESA support for FC6
710af13
- Enable python wrapping
710af13
543ad8d
* Fri Sep 15 2006 - Orion Poplawski <orion@cora.nwra.com> - 2.4.4-1
f5fc6f8
- Update to 2.4.4
f5fc6f8
543ad8d
* Thu Jun 29 2006 - Orion Poplawski <orion@cora.nwra.com> - 2.4.3-8
9455d00
- No OSMesa support in FC5
9455d00
- Make data sub-package pull in main package (bug #193837)
9455d00
- A patch from CVS to fix vtkXOpenRenderWindow.cxx
dc468ba
- Need lam-devel for FC6
9455d00
543ad8d
* Fri Apr 21 2006 - Orion Poplawski <orion@cora.nwra.com> - 2.4.3-7
0b2b598
- Re-enable ppc
0b2b598
543ad8d
* Mon Apr 17 2006 - Orion Poplawski <orion@cora.nwra.com> - 2.4.3-6
d340521
- Exclude ppc due to gcc bug #189160
d340521
543ad8d
* Wed Apr 12 2006 - Orion Poplawski <orion@cora.nwra.com> - 2.4.3-5
11ff22f
- Cleanup permissions
11ff22f
543ad8d
* Mon Apr 10 2006 - Orion Poplawski <orion@cora.nwra.com> - 2.4.3-4
11ff22f
- Add icon and cleanup desktop file
11ff22f
543ad8d
* Mon Apr 10 2006 - Orion Poplawski <orion@cora.nwra.com> - 2.4.3-3
11ff22f
- Add VTK_USE_MANGLE_MESA for off screen rendering
11ff22f
- Cleanup source permisions
11ff22f
- Add an initial .desktop file
11ff22f
- Make requirement on -data specific to version
11ff22f
- Don't package Ice-T man pages and cmake files
11ff22f
543ad8d
* Thu Apr  6 2006 - Orion Poplawski <orion@cora.nwra.com> - 2.4.3-2
11ff22f
- Add mpi version
11ff22f
543ad8d
* Tue Apr  4 2006 - Orion Poplawski <orion@cora.nwra.com> - 2.4.3-1
11ff22f
- Initial Fedora Extras version