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