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