456 lines
12 KiB
RPMSpec
456 lines
12 KiB
RPMSpec
%bcond_without OSMesa
|
|
%bcond_with qt4
|
|
%bcond_with java
|
|
|
|
Summary: The Visualization Toolkit - A high level 3D visualization library
|
|
Name: vtk
|
|
Version: 5.0.4
|
|
Release: 1
|
|
License: BSD-like
|
|
Group: System Environment/Libraries
|
|
Packager: Werner Hoch <werner.ho@gmx.de>
|
|
|
|
Source: http://www.vtk.org/files/release/5.0/%{name}-%{version}.tar.gz
|
|
#Patch0: vtk-5.0.0-pythondestdir.patch
|
|
Patch1: vtk-5.0.4-gcc43.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: xorg-x11-libX11-devel, xorg-x11-libXt-devel,
|
|
BuildRequires: xorg-x11-libXext-devel
|
|
BuildRequires: xorg-x11-libICE-devel
|
|
#, libGL-devel
|
|
%{?with_OSMesa:BuildRequires:Mesa-devel}
|
|
BuildRequires: tk-devel, tcl-devel
|
|
BuildRequires: python-devel
|
|
BuildRequires: libexpat-devel, freetype2-devel, libjpeg-devel, libpng-devel
|
|
BuildRequires: libtiff-devel, zlib-devel
|
|
BuildRequires: qt3-devel
|
|
%{?with_qt4:BuildRequires: qt4-devel}
|
|
BuildRequires: chrpath
|
|
BuildRequires: doxygen, graphviz
|
|
|
|
%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
|
|
%patch1 -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} \
|
|
-DTK_INTERNAL_PATH:PATH=/usr/include/tk-private/generic \
|
|
%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
|
|
|
|
%install
|
|
rm -rf %{buildroot}
|
|
mkdir -p %{buildroot}
|
|
make install
|
|
mv tmpinstall/* %{buildroot}/
|
|
#mkdir -p %{py_sitedir}
|
|
#mv %{buildroot}/lib*/python2.5/site_packages/* %{buildroot}/%{py_sitedir}/
|
|
|
|
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,-)
|
|
%{py_sitedir}/*
|
|
%{_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
|
|
* Thu Jul 18 2008 Werner Hoch <werner.ho@gmx.de> - 5.0.4
|
|
- specfile taken from fedora core 9 and adapted to opensuse
|
|
|
|
* Sat Apr 12 2008 Axel Thimm <Axel.Thimm@ATrpms.net> - 5.0.4-21
|
|
- Fixes for gcc 4.3 by Orion Poplawski.
|
|
|
|
* Sat Apr 5 2008 Axel Thimm <Axel.Thimm@ATrpms.net> - 5.0.4-20
|
|
- Change BR to qt-devel to qt3-devel.
|
|
|
|
* Sat Feb 23 2008 Axel Thimm <Axel.Thimm@ATrpms.net> - 5.0.4-19
|
|
- Update to 5.0.4.
|
|
|
|
* Mon May 28 2007 Axel Thimm <Axel.Thimm@ATrpms.net> - 5.0.3-18
|
|
- Move headers to %%{_includedir}/vtk.
|
|
- Remove executable bit from sources.
|
|
|
|
* Mon Apr 16 2007 Axel Thimm <Axel.Thimm@ATrpms.net> - 5.0.3-17
|
|
- Make java build conditional.
|
|
- Add ldconfig %%post/%%postun for java/qt subpackages.
|
|
|
|
* Sun Apr 15 2007 Axel Thimm <Axel.Thimm@ATrpms.net> - 5.0.3-16
|
|
- Remove %%ghosting pyc/pyo.
|
|
|
|
* Wed Apr 04 2007 Paulo Roma <roma@lcg.ufrj.br> - 5.0.3-15
|
|
- Update to 5.0.4.
|
|
- Added support for qt4 plugin.
|
|
|
|
* Wed Feb 7 2007 Orion Poplawski <orion@cora.nwra.com> - 5.0.2-14
|
|
- Enable Java, Qt, GL2PS, OSMESA
|
|
|
|
* Mon Sep 11 2006 Axel Thimm <Axel.Thimm@ATrpms.net> - 5.0.2-13
|
|
- Update to 5.0.2.
|
|
|
|
* Sun Aug 6 2006 Axel Thimm <Axel.Thimm@ATrpms.net> - 5.0.1-12
|
|
- cmake needs to be >= 2.0.4.
|
|
|
|
* Fri Aug 4 2006 Axel Thimm <Axel.Thimm@ATrpms.net> - 5.0.1-11
|
|
- Fix some python issues including pyo management.
|
|
|
|
* Sun Jul 23 2006 Axel Thimm <Axel.Thimm@ATrpms.net> - 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 <Axel.Thimm@ATrpms.net> - 5.0.1-7
|
|
- Fix some permissions for rpmlint and debuginfo.
|
|
|
|
* Sun Jul 16 2006 Axel Thimm <Axel.Thimm@ATrpms.net> - 5.0.1-7
|
|
- Remove rpath and some further rpmlint warnings.
|
|
|
|
* Thu Jul 13 2006 Axel Thimm <Axel.Thimm@ATrpms.net> - 5.0.1-6
|
|
- Update to 5.0.1.
|
|
|
|
* Wed May 31 2006 Axel Thimm <Axel.Thimm@ATrpms.net>
|
|
- Update to 5.0.
|
|
|
|
* Mon Apr 04 2004 Intrinsic Spin <spin@freakbait.com> 2.mr
|
|
- built on a machine with a stock libGL.so
|
|
|
|
* Sun Apr 04 2004 Intrinsic Spin <spin@freakbait.com>
|
|
- little cleanups
|
|
- Built for FC1
|
|
|
|
* Sun Jan 11 2004 Intrinsic Spin <spin@freakbait.com>
|
|
- 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 <spin@freakbait.com>
|
|
- 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 <Fabrice.Bellet@creatis.insa-lyon.fr>
|
|
- (See Fabrice's RPMs for any more comments --Spin)
|