]> git.pld-linux.org Git - packages/vtk.git/blob - vtk.spec
- updated URL and some build parts
[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 Patch0:         %{name}-cmakefiles.patch
20 URL:            http://www.vtk.org/
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.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.
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.UTF-8):      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.UTF-8
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.UTF-8):      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.UTF-8
89 Ten pakiet zawiera dowiązania Tcl dla VTK.
90
91 %package python
92 Summary:        Python bindings for VTK
93 Summary(pl.UTF-8):      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.UTF-8
101 Ten pakiet zawiera dowiązania Pythona dla VTK.
102
103 %package java
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}
108
109 %description java
110 This package contains Java bindings for VTK.
111
112 %description java -l pl.UTF-8
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.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}
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.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).
133
134 %package test-suite
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}
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.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.
149
150 %package data
151 Summary:        Data files for VTK
152 Summary(pl.UTF-8):      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.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.
163
164 %prep
165 %setup -q -n VTK-%{version} -a 1
166 cd Hybrid
167 %patch0 -p1
168
169 %build
170 cmake \
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 \
180 %if %{with java}
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 \
184 %endif
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
207
208 %{__make}
209
210 %install
211 rm -rf $RPM_BUILD_ROOT
212
213 #setup python
214 export VTKPYTHONPATH=%(python -c"import os,sys; print os.path.join(sys.exec_prefix, 'lib', 'python' + sys.version[:3],'site-packages')")
215
216 #install directories
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
227
228 #install libs and tcl
229 #%%makeinstall_std
230 %{__make} install \
231         DESTDIR=$RPM_BUILD_ROOT
232
233 chmod 755 $RPM_BUILD_ROOT%{_libdir}/vtk/*.so
234 for f in $RPM_BUILD_ROOT%{_libdir}/vtk/libvtk*Python*.so
235 do
236         ln -s ../`basename $f` $RPM_BUILD_ROOT%{_libdir}/vtk/python/
237 done
238
239 #install binaries
240 install bin/* $RPM_BUILD_ROOT%{_bindir}
241
242 #install python
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
252 _EOF
253
254 %if %{with java}
255 #install java
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
259 %endif
260
261 #install data
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
265
266 #install test-suite and examples
267 for d in Common Filtering Graphics Hybrid IO Imaging Parallel Patented Rendering
268 do
269         install -d $RPM_BUILD_ROOT%{_datadir}/vtk-examples/Testing/$d
270         cp -a $d/Testing/* $RPM_BUILD_ROOT%{_datadir}/vtk-examples/Testing/$d
271 done
272 cp -a Examples $RPM_BUILD_ROOT%{_datadir}/vtk-examples
273
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 {} \;
282
283 # Generate the package testing-progs lists and store them in file-lists
284 echo "%defattr (644,root,root,755)" > testing-progs-list
285 %if %build_java
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
290 %else
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
295 %endif
296
297 %clean
298 rm -rf $RPM_BUILD_ROOT
299
300 %post   -p /sbin/ldconfig
301 %postun -p /sbin/ldconfig
302
303 %post   tcl -p /sbin/ldconfig
304 %postun tcl -p /sbin/ldconfig
305
306 %post   python -p /sbin/ldconfig
307 %postun python -p /sbin/ldconfig
308
309 %post   java -p /sbin/ldconfig
310 %postun java -p /sbin/ldconfig
311
312 %files
313 %defattr(644,root,root,755)
314 %doc README.html vtkLogo.jpg
315 %dir %{_libdir}/vtk
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
331
332 %files devel
333 %defattr(644,root,root,755)
334 %doc %{_libdir}/vtk/doxygen
335 %doc Utilities/Upgrading/*
336 %{_includedir}/vtk
337 %{_libdir}/vtk/CMake
338 %{_libdir}/vtk/*.cmake
339
340 %files test-suite -f testing-progs-list
341 %defattr(644,root,root,755)
342
343 %files tcl
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
350 %{_libdir}/vtk/tcl
351 %{_libdir}/vtk/testing/*.tcl
352
353 %files python
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')")
362
363 %if %{with java}
364 %files java
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
370 %{_libdir}/vtk/java
371 %endif
372
373 %files examples
374 %defattr(644,root,root,755)
375 %dir %{_datadir}/vtk-examples
376 %{_datadir}/vtk-examples/Examples
377 %{_datadir}/vtk-examples/Testing
378
379 %files data
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
This page took 0.047882 seconds and 4 git commands to generate.