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.UTF-8): Zestaw narzędzi do trójwymiarowej grafiki, przetwarzania obrazu i wizualizacji
15 Source0: http://downloads.sourceforge.net/vtk/VTK-4.2-LatestRelease.tar.gz
16 # Source0-md5: 41382fb3f8d15e76d7464c11045ee7a5
17 Source1: http://downloads.sourceforge.net/vtk/VTKData-4.2.tar.gz
18 # Source1-md5: 2bbd1a62884906eac4f279441cbb9cfa
19 Patch0: %{name}-cmakefiles.patch
20 URL: http://www.vtk.org/
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.
46 %description -l pl.UTF-8
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.UTF-8): 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.UTF-8
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.UTF-8): Dowiązania Tcl do VTK
83 Requires: %{name} = %{version}-%{release}
86 This package contains Tcl bindings for VTK.
88 %description tcl -l pl.UTF-8
89 Ten pakiet zawiera dowiązania Tcl dla VTK.
92 Summary: Python bindings for VTK
93 Summary(pl.UTF-8): Dowiązania Pythona do VTK
95 Requires: %{name} = %{version}-%{release}
98 This package contains Python bindings for VTK.
100 %description python -l pl.UTF-8
101 Ten pakiet zawiera dowiązania Pythona dla VTK.
104 Summary: Java bindings for VTK
105 Summary(pl.UTF-8): 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.UTF-8
113 Ten pakiet zawiera dowiązania Javy dla VTK.
116 Summary: C++, Tcl and Python example programs/scripts for VTK
117 Summary(pl.UTF-8): 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.UTF-8
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.UTF-8): 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.UTF-8
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.UTF-8): 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.UTF-8
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 -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
172 -DLIBRARY_OUTPUT_PATH:PATH=$RPM_BUILD_DIR/VTK-%{version}/lib \
173 -DEXECUTABLE_OUTPUT_PATH:PATH=$RPM_BUILD_DIR/VTK-%{version}/bin \
174 -DCMAKE_SKIP_RPATH:BOOL=ON \
175 -DBUILD_EXAMPLES:BOOL=ON \
176 -DBUILD_SHARED_LIBS:BOOL=ON \
177 -DBUILD_DOCUMENTATION:BOOL=ON \
178 -DBUILD_TESTING:BOOL=ON \
179 -DCMAKE_BACKWARDS_COMPATIBILITY=1.8 \
181 -DJAVA_INCLUDE_PATH:PATH=$JAVA_HOME/include \
182 -DJAVA_INCLUDE_PATH2:PATH=$JAVA_HOME/include/linux \
183 -DJAVE_AWT_INCLUDE_PATH:PATH=$JAVA_HOME/include \
185 -DOPENGL_INCLUDE_PATH:PATH=/usr/include/GL \
186 -DPYTHON_INCLUDE_PATH:PATH=%{py_incdir} \
187 -DPYTHON_LIBRARY:FILEPATH=$(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'lib', 'python' + sys.version
188 [:3], 'config/libpython' + sys.version[:3] + '.a')") \
189 -DPYTHON_UTIL_LIBRARY:PATH=%{_libdir}/libutil.so \
190 -DTCL_INCLUDE_PATH:PATH=%{_includedir} \
191 -DTCL_LIBRARY:PATH=%{_libdir}/libtcl.so \
192 -DTK_INCLUDE_PATH:PATH=%{_includedir} \
193 -DTK_LIBRARY:PATH=%{_libdir}/libtk.so \
194 -DVTK_DATA_ROOT:PATH=%{_datadir}/vtk \
195 -DVTK_USE_HYBRID:BOOL=ON \
196 -DVTK_USE_PARALLEL:BOOL=ON \
197 -DVTK_USE_PATENTED:BOOL=off \
198 -DVTK_USE_RENDERING:BOOL=ON \
199 -DVTK_WRAP_JAVA:BOOL=%{?with_java:ON}%{!?with_java:OFF} \
200 -DVTK_WRAP_PYTHON:BOOL=ON \
201 -DVTK_WRAP_TCL:BOOL=ON \
202 -DBUILD_SHARED_LIBS:BOOL=ON \
203 -DCMAKE_CXX_COMPILER:PATH="%{__cxx}" \
204 -DCMAKE_C_COMPILER:PATH="%{__cc}" \
205 -DCMAKE_LINKER_FLAGS:STRING="%{rpmldflags}" \
206 -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
211 rm -rf $RPM_BUILD_ROOT
214 export VTKPYTHONPATH=%(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'lib', 'python' + sys.version[:3],'site-packages')")
217 install -d $RPM_BUILD_ROOT%{_bindir}
218 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk
219 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/gtk
220 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/qt
221 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/testing
222 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/tk
223 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/util
224 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/wx
225 install -d $RPM_BUILD_ROOT/$VTKPYTHONPATH
226 install -d $RPM_BUILD_ROOT%{_includedir}/vtk
228 #install libs and tcl
231 DESTDIR=$RPM_BUILD_ROOT
233 chmod 755 $RPM_BUILD_ROOT%{_libdir}/vtk/*.so
234 for f in $RPM_BUILD_ROOT%{_libdir}/vtk/libvtk*Python*.so
236 ln -s ../`basename $f` $RPM_BUILD_ROOT%{_libdir}/vtk/python/
240 install bin/* $RPM_BUILD_ROOT%{_bindir}
243 install Wrapping/Python/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python
244 install Wrapping/Python/vtk/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk
245 install Wrapping/Python/vtk/gtk/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/gtk
246 install Wrapping/Python/vtk/qt/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/qt
247 install Wrapping/Python/vtk/tk/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/tk
248 install Wrapping/Python/vtk/util/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/util
249 install Wrapping/Python/vtk/wx/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/wx
250 cat > $RPM_BUILD_ROOT/$VTKPYTHONPATH/vtkpython.pth <<_EOF
251 %{_libdir}/vtk/python
256 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/java
257 install lib/vtk.jar $RPM_BUILD_ROOT%{_libdir}/vtk/java
258 install java/vtk/*.java $RPM_BUILD_ROOT%{_libdir}/vtk/java
262 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}-data
263 cp -r VTKData-release-4-2/* $RPM_BUILD_ROOT%{_datadir}/%{name}-data
264 rm -fr $RPM_BUILD_ROOT%{_datadir}/%{name}-data/CVS
266 #install test-suite and examples
267 for d in Common Filtering Graphics Hybrid IO Imaging Parallel Patented Rendering
269 install -d $RPM_BUILD_ROOT%{_datadir}/vtk-examples/Testing/$d
270 cp -a $d/Testing/* $RPM_BUILD_ROOT%{_datadir}/vtk-examples/Testing/$d
272 cp -a Examples $RPM_BUILD_ROOT%{_datadir}/vtk-examples
274 # get rid of unwanted files
275 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name "*.o" -exec rm {} \;
276 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name CMakeCache.txt -exec rm {} \;
277 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name Makefile -exec rm {} \;
278 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name DartTestfile.txt -exec rm {} \;
279 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name .NoDartCoverage -exec rm {} \;
280 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name "CMake*" -exec rm {} \;
281 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name "cmake.*" -exec rm {} \;
283 # Generate the package testing-progs lists and store them in file-lists
284 echo "%defattr (644,root,root,755)" > testing-progs-list
286 find ${RPM_BUILD_ROOT}/usr/bin -type f | \
287 sed -e "s#^${RPM_BUILD_ROOT}##g" | \
288 egrep -v '^/usr/bin/(vtk|pvtk|vtkWrap.*|vtkParse.*|VTKJavaExecutable|vtkpython|pvtkpython)$' \
289 >> testing-progs-list
291 find ${RPM_BUILD_ROOT}/usr/bin -type f | \
292 sed -e "s#^${RPM_BUILD_ROOT}##g" | \
293 egrep -v '^/usr/bin/(vtk|pvtk|vtkWrap.*|vtkParse.*|vtkpython|pvtkpython)$' \
294 >> testing-progs-list
298 rm -rf $RPM_BUILD_ROOT
300 %post -p /sbin/ldconfig
301 %postun -p /sbin/ldconfig
303 %post tcl -p /sbin/ldconfig
304 %postun tcl -p /sbin/ldconfig
306 %post python -p /sbin/ldconfig
307 %postun python -p /sbin/ldconfig
309 %post java -p /sbin/ldconfig
310 %postun java -p /sbin/ldconfig
313 %defattr(644,root,root,755)
314 %doc README.html vtkLogo.jpg
316 %attr(755,root,root) %{_libdir}/vtk/libvtkCommon.so
317 %attr(755,root,root) %{_libdir}/vtk/libvtkFiltering.so
318 %attr(755,root,root) %{_libdir}/vtk/libvtkGraphics.so
319 %attr(755,root,root) %{_libdir}/vtk/libvtkHybrid.so
320 %attr(755,root,root) %{_libdir}/vtk/libvtkImaging.so
321 %attr(755,root,root) %{_libdir}/vtk/libvtkIO.so
322 %attr(755,root,root) %{_libdir}/vtk/libvtkParallel.so
323 %attr(755,root,root) %{_libdir}/vtk/libvtkRendering.so
324 %attr(755,root,root) %{_libdir}/vtk/libvtkjpeg.so
325 %attr(755,root,root) %{_libdir}/vtk/libvtkpng.so
326 %attr(755,root,root) %{_libdir}/vtk/libvtkzlib.so
327 %attr(755,root,root) %{_libdir}/vtk/libvtkexpat.so
328 %attr(755,root,root) %{_libdir}/vtk/libvtkfreetype.so
329 %attr(755,root,root) %{_libdir}/vtk/libvtkftgl.so
330 %attr(755,root,root) %{_libdir}/vtk/libvtktiff.so
333 %defattr(644,root,root,755)
334 %doc %{_libdir}/vtk/doxygen
335 %doc Utilities/Upgrading/*
338 %{_libdir}/vtk/*.cmake
340 %files test-suite -f testing-progs-list
341 %defattr(644,root,root,755)
344 %defattr(644,root,root,755)
345 %doc README.html vtkLogo.jpg
346 %dir %{_libdir}/vtk/testing
347 %attr(755,root,root) %{_bindir}/vtkWrapTcl
348 %attr(755,root,root) %{_bindir}/vtk
349 %attr(755,root,root) %{_libdir}/vtk/libvtk*TCL.so
351 %{_libdir}/vtk/testing/*.tcl
354 %defattr(644,root,root,755)
355 %dir %_libdir/vtk/testing
356 %attr(755,root,root) %{_bindir}/vtkWrapPython
357 %attr(755,root,root) %{_bindir}/vtkpython
358 %attr(755,root,root) %{_libdir}/vtk/libvtk*Python*.so
359 %{_libdir}/vtk/python
360 %{_libdir}/vtk/testing/*.py
361 %(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'lib', 'python' + sys.version[:3],'site-packages', 'vtkpython.pth')")
365 %defattr(644,root,root,755)
366 %attr(755,root,root) %{_bindir}/vtkParseJava
367 %attr(755,root,root) %{_bindir}/vtkWrapJava
368 %attr(755,root,root) %{_bindir}/VTKJavaExecutable
369 %attr(755,root,root) %{_libdir}/vtk/libvtk*Java.so
374 %defattr(644,root,root,755)
375 %dir %{_datadir}/vtk-examples
376 %{_datadir}/vtk-examples/Examples
377 %{_datadir}/vtk-examples/Testing
380 %defattr(644,root,root,755)
381 %dir %{_datadir}/vtk-data
382 %{_datadir}/vtk-data/Baseline
383 %{_datadir}/vtk-data/Data
384 %{_datadir}/vtk-data/VTKData.readme