]> git.pld-linux.org Git - packages/vtk.git/blob - vtk.spec
- massive: missing %defattr (or related cosmetics)
[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):    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://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
22 BuildRequires:  cmake
23 BuildRequires:  doxygen
24 BuildRequires:  python-devel
25 BuildRequires:  tcl
26 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27
28 %description
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.
39
40 NOTE: The Java wrapper is not included by default.  You may rebuild
41       the srpm using "--with java" with JDK installed.
42
43 NOTE: All patented routines which are part of the package have been
44       removed in this version.
45
46 %description -l pl
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.
58
59 UWAGA: wrapper Javy nie zosta³ w³±czony domy¶lnie. Mo¿na przebudowaæ
60        srpm-a z opcj± "--with java" przy zainstalowanym JDK.
61
62 UWAGA: wszystkie opatentowane procedury bêd±ce czê¶ci± tego pakietu
63        zosta³y usuniête w tej wersji.
64
65 %package devel
66 Summary:        VTK header files for building C++ code
67 Summary(pl):    Pliki nag³ówkowe VTK dla C++
68 Group:          Development
69 Requires:       %{name} = %{version}-%{release}
70
71 %description devel
72 This provides the VTK header files required to compile C++ programs
73 that use VTK to do 3D visualisation.
74
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.
78
79 %package tcl
80 Summary:        Tcl bindings for VTK
81 Summary(pl):    Dowi±zania Tcl do VTK
82 Group:          Libraries
83 Requires:       %{name} = %{version}-%{release}
84
85 %description tcl
86 This package contains Tcl bindings for VTK.
87
88 %description tcl -l pl
89 Ten pakiet zawiera dowi±zania Tcl dla VTK.
90
91 %package python
92 Summary:        Python bindings for VTK
93 Summary(pl):    Dowi±zania Pythona do VTK
94 Group:          Libraries
95 Requires:       %{name} = %{version}-%{release}
96
97 %description python
98 This package contains Python bindings for VTK.
99
100 %description python -l pl
101 Ten pakiet zawiera dowi±zania Pythona dla VTK.
102
103 %package java
104 Summary:        Java bindings for VTK
105 Summary(pl):    Dowi±zania Javy do VTK
106 Group:          Development/Languages/Java
107 Requires:       %{name} = %{version}-%{release}
108
109 %description java
110 This package contains Java bindings for VTK.
111
112 %description java -l pl
113 Ten pakiet zawiera dowi±zania Javy dla VTK.
114
115 %package examples
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}
121
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).
127
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).
133
134 %package test-suite
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}
140
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
144 package.
145
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.
149
150 %package data
151 Summary:        Data files for VTK
152 Summary(pl):    Pliki danych dla VTK
153 Group:          Development/Libraries
154
155 %description data
156 This package contains all the data from the VTKData repository. These
157 data are required to run various examples from the vtk-examples
158 package.
159
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.
163
164 %prep
165 %setup -q -n VTK-%{version} -a 1
166 cd Hybrid
167 %patch0 -p1
168
169 %build
170 #%if %build_java
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
197 #
198 #%else
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
222 #
223 #%endif
224 cmake \
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 \
255
256 %{__make}
257
258 %install
259 rm -rf $RPM_BUILD_ROOT
260
261 #setup python
262 export VTKPYTHONPATH=%(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'lib', 'python' + sys.version[:3],'site-packages')")
263
264 #install directories
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
275
276 #install libs and tcl
277 #%%makeinstall_std
278 %{__make} install \
279         DESTDIR=$RPM_BUILD_ROOT
280
281 chmod 755 $RPM_BUILD_ROOT%{_libdir}/vtk/*.so
282 for f in $RPM_BUILD_ROOT%{_libdir}/vtk/libvtk*Python*.so
283 do
284   ln -s ../`basename $f` $RPM_BUILD_ROOT%{_libdir}/vtk/python/
285 done
286
287 #install binaries
288 install bin/* $RPM_BUILD_ROOT%{_bindir}
289
290 #install python
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
300 _EOF
301
302 %if %build_java
303 #install java
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
307 %endif
308
309 #install data
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
313
314 #install test-suite and examples
315 for d in Common Filtering Graphics Hybrid IO Imaging Parallel Patented Rendering
316 do
317         mkdir -p $RPM_BUILD_ROOT%{_datadir}/vtk-examples/Testing/$d
318         cp -a $d/Testing/* $RPM_BUILD_ROOT%{_datadir}/vtk-examples/Testing/$d
319 done
320 cp -a Examples $RPM_BUILD_ROOT%{_datadir}/vtk-examples
321
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 {} \;
330
331 # Generate the package testing-progs lists and store them in file-lists
332 echo "%defattr (644,root,root,755)" > testing-progs-list
333 %if %build_java
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
338 %else
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
343 %endif
344
345 %clean
346 rm -rf $RPM_BUILD_ROOT
347
348 %post   -p /sbin/ldconfig
349 %postun -p /sbin/ldconfig
350
351 %post   tcl -p /sbin/ldconfig
352 %postun tcl -p /sbin/ldconfig
353
354 %post   python -p /sbin/ldconfig
355 %postun python -p /sbin/ldconfig
356
357 %post   java -p /sbin/ldconfig
358 %postun java -p /sbin/ldconfig
359
360 %files
361 %defattr(644,root,root,755)
362 %doc README.html vtkLogo.jpg
363 %dir %{_libdir}/vtk
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
379
380 %files devel
381 %defattr(644,root,root,755)
382 %doc %{_libdir}/vtk/doxygen
383 %doc Utilities/Upgrading/*
384 %{_includedir}/vtk
385 %{_libdir}/vtk/CMake
386 %{_libdir}/vtk/*.cmake
387
388 %files test-suite -f testing-progs-list
389 %defattr(644,root,root,755)
390
391 %files tcl
392 %defattr(644,root,root,755)
393 %doc README.html vtkLogo.jpg
394 %dir %{_libdir}/vtk/testing
395 %attr(755,root,root) %{_bindir}/vtkWrapTcl
396 %attr(755,root,root) %{_bindir}/vtk
397 %attr(755,root,root) %{_libdir}/vtk/libvtk*TCL.so
398 %{_libdir}/vtk/tcl
399 %{_libdir}/vtk/testing/*.tcl
400
401 %files python
402 %defattr(644,root,root,755)
403 %dir %_libdir/vtk/testing
404 %attr(755,root,root) %{_bindir}/vtkWrapPython
405 %attr(755,root,root) %{_bindir}/vtkpython
406 %attr(755,root,root) %{_libdir}/vtk/libvtk*Python*.so
407 %{_libdir}/vtk/python
408 %{_libdir}/vtk/testing/*.py
409 %(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'lib', 'python' + sys.version[:3],'site-packages', 'vtkpython.pth')")
410
411 %if %build_java
412 %files java
413 %defattr(644,root,root,755)
414 %attr(755,root,root) %{_bindir}/vtkParseJava
415 %attr(755,root,root) %{_bindir}/vtkWrapJava
416 %attr(755,root,root) %{_bindir}/VTKJavaExecutable
417 %attr(755,root,root) %{_libdir}/vtk/libvtk*Java.so
418 %{_libdir}/vtk/java
419 %endif
420
421 %files examples
422 %defattr(644,root,root,755)
423 %dir %{_datadir}/vtk-examples
424 %{_datadir}/vtk-examples/Examples
425 %{_datadir}/vtk-examples/Testing
426
427 %files data
428 %defattr(644,root,root,755)
429 %dir %{_datadir}/vtk-data
430 %{_datadir}/vtk-data/Baseline
431 %{_datadir}/vtk-data/Data
432 %{_datadir}/vtk-data/VTKData.readme
This page took 0.191053 seconds and 4 git commands to generate.