6 %bcond_with java # build with Java support (not yet done)
8 Summary: Toolkit for 3D computer graphics, image processing, and visualization
9 Summary(pl): Zestaw narzêdzi do trójwymiarowej grafiki, przetwarzania obrazu i wizualizacji
15 Source0: http://dl.sourceforge.net/vtk/VTK-4.2-LatestRelease.tar.gz
16 # Source0-md5: 41382fb3f8d15e76d7464c11045ee7a5
17 Source1: http://dl.sourceforge.net/vtk/VTKData-4.2.tar.gz
18 # Source1-md5: 2bbd1a62884906eac4f279441cbb9cfa
19 Patch0: %{name}-cmakefiles.patch
20 URL: http://public.kitware.com/VTK/
21 BuildRequires: XFree86-devel
23 BuildRequires: doxygen
24 BuildRequires: python-devel
26 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29 The Visualization ToolKit (VTK) is an object oriented software system
30 for 3D computer graphics, image processing, and visualization. VTK
31 includes a textbook, a C++ class library, and several interpreted
32 interface layers including Tcl/Tk, Java, and Python. VTK supports a
33 wide variety of visualization algorithms including scalar, vector,
34 tensor, texture, and volumetric methods. It also supports advanced
35 modeling techniques like implicit modeling, polygon reduction, mesh
36 smoothing, cutting, contouring, and Delaunay triangulation. Moreover,
37 dozens of imaging algorithms have been integrated into the system.
38 This allows mixing 2D imaging / 3D graphics algorithms and data.
40 NOTE: The Java wrapper is not included by default. You may rebuild
41 the srpm using "--with java" with JDK installed.
43 NOTE: All patented routines which are part of the package have been
44 removed in this version.
47 Visualization TookKit (VTK) to obiektowo zorientowany system
48 oprogramowania do trójwymiarowej grafiki komputerowej, przetwarzania
49 obrazu i wizualizacji. VTK zawiera ksi±¿kê, bibliotekê klas C++ oraz
50 kilka interpretowanych warstw interfejsów, w tym dla Tcl/Tk, Javy i
51 Pythona. VTK obs³uguje szeroki zakres algorytmów wizualizacji, w tym
52 metody skalarne, wektorowe, tensorowe, teksturowe i wolumetryczne.
53 Obs³uguje tak¿e zaawansowane techniki modelowania, takie jak
54 modelowanie implicite, redukcja wielok±tów, wyg³adzanie siatki,
55 przycinanie, konturowanie i triangulacja Delaunaya. Co wiêcej, wiele
56 algorytmów obrazowania zosta³o zintegrowanych z systemem. Pozwala to
57 na mieszanie algorytmów obrazowania 2D i grafiki 3D.
59 UWAGA: wrapper Javy nie zosta³ w³±czony domy¶lnie. Mo¿na przebudowaæ
60 srpm-a z opcj± "--with java" przy zainstalowanym JDK.
62 UWAGA: wszystkie opatentowane procedury bêd±ce czê¶ci± tego pakietu
63 zosta³y usuniête w tej wersji.
66 Summary: VTK header files for building C++ code
67 Summary(pl): Pliki nag³ówkowe VTK dla C++
69 Requires: %{name} = %{version}-%{release}
72 This provides the VTK header files required to compile C++ programs
73 that use VTK to do 3D visualisation.
75 %description devel -l pl
76 Ten pakiet dostarcza pliki nag³ówkowe VTK do kompilowania programów
77 C++ u¿ywaj±cych VTK do wizualizacji 3D.
80 Summary: Tcl bindings for VTK
81 Summary(pl): Dowi±zania Tcl do VTK
83 Requires: %{name} = %{version}-%{release}
86 This package contains Tcl bindings for VTK.
88 %description tcl -l pl
89 Ten pakiet zawiera dowi±zania Tcl dla VTK.
92 Summary: Python bindings for VTK
93 Summary(pl): Dowi±zania Pythona do VTK
95 Requires: %{name} = %{version}-%{release}
98 This package contains Python bindings for VTK.
100 %description python -l pl
101 Ten pakiet zawiera dowi±zania Pythona dla VTK.
104 Summary: Java bindings for VTK
105 Summary(pl): Dowi±zania Javy do VTK
106 Group: Development/Languages/Java
107 Requires: %{name} = %{version}-%{release}
110 This package contains Java bindings for VTK.
112 %description java -l pl
113 Ten pakiet zawiera dowi±zania Javy dla VTK.
116 Summary: C++, Tcl and Python example programs/scripts for VTK
117 Summary(pl): Przyk³adowe programy/skrypty w C++, Tcl-u i Pythonie dla VTK
118 Group: Development/Libraries
119 Requires: %{name} = %{version}-%{release}
120 Requires: %{name}-data = %{version}-%{release}
122 %description examples
123 This package contains all the examples from the VTK source. To compile
124 the C++ examples you will need to install the vtk-devel package as
125 well. The Python and Tcl examples can be run with the corresponding
126 packages (vtk-python, vtk-tcl).
128 %description examples -l pl
129 Ten pakiet zawiera wszystkie przyk³ady ze ¼róde³ VTK. Do skompilowania
130 przyk³adów w C++ trzeba doinstalowaæ pakiet vtk-devel. Przyk³ady w
131 Pythonie i Tcl-u mo¿na uruchamiaæ przy u¿yciu odpowiednich pakietów
132 (vtk-python, vtk-tcl).
135 Summary: Test programs for VTK
136 Summary(pl): Programy testowe dla VTK
137 Group: Development/Libraries
138 Requires: %{name} = %{version}-%{release}
139 Requires: %{name}-data = %{version}-%{release}
141 %description test-suite
142 This package contains all testing programs from the VTK source. The
143 source code of these programs can be found in the vtk-examples
146 %description test-suite -l pl
147 Ten pakiet zawiera wszystkie programy testowe ze ¼róde³ VTK. Kod
148 ¼ród³owy tych programów mo¿na znale¼æ w pakiecie vtk-examples.
151 Summary: Data files for VTK
152 Summary(pl): Pliki danych dla VTK
153 Group: Development/Libraries
156 This package contains all the data from the VTKData repository. These
157 data are required to run various examples from the vtk-examples
160 %description data -l pl
161 Ten pakiet zawiera wszystkie dane z repozytorium VTKData. Dane te s±
162 potrzebne do uruchamiania ró¿nych przyk³adów z pakietu vtk-examples.
165 %setup -q -n VTK-%{version} -a 1
171 #cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
172 # -DLIBRARY_OUTPUT_PATH:PATH=$RPM_BUILD_DIR/VTK-%version/lib \
173 # -DEXECUTABLE_OUTPUT_PATH:PATH=$RPM_BUILD_DIR/VTK-%version/bin \
174 # -DCMAKE_INSTALL_PREFIX:PATH=/usr \
175 # -DCMAKE_SKIP_RPATH:BOOL=ON \
176 # -DCMAKE_CXX_FLAGS:STRING="$RPM_OPT_FLAGS" \
177 # -DCMAKE_C_FLAGS:STRING="$RPM_OPT_FLAGS" \
178 # -DJAVA_INCLUDE_PATH:PATH=$JAVA_HOME/include
179 # -DJAVA_INCLUDE_PATH2:PATH=$JAVA_HOME/include/linux \
180 # -DJAVE_AWT_INCLUDE_PATH:PATH=$JAVA_HOME/include \
181 # -DPYTHON_INCLUDE_PATH:PATH=$(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'include', 'python' + sys.version[:3])") \
182 # -DPYTHON_LIBRARY:FILEPATH=$(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'lib', 'python' + sys.version[:3], 'config/libpython' + sys.version[:3] + '.a')") \
183 # -DVTK_DATA_ROOT:PATH=%{_docdir}/vtk-data-%{version} \
184 # -DVTK_WRAP_PYTHON:BOOL=ON \
185 # -DVTK_WRAP_JAVA:BOOL=ON \
186 # -DVTK_WRAP_TCL:BOOL=ON \
187 # -DVTK_USE_HYBRID:BOOL=ON \
188 # -DVTK_USE_PARALLEL:BOOL=ON \
189 # -DVTK_USE_RENDERING:BOOL=ON \
190 # -DVTK_USE_X:BOOL=ON \
191 # -DBUILD_DOCUMENTATION:BOOL=ON \
192 # -DBUILD_EXAMPLES:BOOL=ON \
193 # -DBUILD_SHARED_LIBS:BOOL=ON \
194 # -DBUILD_TESTING:BOOL=ON \
195 # -DOPENGL_INCLUDE_PATH:FILEPATH=/usr/X11R6/include/GL
196 ## -DOPENGL_LIBRARY:FILEPATH=/usr/X11R6/lib/libGL.so.1.0
199 #cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
200 # -DLIBRARY_OUTPUT_PATH:PATH=$RPM_BUILD_DIR/VTK-%version/lib \
201 # -DEXECUTABLE_OUTPUT_PATH:PATH=$RPM_BUILD_DIR/VTK-%version/bin \
202 # -DCMAKE_INSTALL_PREFIX:PATH=/usr \
203 # -DCMAKE_SKIP_RPATH:BOOL=ON \
204 # -DCMAKE_CXX_FLAGS:STRING="$RPM_OPT_FLAGS" \
205 # -DCMAKE_C_FLAGS:STRING="$RPM_OPT_FLAGS" \
206 # -DPYTHON_INCLUDE_PATH:PATH=$(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'include', 'python' + sys.version[:3])") \
207 # -DPYTHON_LIBRARY:FILEPATH=$(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'lib', 'python' + sys.version[:3], 'config/libpython' + sys.version[:3] + '.a')") \
208 # -DVTK_DATA_ROOT:PATH=%{_datadir}/vtk-data-%{version} \
209 # -DVTK_WRAP_PYTHON:BOOL=ON \
210 # -DVTK_WRAP_JAVA:BOOL=off \
211 # -DVTK_WRAP_TCL:BOOL=ON \
212 # -DVTK_USE_HYBRID:BOOL=ON \
213 # -DVTK_USE_PARALLEL:BOOL=ON \
214 # -DVTK_USE_RENDERING:BOOL=ON \
215 # -DVTK_USE_X:BOOL=ON \
216 # -DBUILD_DOCUMENTATION:BOOL=ON \
217 # -DBUILD_EXAMPLES:BOOL=ON \
218 # -DBUILD_SHARED_LIBS:BOOL=ON \
219 # -DBUILD_TESTING:BOOL=ON \
220 # -DOPENGL_INCLUDE_PATH:FILEPATH=/usr/X11R6/include/GL
221 ## -DOPENGL_LIBRARY:FILEPATH=/usr/X11R6/lib/libGL.so.1.0
225 -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
226 -DLIBRARY_OUTPUT_PATH:PATH=$RPM_BUILD_DIR/VTK-%{version}/lib \
227 -DEXECUTABLE_OUTPUT_PATH:PATH=$RPM_BUILD_DIR/VTK-%{version}/bin \
228 -DCMAKE_SKIP_RPATH:BOOL=ON \
229 -DBUILD_EXAMPLES:BOOL=ON \
230 -DBUILD_SHARED_LIBS:BOOL=ON \
231 -DBUILD_DOCUMENTATION:BOOL=ON \
232 -DBUILD_TESTING:BOOL=ON \
233 -DCMAKE_BACKWARDS_COMPATIBILITY=1.8 \
234 -DOPENGL_INCLUDE_PATH:PATH=%{_prefix}/X11R6/include/GL \
235 -DPYTHON_INCLUDE_PATH:PATH=%{_includedir}/python2.3 \
236 -DPYTHON_LIBRARY:FILEPATH=$(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'lib', 'python' + sys.version
237 [:3], 'config/libpython' + sys.version[:3] + '.a')") \
238 -DPYTHON_UTIL_LIBRARY:PATH=%{_libdir}/libutil.so \
239 -DTCL_INCLUDE_PATH:PATH=%{_includedir} \
240 -DTCL_LIBRARY:PATH=%{_libdir}/libtcl.so \
241 -DTK_INCLUDE_PATH:PATH=%{_includedir} \
242 -DTK_LIBRARY:PATH=%{_libdir}/libtk.so \
243 -DVTK_DATA_ROOT:PATH=%{_datadir}/vtk \
244 -DVTK_USE_HYBRID:BOOL=ON \
245 -DVTK_USE_PARALLEL:BOOL=ON \
246 -DVTK_USE_PATENTED:BOOL=off \
247 -DVTK_USE_RENDERING:BOOL=ON \
248 -DVTK_WRAP_JAVA:BOOL=OFF \
249 -DVTK_WRAP_PYTHON:BOOL=ON \
250 -DVTK_WRAP_TCL:BOOL=ON \
251 -DBUILD_SHARED_LIBS:BOOL=ON \
252 -DCMAKE_CXX_COMPILER:PATH="%{__cxx}" \
253 -DCMAKE_C_COMPILER:PATH="%{__cc}" \
254 -DCMAKE_LINKER_FLAGS:STRING="%{rpmldflags}" \
255 -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
260 rm -rf $RPM_BUILD_ROOT
263 export VTKPYTHONPATH=%(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'lib', 'python' + sys.version[:3],'site-packages')")
266 install -d $RPM_BUILD_ROOT%{_bindir}
267 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk
268 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/gtk
269 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/qt
270 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/testing
271 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/tk
272 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/util
273 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/wx
274 install -d $RPM_BUILD_ROOT/$VTKPYTHONPATH
275 install -d $RPM_BUILD_ROOT%{_includedir}/vtk
277 #install libs and tcl
280 DESTDIR=$RPM_BUILD_ROOT
282 chmod 755 $RPM_BUILD_ROOT%{_libdir}/vtk/*.so
283 for f in $RPM_BUILD_ROOT%{_libdir}/vtk/libvtk*Python*.so
285 ln -s ../`basename $f` $RPM_BUILD_ROOT%{_libdir}/vtk/python/
289 install bin/* $RPM_BUILD_ROOT%{_bindir}
292 install Wrapping/Python/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python
293 install Wrapping/Python/vtk/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk
294 install Wrapping/Python/vtk/gtk/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/gtk
295 install Wrapping/Python/vtk/qt/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/qt
296 install Wrapping/Python/vtk/tk/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/tk
297 install Wrapping/Python/vtk/util/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/util
298 install Wrapping/Python/vtk/wx/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/wx
299 cat > $RPM_BUILD_ROOT/$VTKPYTHONPATH/vtkpython.pth <<_EOF
300 %{_libdir}/vtk/python
305 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/java
306 install lib/vtk.jar $RPM_BUILD_ROOT%{_libdir}/vtk/java
307 install java/vtk/*.java $RPM_BUILD_ROOT%{_libdir}/vtk/java
311 mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}-data
312 cp -r VTKData-release-4-2/* $RPM_BUILD_ROOT/%{_datadir}/%{name}-data
313 rm -fr $RPM_BUILD_ROOT%{_datadir}/%{name}-data/CVS
315 #install test-suite and examples
316 for d in Common Filtering Graphics Hybrid IO Imaging Parallel Patented Rendering
318 mkdir -p $RPM_BUILD_ROOT%{_datadir}/vtk-examples/Testing/$d
319 cp -a $d/Testing/* $RPM_BUILD_ROOT%{_datadir}/vtk-examples/Testing/$d
321 cp -a Examples $RPM_BUILD_ROOT%{_datadir}/vtk-examples
323 # get rid of unwanted files
324 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name "*.o" -exec rm {} \;
325 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name CMakeCache.txt -exec rm {} \;
326 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name Makefile -exec rm {} \;
327 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name DartTestfile.txt -exec rm {} \;
328 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name .NoDartCoverage -exec rm {} \;
329 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name "CMake*" -exec rm {} \;
330 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name "cmake.*" -exec rm {} \;
332 # Generate the package testing-progs lists and store them in file-lists
333 echo "%defattr (644,root,root,755)" > testing-progs-list
335 find ${RPM_BUILD_ROOT}/usr/bin -type f | \
336 sed -e "s#^${RPM_BUILD_ROOT}##g" | \
337 egrep -v '^/usr/bin/(vtk|pvtk|vtkWrap.*|vtkParse.*|VTKJavaExecutable|vtkpython|pvtkpython)$' \
338 >> testing-progs-list
340 find ${RPM_BUILD_ROOT}/usr/bin -type f | \
341 sed -e "s#^${RPM_BUILD_ROOT}##g" | \
342 egrep -v '^/usr/bin/(vtk|pvtk|vtkWrap.*|vtkParse.*|vtkpython|pvtkpython)$' \
343 >> testing-progs-list
347 rm -rf $RPM_BUILD_ROOT
349 %post -p /sbin/ldconfig
350 %postun -p /sbin/ldconfig
352 %post tcl -p /sbin/ldconfig
353 %postun tcl -p /sbin/ldconfig
355 %post python -p /sbin/ldconfig
356 %postun python -p /sbin/ldconfig
358 %post java -p /sbin/ldconfig
359 %postun java -p /sbin/ldconfig
362 %defattr(644,root,root,755)
363 %doc README.html vtkLogo.jpg
365 %attr(755,root,root) %{_libdir}/vtk/libvtkCommon.so
366 %attr(755,root,root) %{_libdir}/vtk/libvtkFiltering.so
367 %attr(755,root,root) %{_libdir}/vtk/libvtkGraphics.so
368 %attr(755,root,root) %{_libdir}/vtk/libvtkHybrid.so
369 %attr(755,root,root) %{_libdir}/vtk/libvtkImaging.so
370 %attr(755,root,root) %{_libdir}/vtk/libvtkIO.so
371 %attr(755,root,root) %{_libdir}/vtk/libvtkParallel.so
372 %attr(755,root,root) %{_libdir}/vtk/libvtkRendering.so
373 %attr(755,root,root) %{_libdir}/vtk/libvtkjpeg.so
374 %attr(755,root,root) %{_libdir}/vtk/libvtkpng.so
375 %attr(755,root,root) %{_libdir}/vtk/libvtkzlib.so
376 %attr(755,root,root) %{_libdir}/vtk/libvtkexpat.so
377 %attr(755,root,root) %{_libdir}/vtk/libvtkfreetype.so
378 %attr(755,root,root) %{_libdir}/vtk/libvtkftgl.so
379 %attr(755,root,root) %{_libdir}/vtk/libvtktiff.so
382 %defattr(644,root,root,755)
383 %doc %{_libdir}/vtk/doxygen
384 %doc Utilities/Upgrading/*
387 %{_libdir}/vtk/*.cmake
389 %files test-suite -f testing-progs-list
390 %defattr(644,root,root,755)
393 %defattr(644,root,root,755)
394 %doc README.html vtkLogo.jpg
395 %dir %{_libdir}/vtk/testing
396 %attr(755,root,root) %{_bindir}/vtkWrapTcl
397 %attr(755,root,root) %{_bindir}/vtk
398 %attr(755,root,root) %{_libdir}/vtk/libvtk*TCL.so
400 %{_libdir}/vtk/testing/*.tcl
403 %defattr(644,root,root,755)
404 %dir %_libdir/vtk/testing
405 %attr(755,root,root) %{_bindir}/vtkWrapPython
406 %attr(755,root,root) %{_bindir}/vtkpython
407 %attr(755,root,root) %{_libdir}/vtk/libvtk*Python*.so
408 %{_libdir}/vtk/python
409 %{_libdir}/vtk/testing/*.py
410 %(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'lib', 'python' + sys.version[:3],'site-packages', 'vtkpython.pth')")
414 %defattr(644,root,root,755)
415 %attr(755,root,root) %{_bindir}/vtkParseJava
416 %attr(755,root,root) %{_bindir}/vtkWrapJava
417 %attr(755,root,root) %{_bindir}/VTKJavaExecutable
418 %attr(755,root,root) %{_libdir}/vtk/libvtk*Java.so
423 %defattr(644,root,root,755)
424 %dir %{_datadir}/vtk-examples
425 %{_datadir}/vtk-examples/Examples
426 %{_datadir}/vtk-examples/Testing
429 %defattr(644,root,root,755)
430 %dir %{_datadir}/vtk-data
431 %{_datadir}/vtk-data/Baseline
432 %{_datadir}/vtk-data/Data
433 %{_datadir}/vtk-data/VTKData.readme