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