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