]> git.pld-linux.org Git - packages/fftw3.git/blame - fftw3.spec
- rel.2 - placeholder for "wisdom" files. How about create them while
[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
ad914da4 9Version: 3.2
e6d90cf1 10Release: 2
2e6b9bdb 11License: GPL v2+
8dd64783
JB
12Group: Libraries
13Source0: ftp://ftp.fftw.org/pub/fftw/fftw-%{version}.tar.gz
ad914da4 14# Source0-md5: 280960ddbad368ebb96c073a2b642f5d
8dd64783 15Patch0: %{name}-info.patch
f2b41f11 16Patch1: %{name}-link.patch
b1df447f 17Patch2: %{name}-ac_simd.patch
351c734b 18Patch3: %{name}-chk.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
351c734b 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
e6d90cf1 270install -d $RPM_BUILD_ROOT%{_sysconfdir}/fftw
8dd64783 271
2e6b9bdb 272%{__make} install -C build-single \
6fd39cfa 273 DESTDIR=$RPM_BUILD_ROOT
8dd64783 274
2e6b9bdb 275%{__make} install -C build-double \
f2b41f11 276 DESTDIR=$RPM_BUILD_ROOT
8dd64783 277
7de82846 278%if %{with fftwl}
2e6b9bdb 279%{__make} install -C build-long-double \
f2b41f11 280 DESTDIR=$RPM_BUILD_ROOT
7de82846 281%endif
8dd64783
JB
282
283%clean
284rm -rf $RPM_BUILD_ROOT
285
286%post -p /sbin/ldconfig
287%postun -p /sbin/ldconfig
288
2fd5163a 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
677edac6
ER
295%post common-devel -p /sbin/postshell
296-/usr/sbin/fix-info-dir -c %{_infodir}
8dd64783 297
677edac6
ER
298%postun common-devel -p /sbin/postshell
299-/usr/sbin/fix-info-dir -c %{_infodir}
8dd64783
JB
300
301%files
302%defattr(644,root,root,755)
f2b41f11
JB
303%attr(755,root,root) %{_bindir}/fftw-wisdom
304%attr(755,root,root) %{_libdir}/libfftw3.so.*.*.*
2e6b9bdb 305%attr(755,root,root) %ghost %{_libdir}/libfftw3.so.3
f2b41f11 306%attr(755,root,root) %{_libdir}/libfftw3_threads.so.*.*.*
2e6b9bdb 307%attr(755,root,root) %ghost %{_libdir}/libfftw3_threads.so.3
f2b41f11 308%{_mandir}/man1/fftw-wisdom.1*
8dd64783
JB
309
310%files devel
311%defattr(644,root,root,755)
f2b41f11
JB
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
8dd64783
JB
317
318%files static
319%defattr(644,root,root,755)
f2b41f11
JB
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.*.*.*
2e6b9bdb 327%attr(755,root,root) %ghost %{_libdir}/libfftw3f.so.3
f2b41f11 328%attr(755,root,root) %{_libdir}/libfftw3f_threads.so.*.*.*
2e6b9bdb 329%attr(755,root,root) %ghost %{_libdir}/libfftw3f_threads.so.3
f2b41f11
JB
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
7de82846 345%if %{with fftwl}
f2b41f11
JB
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.*.*.*
2e6b9bdb 350%attr(755,root,root) %ghost %{_libdir}/libfftw3l.so.3
f2b41f11 351%attr(755,root,root) %{_libdir}/libfftw3l_threads.so.*.*.*
2e6b9bdb 352%attr(755,root,root) %ghost %{_libdir}/libfftw3l_threads.so.3
f2b41f11
JB
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
7de82846 367%endif
f2b41f11
JB
368
369%files common
370%defattr(644,root,root,755)
371%doc AUTHORS COPYRIGHT ChangeLog NEWS README TODO
e6d90cf1 372%dir %{_sysconfdir}/fftw
f2b41f11
JB
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
2e6b9bdb
JB
379%{_includedir}/fftw3.f
380%{_includedir}/fftw3.h
f2b41f11 381%{_infodir}/fftw3.info*
This page took 0.379117 seconds and 4 git commands to generate.