diff --git a/.cvsignore b/.cvsignore index e69de29..a7f176e 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +vtk-5.0.3.tar.gz diff --git a/sources b/sources index e69de29..b62a147 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +0148a3d3c46d0599ab63e79f7f406609 vtk-5.0.3.tar.gz diff --git a/vtk-5.0.0-pythondestdir.patch b/vtk-5.0.0-pythondestdir.patch new file mode 100644 index 0000000..c24f65a --- /dev/null +++ b/vtk-5.0.0-pythondestdir.patch @@ -0,0 +1,11 @@ +--- VTK/Wrapping/Python/CMakeLists.txt~ 2005-08-25 21:31:14.000000000 +0200 ++++ VTK/Wrapping/Python/CMakeLists.txt 2006-05-27 13:32:40.000000000 +0200 +@@ -299,7 +299,7 @@ + # Create default python setup arguments if they are not set. + IF(DEFINED VTK_PYTHON_SETUP_ARGS) + ELSE(DEFINED VTK_PYTHON_SETUP_ARGS) +- SET(VTK_PYTHON_SETUP_ARGS "--prefix=\"${DOLLAR}{CMAKE_INSTALL_PREFIX}\"" ++ SET(VTK_PYTHON_SETUP_ARGS "--root=\"${DOLLAR}{CMAKE_INSTALL_PREFIX}\" -O1" + CACHE STRING "Arguments passed to \"python setup.py install ...\" during installation.") + MARK_AS_ADVANCED(VTK_PYTHON_SETUP_ARGS) + ENDIF(DEFINED VTK_PYTHON_SETUP_ARGS) diff --git a/vtk.spec b/vtk.spec new file mode 100644 index 0000000..d2ff423 --- /dev/null +++ b/vtk.spec @@ -0,0 +1,433 @@ +%bcond_without OSMesa +%bcond_with qt4 +%bcond_without java + +%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} + +Summary: The Visualization Toolkit - A high level 3D visualization library +Name: vtk +Version: 5.0.3 +Release: 18%{?dist} +License: BSD-like +Group: System Environment/Libraries +Source: http://www.vtk.org/files/release/5.0/%{name}-%{version}.tar.gz +Patch0: vtk-5.0.0-pythondestdir.patch +URL: http://vtk.org/ +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +BuildRequires: cmake >= 2.0.4 +BuildRequires: gcc-c++ +%{?with_java:BuildRequires: java-devel} +BuildRequires: libX11-devel, libXt-devel, libXext-devel +BuildRequires: libICE-devel, libGL-devel +%{?with_OSMesa:BuildRequires: mesa-libOSMesa-devel} +BuildRequires: tk-devel, tcl-devel +BuildRequires: python-devel +BuildRequires: expat-devel, freetype-devel, libjpeg-devel, libpng-devel +BuildRequires: libtiff-devel, zlib-devel +BuildRequires: qt-devel +%{?with_qt4:BuildRequires: qt4-devel} +BuildRequires: chrpath + +%description +VTK is an open-source software system for image processing, 3D +graphics, volume rendering and visualization. VTK includes many +advanced algorithms (e.g., surface reconstruction, implicit modelling, +decimation) and rendering techniques (e.g., hardware-accelerated +volume rendering, LOD control). + +%package devel +Summary: VTK header files for building C++ code +Requires: vtk = %{version}-%{release} +Group: Development/Libraries + +%description devel +This provides the VTK header files required to compile C++ programs that +use VTK to do 3D visualisation. + +%package tcl +Summary: Tcl bindings for VTK +Requires: vtk = %{version}-%{release} +Group: System Environment/Libraries + +%description tcl +tcl bindings for VTK + +%package python +Summary: Python bindings for VTK +Requires: vtk = %{version}-%{release} +Group: System Environment/Libraries + +%description python +python bindings for VTK + +%if %{with java} +%package java +Summary: Java bindings for VTK +Requires: vtk = %{version}-%{release} +Group: System Environment/Libraries + +%description java +Java bindings for VTK +%endif + +%package qt +Summary: Qt bindings for VTK +Requires: vtk = %{version}-%{release} +Group: System Environment/Libraries + +%description qt +Qt bindings for VTK + +%package testing +Summary: Testing programs for VTK +Requires: vtk = %{version}-%{release}, vtkdata = %{version} +Group: Applications/Engineering + +%description testing +Testing programs for VTK + +%package examples +Summary: Examples for VTK +Requires: vtk = %{version}-%{release}, vtkdata = %{version} +Group: Applications/Engineering + +%description examples +This package contains many well-commented examples showing how to use +VTK. Examples are available in the C++, Tcl, Python and Java +programming languages. + + +%prep +%setup -q -n VTK +%patch0 -p1 + +# Replace relative path ../../../VTKData with %{_datadir}/vtkdata-%{version} +# otherwise it will break on symlinks. +grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs \ + perl -pi -e's,\.\./\.\./\.\./\.\./VTKData,%{_datadir}/vtkdata-%{version},g' + +# Remove executable bits from sources +find . -name \*.c -or -name \*.cxx -or -name \*.h | xargs chmod -x + +# Save an unbuilt copy of the Example's sources for %doc +mkdir vtk-examples-5.0 +cp -a Examples vtk-examples-5.0 +find vtk-examples-5.0 -type f | xargs chmod -R a-x + +%build +export CFLAGS="%{optflags} -D_UNICODE" +export CXXFLAGS="%{optflags} -D_UNICODE" +%if %{with java} +export JAVA_HOME=/usr/lib/jvm/java +%endif +%if %{with qt4} +unset QTINC QTLIB QTPATH_LRELEASE QMAKESPEC +export QTDIR=%{_libdir}/qt4 +%endif + +tmpinstall=`pwd`/tmpinstall + +cmake_command="cmake . \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -DBUILD_DOCUMENTATION:BOOL=ON \ + -DBUILD_EXAMPLES:BOOL=ON \ + -DBUILD_TESTING:BOOL=ON \ + -DCMAKE_INSTALL_PREFIX:PATH=$tmpinstall \ + -DVTK_INSTALL_BIN_DIR:PATH=%{_bindir} \ + -DVTK_INSTALL_INCLUDE_DIR:PATH=%{_includedir}/vtk \ + -DVTK_INSTALL_LIB_DIR:PATH=%{_libdir} \ + -DVTK_DATA_ROOT:PATH=%{_datadir}/vtkdata-%{version} \ +%if %{with OSMesa} + -DVTK_OPENGL_HAS_OSMESA:BOOL=ON \ +%endif + -DVTK_WRAP_PYTHON:BOOL=ON \ +%if %{with java} + -DVTK_WRAP_JAVA:BOOL=ON \ + -DJAVA_INCLUDE_PATH:PATH=$JAVA_HOME/include \ + -DJAVA_INCLUDE_PATH2:PATH=$JAVA_HOME/include/linux \ + -DJAVA_AWT_INCLUDE_PATH:PATH=$JAVA_HOME/include \ +%else + -DVTK_WRAP_JAVA:BOOL=OFF \ +%endif + -DVTK_WRAP_TCL:BOOL=ON \ + -DVTK_USE_GL2PS:BOOL=ON \ + -DVTK_USE_GUISUPPORT:BOOL=ON \ + -DVTK_USE_PARALLEL:BOOL=ON \ + -DVTK_USE_SYSTEM_EXPAT=ON \ + -DVTK_USE_SYSTEM_FREETYPE=ON \ + -DVTK_USE_SYSTEM_JPEG=ON \ + -DVTK_USE_SYSTEM_PNG=ON \ + -DVTK_USE_SYSTEM_TIFF=ON \ + -DVTK_USE_SYSTEM_ZLIB=ON \ + -DVTK_USE_QVTK=ON \ +%if %{with qt4} + -DDESIRED_QT_VERSION=4 \ + -DQT_MOC_EXECUTABLE=%{_libdir}/qt4/bin/moc \ + -DVTK_INSTALL_QT_DIR=`qmake-qt4 -query QT_INSTALL_PREFIX`/plugins/designer \ +%else + -DVTK_INSTALL_QT_DIR=`qmake -query QT_INSTALL_PREFIX`/plugins/designer \ +%endif +" +# Second cmake is neccessary for vtk +eval $cmake_command +eval $cmake_command + +# Commented old flags in case we'd like to reactive some of them +# -DVTK_USE_DISPLAY:BOOL=OFF \ # This prevents building of graphics tests +# -DVTK_USE_HYBRID:BOOL=ON \ +# -DVTK_USE_PATENTED:BOOL=ON \ +# -DVTK_USE_RENDERING:BOOL=ON \ +# -DVTK_USE_MPI:BOOL=OFF \ +# -DVTK_USE_X:BOOL=ON \ +# -DOPENGL_INCLUDE_DIR:PATH=/usr/include/GL \ + +make %{?_smp_mflags} + +%install +rm -rf %{buildroot} +mkdir -p %{buildroot} +make install +mv tmpinstall/* %{buildroot}/ + +if [ "%{_lib}" != lib -a "`ls %{buildroot}%{_prefix}/lib/*`" != "" ]; then + mkdir -p %{buildroot}%{_libdir} + mv %{buildroot}%{_prefix}/lib/* %{buildroot}%{_libdir}/ +fi + +# Gather list of non-python/tcl libraries +ls %{buildroot}%{_libdir}/*.so.* \ + | grep -Ev '(Java|QVTK|PythonD|TCL)' | sed -e's,^%{buildroot},,' > libs.list + +mkdir -p %{buildroot}%{_libdir}/vtk-examples-5.0 \ + %{buildroot}%{_libdir}/vtk-testing-5.0 + +# List of executable utilities +cat > utils.list << EOF +vtkParseOGLExt +vtkVREncodeString +EOF + +# List of executable examples +cat > examples.list << EOF +HierarchicalBoxPipeline +MultiBlock +Arrays +Cube +RGrid +SGrid +Medical1 +Medical2 +Medical3 +finance +AmbientSpheres +Cylinder +DiffuseSpheres +SpecularSpheres +Cone +Cone2 +Cone3 +Cone4 +Cone5 +Cone6 +EOF + +# List of executable test binaries +cat > testing.list << EOF +CommonCxxTests +TestCxxFeatures +TestInstantiator +FilteringCxxTests +GraphicsCxxTests +GenericFilteringCxxTests +ImagingCxxTests +IOCxxTests +RenderingCxxTests +VTKBenchMark +VolumeRenderingCxxTests +WidgetsCxxTests +SocketClient +SocketServer +EOF + +# Install utils/examples/testing, too +for filelist in utils.list examples.list testing.list; do + for file in `cat $filelist`; do + install -p bin/$file %{buildroot}%{_bindir} + done + perl -pi -e's,^,%{_bindir}/,' $filelist +done + +# Remove any remnants of rpaths +for file in `cat examples.list`; do + chrpath -d %{buildroot}$file +done + +# Main package contains utils and core libs +cat libs.list utils.list > main.list + +# Make shared libs and scripts executable +chmod a+x %{buildroot}%{_libdir}/lib*.so.* +chmod a+x %{buildroot}%{_libdir}/vtk-5.0/doxygen/*.pl +chmod a+x %{buildroot}%{_libdir}/vtk-5.0/testing/*.{py,tcl} + +# Remove exec bit from non-scripts and %%doc +for file in `find %{buildroot} -type f -perm 0755 \ + | xargs -r file | grep ASCII | awk -F: '{print $1}'`; do + head -1 $file | grep '^#!' > /dev/null && continue + chmod 0644 $file +done +find Utilities/Upgrading -type f | xargs chmod -x + +# Add exec bits to shared libs ... +chmod 0755 %{buildroot}%{_libdir}/vtk-5.0/CMake/*.so + +%check || : +#LD_LIBARARY_PATH=`pwd`/bin ctest -V + +%clean +rm -rf %{buildroot} + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%post tcl -p /sbin/ldconfig + +%postun tcl -p /sbin/ldconfig + +%post python -p /sbin/ldconfig + +%postun python -p /sbin/ldconfig + +%if %{with java} +%post java -p /sbin/ldconfig + +%postun java -p /sbin/ldconfig +%endif + +%post qt -p /sbin/ldconfig + +%postun qt -p /sbin/ldconfig + +%files -f main.list +%defattr(-,root,root,-) +%doc --parents Copyright.txt README.html vtkLogo.jpg vtkBanner.gif Wrapping/*/README* + +%files devel +%defattr(-,root,root,-) +%doc Utilities/Upgrading +%{_libdir}/vtk-5.0/doxygen +%{_includedir}/vtk +%{_libdir}/*.so +%{_libdir}/vtk-5.0/CMake +%{_libdir}/vtk-5.0/*.cmake +%{_libdir}/vtk-5.0/hints + +%files tcl +%defattr(-,root,root,-) +%{_libdir}/*TCL.so.* +%{_bindir}/vtk +%{_bindir}/vtkWrapTcl +%{_bindir}/vtkWrapTclInit +%{_libdir}/vtk-5.0/pkgIndex.tcl +%{_libdir}/vtk-5.0/tcl + +%files python +%defattr(-,root,root,-) +%{python_sitearch}/vtk +%{_libdir}/*PythonD.so.* +%{_bindir}/vtkpython +%{_bindir}/vtkWrapPython +%{_bindir}/vtkWrapPythonInit + +%if %{with java} +%files java +%defattr(-,root,root,-) +%{_libdir}/*Java.so.* +%{_bindir}/vtkParseJava +%{_bindir}/vtkWrapJava +%endif + +%files qt +%defattr(-,root,root,-) +%{_libdir}/libQVTK.so.* +%{_libdir}/qt*/plugins/designer/libQVTKWidgetPlugin.so + +%files testing -f testing.list +%defattr(-,root,root,-) +%{_libdir}/vtk-5.0/testing +%{_libdir}/vtk-testing-5.0 + +%files examples -f examples.list +%defattr(-,root,root,-) +%doc vtk-examples-5.0/Examples +%{_libdir}/vtk-examples-5.0 + +%changelog +* Mon May 28 2007 Axel Thimm - 5.0.3-18 +- Move headers to %%{_includedir}/vtk. +- Remove executable bit from sources. + +* Mon Apr 16 2007 Axel Thimm - 5.0.3-17 +- Make java build conditional. +- Add ldconfig %%post/%%postun for java/qt subpackages. + +* Sun Apr 15 2007 Axel Thimm - 5.0.3-16 +- Remove %%ghosting pyc/pyo. + +* Wed Apr 04 2007 Paulo Roma - 5.0.3-15 +- Update to 5.0.4. +- Added support for qt4 plugin. + +* Wed Feb 7 2007 Orion Poplawski - 5.0.2-14 +- Enable Java, Qt, GL2PS, OSMESA + +* Mon Sep 11 2006 Axel Thimm - 5.0.2-13 +- Update to 5.0.2. + +* Sun Aug 6 2006 Axel Thimm - 5.0.1-12 +- cmake needs to be >= 2.0.4. + +* Fri Aug 4 2006 Axel Thimm - 5.0.1-11 +- Fix some python issues including pyo management. + +* Sun Jul 23 2006 Axel Thimm - 5.0.1-10 +- Embed feedback from bug 199405 comment 5. +- Fix some Group entries. +- Remove redundant dependencies. +- Use system libs. +- Comment specfile more. +- Change buildroot handling with CMAKE_INSTALL_PREFIX. +- Enable qt designer plugin. + +* Wed Jul 19 2006 Axel Thimm - 5.0.1-7 +- Fix some permissions for rpmlint and debuginfo. + +* Sun Jul 16 2006 Axel Thimm - 5.0.1-7 +- Remove rpath and some further rpmlint warnings. + +* Thu Jul 13 2006 Axel Thimm - 5.0.1-6 +- Update to 5.0.1. + +* Wed May 31 2006 Axel Thimm +- Update to 5.0. + +* Mon Apr 04 2004 Intrinsic Spin 2.mr +- built on a machine with a stock libGL.so + +* Sun Apr 04 2004 Intrinsic Spin +- little cleanups +- Built for FC1 + +* Sun Jan 11 2004 Intrinsic Spin +- Built against a reasonably good (according to dashboard) CVS version so-as + to get GL2PS support. +- Rearranged. Cleaned up. Added some comments. + +* Sat Jan 10 2004 Intrinsic Spin +- Blatently stole this spec file for my own nefarious purposes. +- Removed Java (for now). Merged the Python and Tcl stuff into + the main rpm. + +* Fri Dec 05 2003 Fabrice Bellet +- (See Fabrice's RPMs for any more comments --Spin)