]> git.pld-linux.org Git - packages/fftw3.git/blame - fftw3.spec
- updated for 3.2
[packages/fftw3.git] / fftw3.spec
CommitLineData
7de82846
JB
1#
2# Conditional build:
3%bcond_without fftwl # don't build "long" subpackages
4#
f2b41f11 5Summary: Fast Fourier Transform library
b8f7299a
ER
6Summary(pl.UTF-8): Biblioteka z funkcjami szybkiej transformaty Fouriera
7Summary(pt_BR.UTF-8): biblioteca fast fourier transform
8dd64783 8Name: fftw3
82327122 9Version: 3.1.2
5861ac73 10Release: 5
2e6b9bdb 11License: GPL v2+
8dd64783
JB
12Group: Libraries
13Source0: ftp://ftp.fftw.org/pub/fftw/fftw-%{version}.tar.gz
82327122 14# Source0-md5: 08f2e21c9fd02f4be2bd53a62592afa4
8dd64783 15Patch0: %{name}-info.patch
f2b41f11 16Patch1: %{name}-link.patch
b1df447f 17Patch2: %{name}-ac_simd.patch
176c3f6a 18Patch3: %{name}-ac.patch
8dd64783
JB
19URL: http://www.fftw.org/
20BuildRequires: autoconf
21BuildRequires: automake
7de82846
JB
22%ifarch alpha ppc s390 s390x sparc sparcv9
23%if %{with fftwl}
335eed51
PS
24# for 128-bit long double support
25BuildRequires: gcc-fortran >= 5:4.1.0-1
26BuildRequires: glibc >= 6:2.4-1
7de82846
JB
27%endif
28%endif
8dd64783 29BuildRequires: libtool
bf578b06 30BuildRequires: texinfo
f24101b7 31Requires: %{name}-common = %{version}-%{release}
8dd64783
JB
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
b4a355b4 41%description -l pl.UTF-8
8dd64783 42FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
b4a355b4
JR
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
8dd64783
JB
55normal tem um prefixo "s").
56
57%package devel
f2b41f11 58Summary: Development files for fftw
b8f7299a
ER
59Summary(pl.UTF-8): Pliki programistyczne do fftw
60Summary(pt_BR.UTF-8): Headers e documentação do pacote FFTW
8dd64783 61Group: Development/Libraries
f24101b7
JB
62Requires: %{name} = %{version}-%{release}
63Requires: %{name}-common-devel = %{version}-%{release}
8dd64783
JB
64
65%description devel
f2b41f11
JB
66This package contains the files you need to develop programs using the
67FFTW (fast fourier transform library).
8dd64783 68
b4a355b4
JR
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).
8dd64783 72
b4a355b4
JR
73%description devel -l pt_BR.UTF-8
74Este pacote contém documentação e headers adicionais para desenvolver
0210e72d 75programas usando a FFTW.
8dd64783
JB
76
77%package static
78Summary: Static fftw libraries
b8f7299a
ER
79Summary(pl.UTF-8): Statyczne biblioteki fftw
80Summary(pt_BR.UTF-8): Bibliotecas estáticas do pacote FFTW
8dd64783 81Group: Development/Libraries
f24101b7 82Requires: %{name}-devel = %{version}-%{release}
8dd64783
JB
83
84%description static
85Static fftw libraries.
86
b4a355b4 87%description static -l pl.UTF-8
8dd64783
JB
88Statyczne biblioteki fftw.
89
b4a355b4
JR
90%description static -l pt_BR.UTF-8
91Este pacote contém as bibliotecas estáticas do pacote FFTW.
8dd64783 92
f2b41f11
JB
93%package single
94Summary: Fast Fourier Transform library - single precision
b8f7299a 95Summary(pl.UTF-8): Biblioteka z funkcjami szybkiej transformaty Fouriera - pojedynczej precyzji
f2b41f11 96Group: Libraries
f24101b7 97Requires: %{name}-common = %{version}-%{release}
f2b41f11
JB
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
b4a355b4 106%description single -l pl.UTF-8
f2b41f11 107FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
b4a355b4
JR
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
f2b41f11 111zawiera wersje FFTW o pojedynczej precyzji dla architektur
b4a355b4 112jednoprocesorowych oraz z obsługą wątków.
f2b41f11
JB
113
114%package single-devel
115Summary: Development files for single precision fftw
b8f7299a 116Summary(pl.UTF-8): Pliki programistyczne do fftw pojedynczej precyzji
f2b41f11 117Group: Development/Libraries
f24101b7
JB
118Requires: %{name}-common-devel = %{version}-%{release}
119Requires: %{name}-single = %{version}-%{release}
f2b41f11
JB
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
b4a355b4
JR
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ę
f2b41f11
JB
128Fouriera).
129
130%package single-static
131Summary: Static fftw single precision libraries
b8f7299a 132Summary(pl.UTF-8): Statyczne biblioteki fftw pojedynczej precyzji
f2b41f11 133Group: Development/Libraries
f24101b7 134Requires: %{name}-single-devel = %{version}-%{release}
f2b41f11
JB
135
136%description single-static
137Static fftw single precision libraries.
138
b4a355b4 139%description single-static -l pl.UTF-8
f2b41f11
JB
140Statyczne biblioteki fftw pojedynczej precyzji.
141
142%package long
143Summary: Fast Fourier Transform library - long double precision
b8f7299a 144Summary(pl.UTF-8): Biblioteka z funkcjami szybkiej transformaty Fouriera - rozszerzonej precyzji
f2b41f11 145Group: Libraries
f24101b7 146Requires: %{name}-common = %{version}-%{release}
f2b41f11
JB
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
b4a355b4 155%description long -l pl.UTF-8
f2b41f11 156FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
b4a355b4
JR
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
f2b41f11 160zawiera wersje FFTW o rozszerzonej precyzji dla architektur
b4a355b4 161jednoprocesorowych oraz z obsługą wątków.
f2b41f11
JB
162
163%package long-devel
164Summary: Development files for long double precision fftw
b8f7299a 165Summary(pl.UTF-8): Pliki programistyczne do fftw rozszerzonej precyzji
f2b41f11 166Group: Development/Libraries
f24101b7
JB
167Requires: %{name}-common-devel = %{version}-%{release}
168Requires: %{name}-long = %{version}-%{release}
f2b41f11
JB
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
b4a355b4
JR
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ę
f2b41f11
JB
177Fouriera).
178
179%package long-static
180Summary: Static fftw long double precision libraries
b8f7299a 181Summary(pl.UTF-8): Statyczne biblioteki fftw rozszerzonej precyzji
f2b41f11 182Group: Development/Libraries
f24101b7 183Requires: %{name}-long-devel = %{version}-%{release}
f2b41f11
JB
184
185%description long-static
186Static fftw long double precision libraries.
187
b4a355b4 188%description long-static -l pl.UTF-8
f2b41f11
JB
189Statyczne biblioteki fftw rozszerzonej precyzji.
190
191%package common
192Summary: Files common for all versions of fftw libraries
b8f7299a 193Summary(pl.UTF-8): Pliki wspólne dla wszystkich wersji bibliotek fftw
f2b41f11
JB
194Group: Libraries
195
196%description common
197Files common for all versions of fftw libraries (basic documentation,
198fftw-wisdom-to-conf utility).
199
b4a355b4
JR
200%description common -l pl.UTF-8
201Pliki wspólne dla wszystkich wersji bibliotek fftw (podstawowa
202dokumentacja, narzędzie fftw-wisdom-to-conf).
f2b41f11
JB
203
204%package common-devel
205Summary: Development files common for all versions of fftw libraries
b8f7299a 206Summary(pl.UTF-8): Pliki programistyczne wspólne dla wszystkich wersji bibliotek fftw
f2b41f11 207Group: Development/Libraries
f24101b7 208Requires: %{name}-common = %{version}-%{release}
f2b41f11
JB
209
210%description common-devel
211Development files common for all versions of fftw libraries (header
212files, development documentation).
213
b4a355b4
JR
214%description common-devel -l pl.UTF-8
215Pliki programistyczne wspólne dla wszystkich wersji bibliotek fftw
216(pliki nagłówkowe, dokumentacja programisty).
f2b41f11 217
8dd64783
JB
218%prep
219%setup -q -n fftw-%{version}
f2b41f11
JB
220%patch0 -p1
221%patch1 -p1
b1df447f 222%patch2 -p1
176c3f6a 223%patch3 -p1
8dd64783
JB
224
225%build
226%{__libtoolize}
376d0cb4 227%{__aclocal} -I m4
8dd64783
JB
228%{__autoconf}
229%{__automake}
f2b41f11 230
f2b41f11 231# MMX/SSE/etc. seem to be safe because of runtime CPU detection
7de82846 232for ver in single double %{?with_fftwl:long-double}; do
8dd64783
JB
233 OPTS=""
234 # k7,SSE,3dnow,altivec only for single
235 if [ "$ver" = "single" ]; then
f2b41f11
JB
236%ifarch i686
237 OPTS="--enable-sse"
8dd64783 238%endif
f2b41f11 239%ifarch athlon
376d0cb4 240 OPTS="--enable-sse" # no "--enable-k7" - conflicts with shared, SEGV on athlons
8dd64783
JB
241%endif
242%ifarch ppc
f2b41f11 243 OPTS="--enable-altivec"
5194fc97 244%endif
5861ac73 245%ifnarch i686 k6 athlon ppc
5194fc97 246 : # keep sh happy about syntax
8dd64783 247%endif
8dd64783
JB
248 fi
249%ifarch i686
250 # SSE2 only for double
251 if [ "$ver" = "double" ]; then
252 OPTS="--enable-sse2"
fb995851 253 fi
8dd64783 254%endif
2e6b9bdb
JB
255install -d build-${ver}
256cd build-${ver}
257../%configure \
8dd64783
JB
258 --enable-shared \
259 --enable-threads \
260 --enable-$ver \
261 $OPTS \
262 --%{!?debug:dis}%{?debug:en}able-debug
263
264%{__make}
f2b41f11 265cd ..
8dd64783
JB
266done
267
8dd64783
JB
268%install
269rm -rf $RPM_BUILD_ROOT
270
2e6b9bdb 271%{__make} install -C build-single \
6fd39cfa 272 DESTDIR=$RPM_BUILD_ROOT
8dd64783 273
2e6b9bdb 274%{__make} install -C build-double \
f2b41f11 275 DESTDIR=$RPM_BUILD_ROOT
8dd64783 276
7de82846 277%if %{with fftwl}
2e6b9bdb 278%{__make} install -C build-long-double \
f2b41f11 279 DESTDIR=$RPM_BUILD_ROOT
7de82846 280%endif
8dd64783
JB
281
282%clean
283rm -rf $RPM_BUILD_ROOT
284
285%post -p /sbin/ldconfig
286%postun -p /sbin/ldconfig
287
2fd5163a 288%post single -p /sbin/ldconfig
289%postun single -p /sbin/ldconfig
290
291%post long -p /sbin/ldconfig
292%postun long -p /sbin/ldconfig
293
677edac6
ER
294%post common-devel -p /sbin/postshell
295-/usr/sbin/fix-info-dir -c %{_infodir}
8dd64783 296
677edac6
ER
297%postun common-devel -p /sbin/postshell
298-/usr/sbin/fix-info-dir -c %{_infodir}
8dd64783
JB
299
300%files
301%defattr(644,root,root,755)
f2b41f11
JB
302%attr(755,root,root) %{_bindir}/fftw-wisdom
303%attr(755,root,root) %{_libdir}/libfftw3.so.*.*.*
2e6b9bdb 304%attr(755,root,root) %ghost %{_libdir}/libfftw3.so.3
f2b41f11 305%attr(755,root,root) %{_libdir}/libfftw3_threads.so.*.*.*
2e6b9bdb 306%attr(755,root,root) %ghost %{_libdir}/libfftw3_threads.so.3
f2b41f11 307%{_mandir}/man1/fftw-wisdom.1*
8dd64783
JB
308
309%files devel
310%defattr(644,root,root,755)
f2b41f11
JB
311%attr(755,root,root) %{_libdir}/libfftw3.so
312%attr(755,root,root) %{_libdir}/libfftw3_threads.so
313%{_libdir}/libfftw3.la
314%{_libdir}/libfftw3_threads.la
315%{_pkgconfigdir}/fftw3.pc
8dd64783
JB
316
317%files static
318%defattr(644,root,root,755)
f2b41f11
JB
319%{_libdir}/libfftw3.a
320%{_libdir}/libfftw3_threads.a
321
322%files single
323%defattr(644,root,root,755)
324%attr(755,root,root) %{_bindir}/fftwf-wisdom
325%attr(755,root,root) %{_libdir}/libfftw3f.so.*.*.*
2e6b9bdb 326%attr(755,root,root) %ghost %{_libdir}/libfftw3f.so.3
f2b41f11 327%attr(755,root,root) %{_libdir}/libfftw3f_threads.so.*.*.*
2e6b9bdb 328%attr(755,root,root) %ghost %{_libdir}/libfftw3f_threads.so.3
f2b41f11
JB
329%{_mandir}/man1/fftwf-wisdom.1*
330
331%files single-devel
332%defattr(644,root,root,755)
333%attr(755,root,root) %{_libdir}/libfftw3f.so
334%attr(755,root,root) %{_libdir}/libfftw3f_threads.so
335%{_libdir}/libfftw3f.la
336%{_libdir}/libfftw3f_threads.la
337%{_pkgconfigdir}/fftw3f.pc
338
339%files single-static
340%defattr(644,root,root,755)
341%{_libdir}/libfftw3f.a
342%{_libdir}/libfftw3f_threads.a
343
7de82846 344%if %{with fftwl}
f2b41f11
JB
345%files long
346%defattr(644,root,root,755)
347%attr(755,root,root) %{_bindir}/fftwl-wisdom
348%attr(755,root,root) %{_libdir}/libfftw3l.so.*.*.*
2e6b9bdb 349%attr(755,root,root) %ghost %{_libdir}/libfftw3l.so.3
f2b41f11 350%attr(755,root,root) %{_libdir}/libfftw3l_threads.so.*.*.*
2e6b9bdb 351%attr(755,root,root) %ghost %{_libdir}/libfftw3l_threads.so.3
f2b41f11
JB
352%{_mandir}/man1/fftwl-wisdom.1*
353
354%files long-devel
355%defattr(644,root,root,755)
356%attr(755,root,root) %{_libdir}/libfftw3l.so
357%attr(755,root,root) %{_libdir}/libfftw3l_threads.so
358%{_libdir}/libfftw3l.la
359%{_libdir}/libfftw3l_threads.la
360%{_pkgconfigdir}/fftw3l.pc
361
362%files long-static
363%defattr(644,root,root,755)
364%{_libdir}/libfftw3l.a
365%{_libdir}/libfftw3l_threads.a
7de82846 366%endif
f2b41f11
JB
367
368%files common
369%defattr(644,root,root,755)
370%doc AUTHORS COPYRIGHT ChangeLog NEWS README TODO
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
2e6b9bdb
JB
377%{_includedir}/fftw3.f
378%{_includedir}/fftw3.h
f2b41f11 379%{_infodir}/fftw3.info*
This page took 0.117984 seconds and 4 git commands to generate.