]> git.pld-linux.org Git - packages/vtk.git/blob - vtk.spec
- more build updates; removed obsolete patch
[packages/vtk.git] / vtk.spec
1 #
2 # ToDo:
3 # - make it all work
4 #
5 # Conditional build
6 %bcond_with     java    # build with Java support (not yet done)
7 #
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
10 Name:           vtk
11 Version:        4.2.2
12 Release:        0.1
13 License:        BSD
14 Group:          Libraries
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 URL:            http://www.vtk.org/
20 BuildRequires:  XFree86-devel
21 BuildRequires:  cmake
22 BuildRequires:  doxygen
23 BuildRequires:  python-devel
24 BuildRequires:  tcl
25 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
26
27 %description
28 The Visualization ToolKit (VTK) is an object oriented software system
29 for 3D computer graphics, image processing, and visualization. VTK
30 includes a textbook, a C++ class library, and several interpreted
31 interface layers including Tcl/Tk, Java, and Python. VTK supports a
32 wide variety of visualization algorithms including scalar, vector,
33 tensor, texture, and volumetric methods. It also supports advanced
34 modeling techniques like implicit modeling, polygon reduction, mesh
35 smoothing, cutting, contouring, and Delaunay triangulation. Moreover,
36 dozens of imaging algorithms have been integrated into the system.
37 This allows mixing 2D imaging / 3D graphics algorithms and data.
38
39 NOTE: The Java wrapper is not included by default. You may rebuild
40       the srpm using "--with java" with JDK installed.
41
42 NOTE: All patented routines which are part of the package have been
43       removed in this version.
44
45 %description -l pl.UTF-8
46 Visualization TookKit (VTK) to obiektowo zorientowany system
47 oprogramowania do trójwymiarowej grafiki komputerowej, przetwarzania
48 obrazu i wizualizacji. VTK zawiera książkę, bibliotekę klas C++ oraz
49 kilka interpretowanych warstw interfejsów, w tym dla Tcl/Tk, Javy i
50 Pythona. VTK obsługuje szeroki zakres algorytmów wizualizacji, w tym
51 metody skalarne, wektorowe, tensorowe, teksturowe i wolumetryczne.
52 Obsługuje także zaawansowane techniki modelowania, takie jak
53 modelowanie implicite, redukcja wielokątów, wygładzanie siatki,
54 przycinanie, konturowanie i triangulacja Delaunaya. Co więcej, wiele
55 algorytmów obrazowania zostało zintegrowanych z systemem. Pozwala to
56 na mieszanie algorytmów obrazowania 2D i grafiki 3D.
57
58 UWAGA: wrapper Javy nie został włączony domyślnie. Można przebudować
59        srpm-a z opcją "--with java" przy zainstalowanym JDK.
60
61 UWAGA: wszystkie opatentowane procedury będące częścią tego pakietu
62        zostały usunięte w tej wersji.
63
64 %package devel
65 Summary:        VTK header files for building C++ code
66 Summary(pl.UTF-8):      Pliki nagłówkowe VTK dla C++
67 Group:          Development
68 Requires:       %{name} = %{version}-%{release}
69
70 %description devel
71 This provides the VTK header files required to compile C++ programs
72 that use VTK to do 3D visualisation.
73
74 %description devel -l pl.UTF-8
75 Ten pakiet dostarcza pliki nagłówkowe VTK do kompilowania programów
76 C++ używających VTK do wizualizacji 3D.
77
78 %package tcl
79 Summary:        Tcl bindings for VTK
80 Summary(pl.UTF-8):      Dowiązania Tcl do VTK
81 Group:          Libraries
82 Requires:       %{name} = %{version}-%{release}
83
84 %description tcl
85 This package contains Tcl bindings for VTK.
86
87 %description tcl -l pl.UTF-8
88 Ten pakiet zawiera dowiązania Tcl dla VTK.
89
90 %package python
91 Summary:        Python bindings for VTK
92 Summary(pl.UTF-8):      Dowiązania Pythona do VTK
93 Group:          Libraries
94 Requires:       %{name} = %{version}-%{release}
95
96 %description python
97 This package contains Python bindings for VTK.
98
99 %description python -l pl.UTF-8
100 Ten pakiet zawiera dowiązania Pythona dla VTK.
101
102 %package java
103 Summary:        Java bindings for VTK
104 Summary(pl.UTF-8):      Dowiązania Javy do VTK
105 Group:          Development/Languages/Java
106 Requires:       %{name} = %{version}-%{release}
107
108 %description java
109 This package contains Java bindings for VTK.
110
111 %description java -l pl.UTF-8
112 Ten pakiet zawiera dowiązania Javy dla VTK.
113
114 %package examples
115 Summary:        C++, Tcl and Python example programs/scripts for VTK
116 Summary(pl.UTF-8):      Przykładowe programy/skrypty w C++, Tcl-u i Pythonie dla VTK
117 Group:          Development/Libraries
118 Requires:       %{name} = %{version}-%{release}
119 Requires:       %{name}-data = %{version}-%{release}
120
121 %description examples
122 This package contains all the examples from the VTK source. To compile
123 the C++ examples you will need to install the vtk-devel package as
124 well. The Python and Tcl examples can be run with the corresponding
125 packages (vtk-python, vtk-tcl).
126
127 %description examples -l pl.UTF-8
128 Ten pakiet zawiera wszystkie przykłady ze źródeł VTK. Do skompilowania
129 przykładów w C++ trzeba doinstalować pakiet vtk-devel. Przykłady w
130 Pythonie i Tcl-u można uruchamiać przy użyciu odpowiednich pakietów
131 (vtk-python, vtk-tcl).
132
133 %package test-suite
134 Summary:        Test programs for VTK
135 Summary(pl.UTF-8):      Programy testowe dla VTK
136 Group:          Development/Libraries
137 Requires:       %{name} = %{version}-%{release}
138 Requires:       %{name}-data = %{version}-%{release}
139
140 %description test-suite
141 This package contains all testing programs from the VTK source. The
142 source code of these programs can be found in the vtk-examples
143 package.
144
145 %description test-suite -l pl.UTF-8
146 Ten pakiet zawiera wszystkie programy testowe ze źródeł VTK. Kod
147 źródłowy tych programów można znaleźć w pakiecie vtk-examples.
148
149 %package data
150 Summary:        Data files for VTK
151 Summary(pl.UTF-8):      Pliki danych dla VTK
152 Group:          Development/Libraries
153
154 %description data
155 This package contains all the data from the VTKData repository. These
156 data are required to run various examples from the vtk-examples
157 package.
158
159 %description data -l pl.UTF-8
160 Ten pakiet zawiera wszystkie dane z repozytorium VTKData. Dane te są
161 potrzebne do uruchamiania różnych przykładów z pakietu vtk-examples.
162
163 %prep
164 %setup -q -n VTK -a 1
165 cd Hybrid
166
167 %build
168 cmake \
169         -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
170         -DLIBRARY_OUTPUT_PATH:PATH=$RPM_BUILD_DIR/VTK-%{version}/lib \
171         -DEXECUTABLE_OUTPUT_PATH:PATH=$RPM_BUILD_DIR/VTK-%{version}/bin \
172         -DCMAKE_SKIP_RPATH:BOOL=ON \
173         -DBUILD_EXAMPLES:BOOL=ON \
174         -DBUILD_SHARED_LIBS:BOOL=ON \
175         -DBUILD_DOCUMENTATION:BOOL=ON \
176         -DBUILD_TESTING:BOOL=ON \
177         -DCMAKE_BACKWARDS_COMPATIBILITY=1.8 \
178 %if %{with java}
179         -DJAVA_INCLUDE_PATH:PATH=$JAVA_HOME/include \
180         -DJAVA_INCLUDE_PATH2:PATH=$JAVA_HOME/include/linux \
181         -DJAVE_AWT_INCLUDE_PATH:PATH=$JAVA_HOME/include \
182 %endif
183         -DOPENGL_INCLUDE_PATH:PATH=/usr/include/GL \
184         -DPYTHON_INCLUDE_PATH:PATH=%{py_incdir} \
185         -DPYTHON_LIBRARY:FILEPATH=%{_libdir}/libpython%{py_ver}.so \
186         -DPYTHON_UTIL_LIBRARY:PATH=%{_libdir}/libutil.so \
187         -DTCL_INCLUDE_PATH:PATH=%{_includedir} \
188         -DTCL_LIBRARY:PATH=%{_libdir}/libtcl.so \
189         -DTK_INCLUDE_PATH:PATH=%{_includedir} \
190         -DTK_LIBRARY:PATH=%{_libdir}/libtk.so \
191         -DVTK_DATA_ROOT:PATH=%{_datadir}/vtk \
192         -DVTK_USE_HYBRID:BOOL=ON \
193         -DVTK_USE_PARALLEL:BOOL=ON \
194         -DVTK_USE_PATENTED:BOOL=off \
195         -DVTK_USE_RENDERING:BOOL=ON \
196         -DVTK_WRAP_JAVA:BOOL=%{?with_java:ON}%{!?with_java:OFF} \
197         -DVTK_WRAP_PYTHON:BOOL=ON \
198         -DVTK_WRAP_TCL:BOOL=ON \
199         -DBUILD_SHARED_LIBS:BOOL=ON \
200         -DCMAKE_CXX_COMPILER:PATH="%{__cxx}" \
201         -DCMAKE_C_COMPILER:PATH="%{__cc}" \
202         -DCMAKE_LINKER_FLAGS:STRING="%{rpmldflags}" \
203         -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
204
205 %{__make}
206
207 %install
208 rm -rf $RPM_BUILD_ROOT
209
210 #setup python
211 export VTKPYTHONPATH=%{py_sitedir}
212
213 #install directories
214 install -d $RPM_BUILD_ROOT%{_bindir}
215 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk
216 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/gtk
217 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/qt
218 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/testing
219 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/tk
220 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/util
221 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/wx
222 install -d $RPM_BUILD_ROOT/$VTKPYTHONPATH
223 install -d $RPM_BUILD_ROOT%{_includedir}/vtk
224
225 #install libs and tcl
226 #%%makeinstall_std
227 %{__make} install \
228         DESTDIR=$RPM_BUILD_ROOT
229
230 chmod 755 $RPM_BUILD_ROOT%{_libdir}/vtk/*.so
231 for f in $RPM_BUILD_ROOT%{_libdir}/vtk/libvtk*Python*.so
232 do
233         ln -s ../`basename $f` $RPM_BUILD_ROOT%{_libdir}/vtk/python/
234 done
235
236 #install binaries
237 install bin/* $RPM_BUILD_ROOT%{_bindir}
238
239 #install python
240 install Wrapping/Python/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python
241 install Wrapping/Python/vtk/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk
242 install Wrapping/Python/vtk/gtk/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/gtk
243 install Wrapping/Python/vtk/qt/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/qt
244 install Wrapping/Python/vtk/tk/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/tk
245 install Wrapping/Python/vtk/util/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/util
246 install Wrapping/Python/vtk/wx/*.py $RPM_BUILD_ROOT%{_libdir}/vtk/python/vtk/wx
247 cat > $RPM_BUILD_ROOT/$VTKPYTHONPATH/vtkpython.pth <<_EOF
248 %{_libdir}/vtk/python
249 _EOF
250
251 %if %{with java}
252 #install java
253 install -d $RPM_BUILD_ROOT%{_libdir}/vtk/java
254 install lib/vtk.jar $RPM_BUILD_ROOT%{_libdir}/vtk/java
255 install java/vtk/*.java $RPM_BUILD_ROOT%{_libdir}/vtk/java
256 %endif
257
258 #install data
259 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}-data
260 cp -r VTKData-release-4-2/* $RPM_BUILD_ROOT%{_datadir}/%{name}-data
261 rm -fr $RPM_BUILD_ROOT%{_datadir}/%{name}-data/CVS
262
263 #install test-suite and examples
264 for d in Common Filtering Graphics Hybrid IO Imaging Parallel Patented Rendering
265 do
266         install -d $RPM_BUILD_ROOT%{_datadir}/vtk-examples/Testing/$d
267         cp -a $d/Testing/* $RPM_BUILD_ROOT%{_datadir}/vtk-examples/Testing/$d
268 done
269 cp -a Examples $RPM_BUILD_ROOT%{_datadir}/vtk-examples
270
271 # get rid of unwanted files
272 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name "*.o" -exec rm {} \;
273 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name CMakeCache.txt -exec rm {} \;
274 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name Makefile -exec rm {} \;
275 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name DartTestfile.txt -exec rm {} \;
276 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name .NoDartCoverage -exec rm {} \;
277 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name "CMake*" -exec rm {} \;
278 find $RPM_BUILD_ROOT%{_datadir}/vtk-examples -name "cmake.*" -exec rm {} \;
279
280 # Generate the package testing-progs lists and store them in file-lists
281 echo "%defattr (644,root,root,755)" > testing-progs-list
282 %if %{with java}
283 find ${RPM_BUILD_ROOT}/usr/bin -type f | \
284         sed -e "s#^${RPM_BUILD_ROOT}##g" | \
285         egrep -v '^/usr/bin/(vtk|pvtk|vtkWrap.*|vtkParse.*|VTKJavaExecutable|vtkpython|pvtkpython)$' \
286         >> testing-progs-list
287 %else
288 find ${RPM_BUILD_ROOT}/usr/bin -type f | \
289         sed -e "s#^${RPM_BUILD_ROOT}##g" | \
290         egrep -v '^/usr/bin/(vtk|pvtk|vtkWrap.*|vtkParse.*|vtkpython|pvtkpython)$' \
291         >> testing-progs-list
292 %endif
293
294 %clean
295 rm -rf $RPM_BUILD_ROOT
296
297 %post   -p /sbin/ldconfig
298 %postun -p /sbin/ldconfig
299
300 %post   tcl -p /sbin/ldconfig
301 %postun tcl -p /sbin/ldconfig
302
303 %post   python -p /sbin/ldconfig
304 %postun python -p /sbin/ldconfig
305
306 %post   java -p /sbin/ldconfig
307 %postun java -p /sbin/ldconfig
308
309 %files
310 %defattr(644,root,root,755)
311 %doc README.html vtkLogo.jpg
312 %dir %{_libdir}/vtk
313 %attr(755,root,root) %{_libdir}/vtk/libvtkCommon.so
314 %attr(755,root,root) %{_libdir}/vtk/libvtkFiltering.so
315 %attr(755,root,root) %{_libdir}/vtk/libvtkGraphics.so
316 %attr(755,root,root) %{_libdir}/vtk/libvtkHybrid.so
317 %attr(755,root,root) %{_libdir}/vtk/libvtkImaging.so
318 %attr(755,root,root) %{_libdir}/vtk/libvtkIO.so
319 %attr(755,root,root) %{_libdir}/vtk/libvtkParallel.so
320 %attr(755,root,root) %{_libdir}/vtk/libvtkRendering.so
321 %attr(755,root,root) %{_libdir}/vtk/libvtkjpeg.so
322 %attr(755,root,root) %{_libdir}/vtk/libvtkpng.so
323 %attr(755,root,root) %{_libdir}/vtk/libvtkzlib.so
324 %attr(755,root,root) %{_libdir}/vtk/libvtkexpat.so
325 %attr(755,root,root) %{_libdir}/vtk/libvtkfreetype.so
326 %attr(755,root,root) %{_libdir}/vtk/libvtkftgl.so
327 %attr(755,root,root) %{_libdir}/vtk/libvtktiff.so
328
329 %files devel
330 %defattr(644,root,root,755)
331 %doc %{_libdir}/vtk/doxygen
332 %doc Utilities/Upgrading/*
333 %{_includedir}/vtk
334 %{_libdir}/vtk/CMake
335 %{_libdir}/vtk/*.cmake
336
337 %files test-suite -f testing-progs-list
338 %defattr(644,root,root,755)
339
340 %files tcl
341 %defattr(644,root,root,755)
342 %doc README.html vtkLogo.jpg
343 %dir %{_libdir}/vtk/testing
344 %attr(755,root,root) %{_bindir}/vtkWrapTcl
345 %attr(755,root,root) %{_bindir}/vtk
346 %attr(755,root,root) %{_libdir}/vtk/libvtk*TCL.so
347 %{_libdir}/vtk/tcl
348 %{_libdir}/vtk/testing/*.tcl
349
350 %files python
351 %defattr(644,root,root,755)
352 %dir %_libdir/vtk/testing
353 %attr(755,root,root) %{_bindir}/vtkWrapPython
354 %attr(755,root,root) %{_bindir}/vtkpython
355 %attr(755,root,root) %{_libdir}/vtk/libvtk*Python*.so
356 %{_libdir}/vtk/python
357 %{_libdir}/vtk/testing/*.py
358 %(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'lib', 'python' + sys.version[:3],'site-packages', 'vtkpython.pth')")
359
360 %if %{with java}
361 %files java
362 %defattr(644,root,root,755)
363 %attr(755,root,root) %{_bindir}/vtkParseJava
364 %attr(755,root,root) %{_bindir}/vtkWrapJava
365 %attr(755,root,root) %{_bindir}/VTKJavaExecutable
366 %attr(755,root,root) %{_libdir}/vtk/libvtk*Java.so
367 %{_libdir}/vtk/java
368 %endif
369
370 %files examples
371 %defattr(644,root,root,755)
372 %dir %{_datadir}/vtk-examples
373 %{_datadir}/vtk-examples/Examples
374 %{_datadir}/vtk-examples/Testing
375
376 %files data
377 %defattr(644,root,root,755)
378 %dir %{_datadir}/vtk-data
379 %{_datadir}/vtk-data/Baseline
380 %{_datadir}/vtk-data/Data
381 %{_datadir}/vtk-data/VTKData.readme
This page took 0.105115 seconds and 4 git commands to generate.