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