]> git.pld-linux.org Git - packages/fftw3.git/blob - fftw3.spec
- clone tree and compile using separate sources to get more reliable results
[packages/fftw3.git] / fftw3.spec
1 Summary:        Fast Fourier Transform library
2 Summary(pl):    Biblioteka z funkcjami szybkiej transformaty Fouriera
3 Summary(pt_BR): biblioteca fast fourier transform
4 Name:           fftw3
5 Version:        3.0.1
6 Release:        1
7 License:        GPL
8 Group:          Libraries
9 Source0:        ftp://ftp.fftw.org/pub/fftw/fftw-%{version}.tar.gz
10 # Source0-md5:  76cd21ecc9a7bed6343566c473c36477
11 Patch0:         %{name}-info.patch
12 Patch1:         %{name}-link.patch
13 Icon:           fftw-logo-thumb.gif
14 URL:            http://www.fftw.org/
15 BuildRequires:  autoconf
16 BuildRequires:  automake
17 BuildRequires:  libtool
18 Requires:       %{name}-common = %{version}
19 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
20
21 %description
22 FFTW is a collection of fast C routines for computing the Discrete
23 Fourier Transform in one or more dimensions. It includes complex,
24 real, and parallel transforms, and can handle arbitrary array sizes
25 efficiently. This RPM package includes the double precision FFTW
26 uniprocessor and threads libraries.
27
28 %description -l pl
29 FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
30 transformat Fouriera w jednym lub wiêcej wymiarach. Zawiera równie¿
31 zespolone, rzeczywiste oraz równoleg³e transformaty i potrafi wydajnie
32 radziæ sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
33 zawiera wersje FFTW o podwójnej precyzji dla architektur
34 jednoprocesorowych oraz z obs³ug± w±tków.
35
36 %description -l pt_BR
37 FFTW é uma coleção de rotinas rápidas em C para computar a Discrete
38 Fourier Transform em uma ou mais dimensões. Incluindo transformações
39 complexas, reais e paralelas, também pode manipular vetores de tamanho
40 arbitrário eficientemente. Esse pacote RPM inclui bibliotecas FFTW com
41 suporte a threads, normal e dupla precisão (Os arquivos de precisão
42 normal tem um prefixo "s").
43
44 %package devel
45 Summary:        Development files for fftw
46 Summary(pl):    Pliki programistyczne do fftw
47 Summary(pt_BR): Headers e documentação do pacote FFTW
48 Group:          Development/Libraries
49 Requires:       %{name} = %{version}
50 Requires:       %{name}-common-devel = %{version}
51
52 %description devel
53 This package contains the files you need to develop programs using the
54 FFTW (fast fourier transform library).
55
56 %description devel -l pl
57 Ten pakiet zawiera pliki potrzebne do tworzenia programów u¿ywaj±cych
58 biblioteki FFTW (wykonuj±cej szybk± transformatê Fouriera).
59
60 %description devel -l pt_BR
61 Este pacote contém documentação e headers adicionais para desenvolver
62 programas usando a FFTW.
63
64 %package static
65 Summary:        Static fftw libraries
66 Summary(pl):    Statyczne biblioteki fftw
67 Summary(pt_BR): Bibliotecas estáticas do pacote FFTW
68 Group:          Development/Libraries
69 Requires:       %{name}-devel = %{version}
70
71 %description static
72 Static fftw libraries.
73
74 %description static -l pl
75 Statyczne biblioteki fftw.
76
77 %description static -l pt_BR
78 Este pacote contém as bibliotecas estáticas do pacote FFTW.
79
80 %package single
81 Summary:        Fast Fourier Transform library - single precision
82 Summary(pl):    Biblioteka z funkcjami szybkiej transformaty Fouriera - pojedynczej precyzji
83 Group:          Libraries
84 Requires:       %{name}-common = %{version}
85
86 %description single
87 FFTW is a collection of fast C routines for computing the Discrete
88 Fourier Transform in one or more dimensions. It includes complex,
89 real, and parallel transforms, and can handle arbitrary array sizes
90 efficiently. This RPM package includes the single precision FFTW
91 uniprocessor and threads libraries.
92
93 %description single -l pl
94 FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
95 transformat Fouriera w jednym lub wiêcej wymiarach. Zawiera równie¿
96 zespolone, rzeczywiste oraz równoleg³e transformaty i potrafi wydajnie
97 radziæ sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
98 zawiera wersje FFTW o pojedynczej precyzji dla architektur
99 jednoprocesorowych oraz z obs³ug± w±tków.
100
101 %package single-devel
102 Summary:        Development files for single precision fftw
103 Summary(pl):    Pliki programistyczne do fftw pojedynczej precyzji
104 Group:          Development/Libraries
105 Requires:       %{name}-common-devel = %{version}
106 Requires:       %{name}-single = %{version}
107
108 %description single-devel
109 This package contains the files you need to develop programs using the
110 single precision FFTW (fast fourier transform library).
111
112 %description single-devel -l pl
113 Ten pakiet zawiera pliki potrzebne do tworzenia programów u¿ywaj±cych
114 biblioteki FFTW pojedynczej precyzji (wykonuj±cej szybk± transformatê
115 Fouriera).
116
117 %package single-static
118 Summary:        Static fftw single precision libraries
119 Summary(pl):    Statyczne biblioteki fftw pojedynczej precyzji
120 Group:          Development/Libraries
121 Requires:       %{name}-single-devel = %{version}
122
123 %description single-static
124 Static fftw single precision libraries.
125
126 %description single-static -l pl
127 Statyczne biblioteki fftw pojedynczej precyzji.
128
129 %package long
130 Summary:        Fast Fourier Transform library - long double precision
131 Summary(pl):    Biblioteka z funkcjami szybkiej transformaty Fouriera - rozszerzonej precyzji
132 Group:          Libraries
133 Requires:       %{name}-common = %{version}
134
135 %description long
136 FFTW is a collection of fast C routines for computing the Discrete
137 Fourier Transform in one or more dimensions. It includes complex,
138 real, and parallel transforms, and can handle arbitrary array sizes
139 efficiently. This RPM package includes the long double precision FFTW
140 uniprocessor and threads libraries.
141
142 %description long -l pl
143 FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
144 transformat Fouriera w jednym lub wiêcej wymiarach. Zawiera równie¿
145 zespolone, rzeczywiste oraz równoleg³e transformaty i potrafi wydajnie
146 radziæ sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
147 zawiera wersje FFTW o rozszerzonej precyzji dla architektur
148 jednoprocesorowych oraz z obs³ug± w±tków.
149
150 %package long-devel
151 Summary:        Development files for long double precision fftw
152 Summary(pl):    Pliki programistyczne do fftw rozszerzonej precyzji
153 Group:          Development/Libraries
154 Requires:       %{name}-common-devel = %{version}
155 Requires:       %{name}-long = %{version}
156
157 %description long-devel
158 This package contains the files you need to develop programs using the
159 long double precision FFTW (fast fourier transform library).
160
161 %description long-devel -l pl
162 Ten pakiet zawiera pliki potrzebne do tworzenia programów u¿ywaj±cych
163 biblioteki FFTW rozszerzonej precyzji (wykonuj±cej szybk± transformatê
164 Fouriera).
165
166 %package long-static
167 Summary:        Static fftw long double precision libraries
168 Summary(pl):    Statyczne biblioteki fftw rozszerzonej precyzji
169 Group:          Development/Libraries
170 Requires:       %{name}-long-devel = %{version}
171
172 %description long-static
173 Static fftw long double precision libraries.
174
175 %description long-static -l pl
176 Statyczne biblioteki fftw rozszerzonej precyzji.
177
178 %package common
179 Summary:        Files common for all versions of fftw libraries
180 Summary(pl):    Pliki wspólne dla wszystkich wersji bibliotek fftw
181 Group:          Libraries
182
183 %description common
184 Files common for all versions of fftw libraries (basic documentation,
185 fftw-wisdom-to-conf utility).
186
187 %description common -l pl
188 Pliki wspólne dla wszystkich wersji bibliotek fftw (podstawowa
189 dokumentacja, narzêdzie fftw-wisdom-to-conf).
190
191 %package common-devel
192 Summary:        Development files common for all versions of fftw libraries
193 Summary(pl):    Pliki programistyczne wspólne dla wszystkich wersji bibliotek fftw
194 Group:          Development/Libraries
195 Requires:       %{name}-common
196
197 %description common-devel
198 Development files common for all versions of fftw libraries (header
199 files, development documentation).
200
201 %description common-devel -l pl
202 Pliki programistyczne wspólne dla wszystkich wersji bibliotek fftw
203 (pliki nag³ówkowe, dokumentacja programisty).
204
205 %prep
206 %setup -q -n fftw-%{version}
207 %patch0 -p1
208 %patch1 -p1
209
210 %build
211 %{__libtoolize}
212 %{__aclocal}
213 %{__autoconf}
214 %{__automake}
215
216 # prepare three trees (for single, double, long-double precision)
217 echo * > files.list
218 install -d single long-double
219 cp -a `cat files.list` single
220 cp -a `cat files.list` long-double
221 ln -sf . double
222
223 # MMX/SSE/etc. seem to be safe because of runtime CPU detection
224 for ver in single double long-double ; do
225         OPTS=""
226         # k7,SSE,3dnow,altivec only for single
227         if [ "$ver" = "single" ]; then
228 %ifarch i586 k6
229                 OPTS="--enable-3dnow"
230 %endif
231 %ifarch i686
232                 OPTS="--enable-sse"
233 %endif
234 %ifarch athlon
235                 OPTS="--enable-sse" # "--enable-k7" disabled - causes SEGV on athlons
236 %endif
237 %ifarch ppc
238                 OPTS="--enable-altivec"
239 %endif
240         fi
241 %ifarch i686
242         # SSE2 only for double
243         if [ "$ver" = "double" ]; then
244                 OPTS="--enable-sse2"
245         endif
246 %endif
247 cd $ver
248 %configure \
249         --enable-shared \
250         --enable-threads \
251         --enable-$ver \
252         $OPTS \
253         --%{!?debug:dis}%{?debug:en}able-debug
254
255 %{__make}
256
257 cd ..
258 done
259
260 %install
261 rm -rf $RPM_BUILD_ROOT
262
263 %{__make} install \
264         DESTDIR=$RPM_BUILD_ROOT
265
266 %{__make} install -C single \
267         DESTDIR=$RPM_BUILD_ROOT
268
269 %{__make} install -C long-double\
270         DESTDIR=$RPM_BUILD_ROOT
271
272 %clean
273 rm -rf $RPM_BUILD_ROOT
274
275 %post   -p /sbin/ldconfig
276 %postun -p /sbin/ldconfig
277
278 %post common-devel
279 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
280
281 %postun common-devel
282 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
283
284 %files
285 %defattr(644,root,root,755)
286 %attr(755,root,root) %{_bindir}/fftw-wisdom
287 %attr(755,root,root) %{_libdir}/libfftw3.so.*.*.*
288 %attr(755,root,root) %{_libdir}/libfftw3_threads.so.*.*.*
289 %{_mandir}/man1/fftw-wisdom.1*
290
291 %files devel
292 %defattr(644,root,root,755)
293 %attr(755,root,root) %{_libdir}/libfftw3.so
294 %attr(755,root,root) %{_libdir}/libfftw3_threads.so
295 %{_libdir}/libfftw3.la
296 %{_libdir}/libfftw3_threads.la
297 %{_pkgconfigdir}/fftw3.pc
298
299 %files static
300 %defattr(644,root,root,755)
301 %{_libdir}/libfftw3.a
302 %{_libdir}/libfftw3_threads.a
303
304 %files single
305 %defattr(644,root,root,755)
306 %attr(755,root,root) %{_bindir}/fftwf-wisdom
307 %attr(755,root,root) %{_libdir}/libfftw3f.so.*.*.*
308 %attr(755,root,root) %{_libdir}/libfftw3f_threads.so.*.*.*
309 %{_mandir}/man1/fftwf-wisdom.1*
310
311 %files single-devel
312 %defattr(644,root,root,755)
313 %attr(755,root,root) %{_libdir}/libfftw3f.so
314 %attr(755,root,root) %{_libdir}/libfftw3f_threads.so
315 %{_libdir}/libfftw3f.la
316 %{_libdir}/libfftw3f_threads.la
317 %{_pkgconfigdir}/fftw3f.pc
318
319 %files single-static
320 %defattr(644,root,root,755)
321 %{_libdir}/libfftw3f.a
322 %{_libdir}/libfftw3f_threads.a
323
324 %files long
325 %defattr(644,root,root,755)
326 %attr(755,root,root) %{_bindir}/fftwl-wisdom
327 %attr(755,root,root) %{_libdir}/libfftw3l.so.*.*.*
328 %attr(755,root,root) %{_libdir}/libfftw3l_threads.so.*.*.*
329 %{_mandir}/man1/fftwl-wisdom.1*
330
331 %files long-devel
332 %defattr(644,root,root,755)
333 %attr(755,root,root) %{_libdir}/libfftw3l.so
334 %attr(755,root,root) %{_libdir}/libfftw3l_threads.so
335 %{_libdir}/libfftw3l.la
336 %{_libdir}/libfftw3l_threads.la
337 %{_pkgconfigdir}/fftw3l.pc
338
339 %files long-static
340 %defattr(644,root,root,755)
341 %{_libdir}/libfftw3l.a
342 %{_libdir}/libfftw3l_threads.a
343
344 %files common
345 %defattr(644,root,root,755)
346 %doc AUTHORS COPYRIGHT ChangeLog NEWS README TODO
347 %attr(755,root,root) %{_bindir}/fftw-wisdom-to-conf
348 %{_mandir}/man1/fftw-wisdom-to-conf.1*
349
350 %files common-devel
351 %defattr(644,root,root,755)
352 %doc doc/html doc/FAQ/fftw-faq.html
353 %{_includedir}/fftw3.*
354 %{_infodir}/fftw3.info*
This page took 0.074674 seconds and 4 git commands to generate.