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