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 [:3], 'config/libpython' + sys.version[:3] + '.a')") \
237 -DPYTHON_UTIL_LIBRARY:PATH=%{_libdir}/libutil.so \
238 -DTCL_INCLUDE_PATH:PATH=%{_includedir} \
239 -DTCL_LIBRARY:PATH=%{_libdir}/libtcl.so \
240 -DTK_INCLUDE_PATH:PATH=%{_includedir} \
241 -DTK_LIBRARY:PATH=%{_libdir}/libtk.so \
242 -DVTK_DATA_ROOT:PATH=%{_datadir}/vtk \
243 -DVTK_USE_HYBRID:BOOL=ON \
244 -DVTK_USE_PARALLEL:BOOL=ON \
245 -DVTK_USE_PATENTED:BOOL=off \
246 -DVTK_USE_RENDERING:BOOL=ON \
247 -DVTK_WRAP_JAVA:BOOL=OFF \
248 -DVTK_WRAP_PYTHON:BOOL=ON \
249 -DVTK_WRAP_TCL:BOOL=ON \
250 -DBUILD_SHARED_LIBS:BOOL=ON \
251 -DCMAKE_CXX_COMPILER:PATH="%{__cxx}" \
252 -DCMAKE_C_COMPILER:PATH="%{__cc}" \
253 -DCMAKE_LINKER_FLAGS:STRING="%{rpmldflags}" \
254 -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
259 rm -rf $RPM_BUILD_ROOT
262 export VTKPYTHONPATH=%(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'lib', 'python' + sys.version[:3],'site-packages')")
265 install -d $RPM_BUILD_ROOT%{_bindir}
266 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk
267 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/gtk
268 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/qt
269 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/testing
270 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/tk
271 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/util
272 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/wx
273 install -d $RPM_BUILD_ROOT/$VTKPYTHONPATH
274 install -d $RPM_BUILD_ROOT%{_includedir}/vtk
276 #install libs and tcl
279 DESTDIR=$RPM_BUILD_ROOT
281 chmod 755 $RPM_BUILD_ROOT%{_libdir}/vtk/*.so
282 for f in $RPM_BUILD_ROOT%{_libdir}/vtk/libvtk*Python*.so
284 ln -s ../`basename $f` $RPM_BUILD_ROOT%{_libdir}/vtk/python/
288 install bin/* $RPM_BUILD_ROOT%{_bindir}
291 install Wrapping/Python/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python
292 install Wrapping/Python/vtk/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk
293 install Wrapping/Python/vtk/gtk/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/gtk
294 install Wrapping/Python/vtk/qt/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/qt
295 install Wrapping/Python/vtk/tk/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/tk
296 install Wrapping/Python/vtk/util/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/util
297 install Wrapping/Python/vtk/wx/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/wx
298 cat > $RPM_BUILD_ROOT/$VTKPYTHONPATH/vtkpython.pth <<_EOF
299 %{_libdir}/vtk/python
304 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/java
305 install lib/vtk.jar $RPM_BUILD_ROOT%{_libdir}/vtk/java
306 install java/vtk/*.java $RPM_BUILD_ROOT%{_libdir}/vtk/java
310 mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}-data
311 cp -r VTKData-release-4-2/* $RPM_BUILD_ROOT/%{_datadir}/%{name}-data
312 rm -fr $RPM_BUILD_ROOT%{_datadir}/%{name}-data/CVS
314 #install test-suite and examples
315 for d in Common Filtering Graphics Hybrid IO Imaging Parallel Patented Rendering
317 mkdir -p $RPM_BUILD_ROOT%{_datadir}/vtk-examples/Testing/$d
318 cp -a $d/Testing/* $RPM_BUILD_ROOT%{_datadir}/vtk-examples/Testing/$d
320 cp -a Examples $RPM_BUILD_ROOT%{_datadir}/vtk-examples
322 # get rid of unwanted files
323 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name "*.o" -exec rm {} \;
324 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name CMakeCache.txt -exec rm {} \;
325 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name Makefile -exec rm {} \;
326 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name DartTestfile.txt -exec rm {} \;
327 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name .NoDartCoverage -exec rm {} \;
328 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name "CMake*" -exec rm {} \;
329 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name "cmake.*" -exec rm {} \;
331 # Generate the package testing-progs lists and store them in file-lists
332 echo "%defattr (644,root,root,755)" > testing-progs-list
334 find ${RPM_BUILD_ROOT}/usr/bin -type f | \
335 sed -e "s#^${RPM_BUILD_ROOT}##g" | \
336 egrep -v '^/usr/bin/(vtk|pvtk|vtkWrap.*|vtkParse.*|VTKJavaExecutable|vtkpython|pvtkpython)$' \
337 >> testing-progs-list
339 find ${RPM_BUILD_ROOT}/usr/bin -type f | \
340 sed -e "s#^${RPM_BUILD_ROOT}##g" | \
341 egrep -v '^/usr/bin/(vtk|pvtk|vtkWrap.*|vtkParse.*|vtkpython|pvtkpython)$' \
342 >> testing-progs-list
346 rm -rf $RPM_BUILD_ROOT
348 %post -p /sbin/ldconfig
349 %postun -p /sbin/ldconfig
351 %post tcl -p /sbin/ldconfig
352 %postun tcl -p /sbin/ldconfig
354 %post python -p /sbin/ldconfig
355 %postun python -p /sbin/ldconfig
357 %post java -p /sbin/ldconfig
358 %postun java -p /sbin/ldconfig
361 %defattr(644,root,root,755)
362 %doc README.html vtkLogo.jpg
364 %attr(755,root,root) %{_libdir}/vtk/libvtkCommon.so
365 %attr(755,root,root) %{_libdir}/vtk/libvtkFiltering.so
366 %attr(755,root,root) %{_libdir}/vtk/libvtkGraphics.so
367 %attr(755,root,root) %{_libdir}/vtk/libvtkHybrid.so
368 %attr(755,root,root) %{_libdir}/vtk/libvtkImaging.so
369 %attr(755,root,root) %{_libdir}/vtk/libvtkIO.so
370 %attr(755,root,root) %{_libdir}/vtk/libvtkParallel.so
371 %attr(755,root,root) %{_libdir}/vtk/libvtkRendering.so
372 %attr(755,root,root) %{_libdir}/vtk/libvtkjpeg.so
373 %attr(755,root,root) %{_libdir}/vtk/libvtkpng.so
374 %attr(755,root,root) %{_libdir}/vtk/libvtkzlib.so
375 %attr(755,root,root) %{_libdir}/vtk/libvtkexpat.so
376 %attr(755,root,root) %{_libdir}/vtk/libvtkfreetype.so
377 %attr(755,root,root) %{_libdir}/vtk/libvtkftgl.so
378 %attr(755,root,root) %{_libdir}/vtk/libvtktiff.so
381 %defattr(644,root,root,755)
382 %doc %{_libdir}/vtk/doxygen
383 %doc Utilities/Upgrading/*
386 %{_libdir}/vtk/*.cmake
388 %files test-suite -f testing-progs-list
391 %defattr(644,root,root,755)
392 %doc README.html vtkLogo.jpg
393 %dir %{_libdir}/vtk/testing
394 %attr(755,root,root) %{_bindir}/vtkWrapTcl
395 %attr(755,root,root) %{_bindir}/vtk
396 %attr(755,root,root) %{_libdir}/vtk/libvtk*TCL.so
398 %{_libdir}/vtk/testing/*.tcl
401 %defattr(644,root,root,755)
402 %dir %_libdir/vtk/testing
403 %attr(755,root,root) %{_bindir}/vtkWrapPython
404 %attr(755,root,root) %{_bindir}/vtkpython
405 %attr(755,root,root) %{_libdir}/vtk/libvtk*Python*.so
406 %{_libdir}/vtk/python
407 %{_libdir}/vtk/testing/*.py
408 %(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'lib', 'python' + sys.version[:3],'site-packages', 'vtkpython.pth')")
412 %defattr(644,root,root,755)
413 %attr(755,root,root) %{_bindir}/vtkParseJava
414 %attr(755,root,root) %{_bindir}/vtkWrapJava
415 %attr(755,root,root) %{_bindir}/VTKJavaExecutable
416 %attr(755,root,root) %{_libdir}/vtk/libvtk*Java.so
421 %defattr(644,root,root,755)
422 %dir %{_datadir}/vtk-examples
423 %{_datadir}/vtk-examples/Examples
424 %{_datadir}/vtk-examples/Testing
427 %defattr(644,root,root,755)
428 %dir %{_datadir}/vtk-data
429 %{_datadir}/vtk-data/Baseline
430 %{_datadir}/vtk-data/Data
431 %{_datadir}/vtk-data/VTKData.readme