]> git.pld-linux.org Git - packages/fftw3.git/blame - fftw3.spec
- release 4
[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
d67cb225 10Release: 4
8dd64783
JB
11License: GPL
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
JB
230
231# prepare three trees (for single, double, long-double precision)
b1df447f 232rm -rf single double long-double
f2b41f11
JB
233echo * > files.list
234install -d single long-double
235cp -a `cat files.list` single
236cp -a `cat files.list` long-double
237ln -sf . double
238
239# MMX/SSE/etc. seem to be safe because of runtime CPU detection
7de82846 240for ver in single double %{?with_fftwl:long-double}; do
8dd64783
JB
241 OPTS=""
242 # k7,SSE,3dnow,altivec only for single
243 if [ "$ver" = "single" ]; then
f2b41f11
JB
244%ifarch i686
245 OPTS="--enable-sse"
8dd64783 246%endif
f2b41f11 247%ifarch athlon
376d0cb4 248 OPTS="--enable-sse" # no "--enable-k7" - conflicts with shared, SEGV on athlons
8dd64783
JB
249%endif
250%ifarch ppc
f2b41f11 251 OPTS="--enable-altivec"
5194fc97
JB
252%endif
253%ifnarch i586 i686 k6 athlon ppc
254 : # keep sh happy about syntax
8dd64783 255%endif
8dd64783
JB
256 fi
257%ifarch i686
258 # SSE2 only for double
259 if [ "$ver" = "double" ]; then
260 OPTS="--enable-sse2"
fb995851 261 fi
8dd64783 262%endif
f2b41f11 263cd $ver
8dd64783
JB
264%configure \
265 --enable-shared \
266 --enable-threads \
267 --enable-$ver \
268 $OPTS \
269 --%{!?debug:dis}%{?debug:en}able-debug
270
271%{__make}
6fd39cfa 272
f2b41f11 273cd ..
8dd64783
JB
274done
275
8dd64783
JB
276%install
277rm -rf $RPM_BUILD_ROOT
278
6fd39cfa
PG
279%{__make} install \
280 DESTDIR=$RPM_BUILD_ROOT
8dd64783 281
f2b41f11
JB
282%{__make} install -C single \
283 DESTDIR=$RPM_BUILD_ROOT
8dd64783 284
7de82846
JB
285%if %{with fftwl}
286%{__make} install -C long-double \
f2b41f11 287 DESTDIR=$RPM_BUILD_ROOT
7de82846 288%endif
8dd64783
JB
289
290%clean
291rm -rf $RPM_BUILD_ROOT
292
293%post -p /sbin/ldconfig
294%postun -p /sbin/ldconfig
295
2fd5163a 296%post single -p /sbin/ldconfig
297%postun single -p /sbin/ldconfig
298
299%post long -p /sbin/ldconfig
300%postun long -p /sbin/ldconfig
301
f2b41f11 302%post common-devel
8dd64783
JB
303[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
304
f2b41f11 305%postun common-devel
8dd64783
JB
306[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
307
308%files
309%defattr(644,root,root,755)
f2b41f11
JB
310%attr(755,root,root) %{_bindir}/fftw-wisdom
311%attr(755,root,root) %{_libdir}/libfftw3.so.*.*.*
312%attr(755,root,root) %{_libdir}/libfftw3_threads.so.*.*.*
313%{_mandir}/man1/fftw-wisdom.1*
8dd64783
JB
314
315%files devel
316%defattr(644,root,root,755)
f2b41f11
JB
317%attr(755,root,root) %{_libdir}/libfftw3.so
318%attr(755,root,root) %{_libdir}/libfftw3_threads.so
319%{_libdir}/libfftw3.la
320%{_libdir}/libfftw3_threads.la
321%{_pkgconfigdir}/fftw3.pc
8dd64783
JB
322
323%files static
324%defattr(644,root,root,755)
f2b41f11
JB
325%{_libdir}/libfftw3.a
326%{_libdir}/libfftw3_threads.a
327
328%files single
329%defattr(644,root,root,755)
330%attr(755,root,root) %{_bindir}/fftwf-wisdom
331%attr(755,root,root) %{_libdir}/libfftw3f.so.*.*.*
332%attr(755,root,root) %{_libdir}/libfftw3f_threads.so.*.*.*
333%{_mandir}/man1/fftwf-wisdom.1*
334
335%files single-devel
336%defattr(644,root,root,755)
337%attr(755,root,root) %{_libdir}/libfftw3f.so
338%attr(755,root,root) %{_libdir}/libfftw3f_threads.so
339%{_libdir}/libfftw3f.la
340%{_libdir}/libfftw3f_threads.la
341%{_pkgconfigdir}/fftw3f.pc
342
343%files single-static
344%defattr(644,root,root,755)
345%{_libdir}/libfftw3f.a
346%{_libdir}/libfftw3f_threads.a
347
7de82846 348%if %{with fftwl}
f2b41f11
JB
349%files long
350%defattr(644,root,root,755)
351%attr(755,root,root) %{_bindir}/fftwl-wisdom
352%attr(755,root,root) %{_libdir}/libfftw3l.so.*.*.*
353%attr(755,root,root) %{_libdir}/libfftw3l_threads.so.*.*.*
354%{_mandir}/man1/fftwl-wisdom.1*
355
356%files long-devel
357%defattr(644,root,root,755)
358%attr(755,root,root) %{_libdir}/libfftw3l.so
359%attr(755,root,root) %{_libdir}/libfftw3l_threads.so
360%{_libdir}/libfftw3l.la
361%{_libdir}/libfftw3l_threads.la
362%{_pkgconfigdir}/fftw3l.pc
363
364%files long-static
365%defattr(644,root,root,755)
366%{_libdir}/libfftw3l.a
367%{_libdir}/libfftw3l_threads.a
7de82846 368%endif
f2b41f11
JB
369
370%files common
371%defattr(644,root,root,755)
372%doc AUTHORS COPYRIGHT ChangeLog NEWS README TODO
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.*
380%{_infodir}/fftw3.info*
This page took 0.115199 seconds and 4 git commands to generate.