]> git.pld-linux.org Git - packages/fftw3.git/blame_incremental - fftw3.spec
- up to 3.2
[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: 1
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
18URL: http://www.fftw.org/
19BuildRequires: autoconf
20BuildRequires: automake
21%ifarch alpha ppc s390 s390x sparc sparcv9
22%if %{with fftwl}
23# for 128-bit long double support
24BuildRequires: gcc-fortran >= 5:4.1.0-1
25BuildRequires: glibc >= 6:2.4-1
26%endif
27%endif
28BuildRequires: libtool
29BuildRequires: texinfo
30Requires: %{name}-common = %{version}-%{release}
31BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32
33%description
34FFTW is a collection of fast C routines for computing the Discrete
35Fourier Transform in one or more dimensions. It includes complex,
36real, and parallel transforms, and can handle arbitrary array sizes
37efficiently. This RPM package includes the double precision FFTW
38uniprocessor and threads libraries.
39
40%description -l pl.UTF-8
41FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
42transformat Fouriera w jednym lub więcej wymiarach. Zawiera również
43zespolone, rzeczywiste oraz równoległe transformaty i potrafi wydajnie
44radzić sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
45zawiera wersje FFTW o podwójnej precyzji dla architektur
46jednoprocesorowych oraz z obsługą wątków.
47
48%description -l pt_BR.UTF-8
49FFTW é uma coleção de rotinas rápidas em C para computar a Discrete
50Fourier Transform em uma ou mais dimensões. Incluindo transformações
51complexas, reais e paralelas, também pode manipular vetores de tamanho
52arbitrário eficientemente. Esse pacote RPM inclui bibliotecas FFTW com
53suporte a threads, normal e dupla precisão (Os arquivos de precisão
54normal tem um prefixo "s").
55
56%package devel
57Summary: Development files for fftw
58Summary(pl.UTF-8): Pliki programistyczne do fftw
59Summary(pt_BR.UTF-8): Headers e documentação do pacote FFTW
60Group: Development/Libraries
61Requires: %{name} = %{version}-%{release}
62Requires: %{name}-common-devel = %{version}-%{release}
63
64%description devel
65This package contains the files you need to develop programs using the
66FFTW (fast fourier transform library).
67
68%description devel -l pl.UTF-8
69Ten pakiet zawiera pliki potrzebne do tworzenia programów używających
70biblioteki FFTW (wykonującej szybką transformatę Fouriera).
71
72%description devel -l pt_BR.UTF-8
73Este pacote contém documentação e headers adicionais para desenvolver
74programas usando a FFTW.
75
76%package static
77Summary: Static fftw libraries
78Summary(pl.UTF-8): Statyczne biblioteki fftw
79Summary(pt_BR.UTF-8): Bibliotecas estáticas do pacote FFTW
80Group: Development/Libraries
81Requires: %{name}-devel = %{version}-%{release}
82
83%description static
84Static fftw libraries.
85
86%description static -l pl.UTF-8
87Statyczne biblioteki fftw.
88
89%description static -l pt_BR.UTF-8
90Este pacote contém as bibliotecas estáticas do pacote FFTW.
91
92%package single
93Summary: Fast Fourier Transform library - single precision
94Summary(pl.UTF-8): Biblioteka z funkcjami szybkiej transformaty Fouriera - pojedynczej precyzji
95Group: Libraries
96Requires: %{name}-common = %{version}-%{release}
97
98%description single
99FFTW is a collection of fast C routines for computing the Discrete
100Fourier Transform in one or more dimensions. It includes complex,
101real, and parallel transforms, and can handle arbitrary array sizes
102efficiently. This RPM package includes the single precision FFTW
103uniprocessor and threads libraries.
104
105%description single -l pl.UTF-8
106FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
107transformat Fouriera w jednym lub więcej wymiarach. Zawiera również
108zespolone, rzeczywiste oraz równoległe transformaty i potrafi wydajnie
109radzić sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
110zawiera wersje FFTW o pojedynczej precyzji dla architektur
111jednoprocesorowych oraz z obsługą wątków.
112
113%package single-devel
114Summary: Development files for single precision fftw
115Summary(pl.UTF-8): Pliki programistyczne do fftw pojedynczej precyzji
116Group: Development/Libraries
117Requires: %{name}-common-devel = %{version}-%{release}
118Requires: %{name}-single = %{version}-%{release}
119
120%description single-devel
121This package contains the files you need to develop programs using the
122single precision FFTW (fast fourier transform library).
123
124%description single-devel -l pl.UTF-8
125Ten pakiet zawiera pliki potrzebne do tworzenia programów używających
126biblioteki FFTW pojedynczej precyzji (wykonującej szybką transformatę
127Fouriera).
128
129%package single-static
130Summary: Static fftw single precision libraries
131Summary(pl.UTF-8): Statyczne biblioteki fftw pojedynczej precyzji
132Group: Development/Libraries
133Requires: %{name}-single-devel = %{version}-%{release}
134
135%description single-static
136Static fftw single precision libraries.
137
138%description single-static -l pl.UTF-8
139Statyczne biblioteki fftw pojedynczej precyzji.
140
141%package long
142Summary: Fast Fourier Transform library - long double precision
143Summary(pl.UTF-8): Biblioteka z funkcjami szybkiej transformaty Fouriera - rozszerzonej precyzji
144Group: Libraries
145Requires: %{name}-common = %{version}-%{release}
146
147%description long
148FFTW is a collection of fast C routines for computing the Discrete
149Fourier Transform in one or more dimensions. It includes complex,
150real, and parallel transforms, and can handle arbitrary array sizes
151efficiently. This RPM package includes the long double precision FFTW
152uniprocessor and threads libraries.
153
154%description long -l pl.UTF-8
155FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
156transformat Fouriera w jednym lub więcej wymiarach. Zawiera również
157zespolone, rzeczywiste oraz równoległe transformaty i potrafi wydajnie
158radzić sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
159zawiera wersje FFTW o rozszerzonej precyzji dla architektur
160jednoprocesorowych oraz z obsługą wątków.
161
162%package long-devel
163Summary: Development files for long double precision fftw
164Summary(pl.UTF-8): Pliki programistyczne do fftw rozszerzonej precyzji
165Group: Development/Libraries
166Requires: %{name}-common-devel = %{version}-%{release}
167Requires: %{name}-long = %{version}-%{release}
168
169%description long-devel
170This package contains the files you need to develop programs using the
171long double precision FFTW (fast fourier transform library).
172
173%description long-devel -l pl.UTF-8
174Ten pakiet zawiera pliki potrzebne do tworzenia programów używających
175biblioteki FFTW rozszerzonej precyzji (wykonującej szybką transformatę
176Fouriera).
177
178%package long-static
179Summary: Static fftw long double precision libraries
180Summary(pl.UTF-8): Statyczne biblioteki fftw rozszerzonej precyzji
181Group: Development/Libraries
182Requires: %{name}-long-devel = %{version}-%{release}
183
184%description long-static
185Static fftw long double precision libraries.
186
187%description long-static -l pl.UTF-8
188Statyczne biblioteki fftw rozszerzonej precyzji.
189
190%package common
191Summary: Files common for all versions of fftw libraries
192Summary(pl.UTF-8): Pliki wspólne dla wszystkich wersji bibliotek fftw
193Group: Libraries
194
195%description common
196Files common for all versions of fftw libraries (basic documentation,
197fftw-wisdom-to-conf utility).
198
199%description common -l pl.UTF-8
200Pliki wspólne dla wszystkich wersji bibliotek fftw (podstawowa
201dokumentacja, narzędzie fftw-wisdom-to-conf).
202
203%package common-devel
204Summary: Development files common for all versions of fftw libraries
205Summary(pl.UTF-8): Pliki programistyczne wspólne dla wszystkich wersji bibliotek fftw
206Group: Development/Libraries
207Requires: %{name}-common = %{version}-%{release}
208
209%description common-devel
210Development files common for all versions of fftw libraries (header
211files, development documentation).
212
213%description common-devel -l pl.UTF-8
214Pliki 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
230for 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
253install -d build-${ver}
254cd 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}
263cd ..
264done
265
266%install
267rm -rf $RPM_BUILD_ROOT
268
269%{__make} install -C build-single \
270 DESTDIR=$RPM_BUILD_ROOT
271
272%{__make} install -C build-double \
273 DESTDIR=$RPM_BUILD_ROOT
274
275%if %{with fftwl}
276%{__make} install -C build-long-double \
277 DESTDIR=$RPM_BUILD_ROOT
278%endif
279
280%clean
281rm -rf $RPM_BUILD_ROOT
282
283%post -p /sbin/ldconfig
284%postun -p /sbin/ldconfig
285
286%post single -p /sbin/ldconfig
287%postun single -p /sbin/ldconfig
288
289%post long -p /sbin/ldconfig
290%postun long -p /sbin/ldconfig
291
292%post common-devel -p /sbin/postshell
293-/usr/sbin/fix-info-dir -c %{_infodir}
294
295%postun common-devel -p /sbin/postshell
296-/usr/sbin/fix-info-dir -c %{_infodir}
297
298%files
299%defattr(644,root,root,755)
300%attr(755,root,root) %{_bindir}/fftw-wisdom
301%attr(755,root,root) %{_libdir}/libfftw3.so.*.*.*
302%attr(755,root,root) %ghost %{_libdir}/libfftw3.so.3
303%attr(755,root,root) %{_libdir}/libfftw3_threads.so.*.*.*
304%attr(755,root,root) %ghost %{_libdir}/libfftw3_threads.so.3
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) %ghost %{_libdir}/libfftw3f.so.3
325%attr(755,root,root) %{_libdir}/libfftw3f_threads.so.*.*.*
326%attr(755,root,root) %ghost %{_libdir}/libfftw3f_threads.so.3
327%{_mandir}/man1/fftwf-wisdom.1*
328
329%files single-devel
330%defattr(644,root,root,755)
331%attr(755,root,root) %{_libdir}/libfftw3f.so
332%attr(755,root,root) %{_libdir}/libfftw3f_threads.so
333%{_libdir}/libfftw3f.la
334%{_libdir}/libfftw3f_threads.la
335%{_pkgconfigdir}/fftw3f.pc
336
337%files single-static
338%defattr(644,root,root,755)
339%{_libdir}/libfftw3f.a
340%{_libdir}/libfftw3f_threads.a
341
342%if %{with fftwl}
343%files long
344%defattr(644,root,root,755)
345%attr(755,root,root) %{_bindir}/fftwl-wisdom
346%attr(755,root,root) %{_libdir}/libfftw3l.so.*.*.*
347%attr(755,root,root) %ghost %{_libdir}/libfftw3l.so.3
348%attr(755,root,root) %{_libdir}/libfftw3l_threads.so.*.*.*
349%attr(755,root,root) %ghost %{_libdir}/libfftw3l_threads.so.3
350%{_mandir}/man1/fftwl-wisdom.1*
351
352%files long-devel
353%defattr(644,root,root,755)
354%attr(755,root,root) %{_libdir}/libfftw3l.so
355%attr(755,root,root) %{_libdir}/libfftw3l_threads.so
356%{_libdir}/libfftw3l.la
357%{_libdir}/libfftw3l_threads.la
358%{_pkgconfigdir}/fftw3l.pc
359
360%files long-static
361%defattr(644,root,root,755)
362%{_libdir}/libfftw3l.a
363%{_libdir}/libfftw3l_threads.a
364%endif
365
366%files common
367%defattr(644,root,root,755)
368%doc AUTHORS COPYRIGHT ChangeLog NEWS README TODO
369%attr(755,root,root) %{_bindir}/fftw-wisdom-to-conf
370%{_mandir}/man1/fftw-wisdom-to-conf.1*
371
372%files common-devel
373%defattr(644,root,root,755)
374%doc doc/html doc/FAQ/fftw-faq.html
375%{_includedir}/fftw3.f
376%{_includedir}/fftw3.h
377%{_infodir}/fftw3.info*
This page took 0.035836 seconds and 4 git commands to generate.