source: projects/specs/trunk/f/fftw3/fftw3-vl.spec @ 11693

Revision 11693, 15.2 KB checked in by ara_t, 6 years ago (diff)

fftw3: updaae

Line 
1%global quad 1
2
3Name:           fftw3
4Version:        3.3.8
5Release:        1%{?_dist_release}
6Summary:        C subroutines for computing the Discrete Fourier Transform.
7Group:          System Environment/Libraries
8License:        GPLv2+
9URL:            http://www.fftw.org
10Source0:        http://www.fftw.org/fftw-%{version}.tar.gz
11
12BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
13
14BuildRequires:  gcc-gfortran
15BuildRequires:  time
16BuildRequires:  perl
17
18Requires(post): info
19Requires(preun): info
20
21Vendor: Project Vine
22Distribution: Vine Linux
23
24%description
25FFTW is a collection of fast C routines for computing the Discrete Fourier Transform
26in one or more dimensions.  It includes complex, real, and parallel transforms, and
27can handle arbitrary array sizes efficiently. This RPM package includes both the
28double- and single-precision FFTW uniprocessor and threads libraries.
29(The single-precision files have an "s" prefix.)
30
31%description -l ja
32FFTW は1次元または多次元の離散フーリエ変換(DFT)を計算する高速なCルーチンのコレ
33クションです.FFTW は複素数、実数、並列変換ができ、任意のサイズの配列を効果的に
34扱うことができます.このパッケージには、倍精度と単精度の単一CPUとスレッドに対応
35した FFTW のライブラリが収められています。(単精度用のファイル名にはfが最後に付
36けられています。)
37
38
39%package libs
40Summary:        FFTW run-time library
41Group:          System Environment/Libraries
42Provides:       fftw3 = %{version}-%{release}
43# Pull in the actual libraries
44Requires:        %{name}-libs-single = %{version}-%{release}
45Requires:        %{name}-libs-double = %{version}-%{release}
46Requires:        %{name}-libs-long = %{version}-%{release}
47%if %{quad}
48Requires:        %{name}-libs-quad = %{version}-%{release}
49%endif
50
51%description libs
52This is a dummy package package, pulling in the individual FFTW
53run-time libraries.
54
55
56%package devel
57Summary:        Headers, libraries and docs for the FFTW library
58Group:          Development/Libraries
59Requires:       pkgconfig
60Requires:       %{name} = %{version}-%{release}
61Requires:       %{name}-libs = %{version}-%{release}
62Provides:       fftw3-devel = %{version}-%{release}
63
64%description devel
65FFTW is a C subroutine library for computing the Discrete Fourier
66Transform (DFT) in one or more dimensions, of both real and complex
67data, and of arbitrary input size.
68
69This package contains header files and development libraries needed to
70develop programs using the FFTW fast Fourier transform library.
71
72%package libs-double
73Summary:        FFTW library, double precision
74Group:          Development/Libraries
75
76%description libs-double
77This package contains the FFTW library compiled in double precision.
78
79%package libs-single
80Summary:        FFTW library, single precision
81Group:          Development/Libraries
82
83%description libs-single
84This package contains the FFTW library compiled in single precision.
85
86%package libs-long
87Summary:        FFTW library, long double precision
88Group:          Development/Libraries
89
90%description libs-long
91This package contains the FFTW library compiled in long double
92precision.
93
94%if %{quad}
95%package libs-quad
96Summary:        FFTW library, quadruple
97Group:          Development/Libraries
98
99%description libs-quad
100This package contains the FFTW library compiled in quadruple
101precision.
102%endif
103
104%package        static
105Summary:        Static versions of the FFTW libraries
106Group:          Development/Libraries
107Requires:       %{name}-devel = %{version}-%{release}
108Provides:       fftw3-static = %{version}-%{release}
109
110%description static
111The fftw-static package contains the statically linkable version of
112the FFTW fast Fourier transform library.
113
114%package docs
115Summary:        FFTW library manual
116Group:          Documentation
117BuildArch:      noarch
118
119%description docs
120This package contains the manual for the FFTW fast Fourier transform
121library.
122
123
124%prep
125%setup -q -n fftw-%{version}
126
127%build
128# Configure uses g77 by default, if present on system
129export F77=gfortran
130
131BASEFLAGS="--enable-shared --disable-dependency-tracking --enable-threads"
132BASEFLAGS+=" --enable-openmp"
133
134# Precisions to build
135prec_name[0]=single
136prec_name[1]=double
137prec_name[2]=long
138prec_name[3]=quad
139
140# Corresponding flags
141prec_flags[0]=--enable-single
142prec_flags[1]=--enable-double
143prec_flags[2]=--enable-long-double
144prec_flags[3]=--enable-quad-precision
145
146%ifarch x86_64
147# Enable SSE2 and AVX support for x86_64
148for((i=0;i<2;i++)); do
149 prec_flags[i]+=" --enable-sse2 --enable-avx"
150done
151%endif
152
153# No NEON run time detection, not all ARM SoCs have NEON
154#%ifarch %{arm}
155## Compile support for NEON instructions
156#for((i=0;i<2;i++)); do
157# prec_flags[i]+=" --enable-neon"
158#done
159#%endif
160
161#%ifarch ppc ppc64
162## Compile support for Altivec instructions
163#for((i=0;i<2;i++)); do
164 #prec_flags[i]+=" --enable-altivec"
165#done
166#%endif
167
168# Loop over precisions
169%if %{quad}
170for((iprec=0;iprec<4;iprec++))
171%else
172for((iprec=0;iprec<3;iprec++))
173%endif
174do
175 mkdir ${prec_name[iprec]}${ver_name[iver]}
176 cd ${prec_name[iprec]}${ver_name[iver]}
177 ln -s ../configure .
178 %{configure} ${BASEFLAGS} ${prec_flags[iprec]}
179 sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
180 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
181 make %{?_smp_mflags}
182 cd ..
183done
184
185%install
186rm -rf ${RPM_BUILD_ROOT}
187%if %{quad}
188for ver in single double long quad
189%else
190for ver in single double long
191%endif
192do
193 make -C $ver install DESTDIR=${RPM_BUILD_ROOT}
194done
195rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir
196rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la
197
198%check
199bdir=`pwd`
200%if %{quad}
201for ver in single double long quad
202%else
203for ver in single double long
204%endif
205do
206 export LD_LIBRARY_PATH=$bdir/$ver/.libs:$bdir/$ver/threads/.libs
207 make -C $ver check
208done
209
210%clean
211rm -rf %{RPM_BUILD_ROOT}
212
213%post libs-single -p /sbin/ldconfig
214%postun libs-single -p /sbin/ldconfig
215
216%post libs-double -p /sbin/ldconfig
217%postun libs-double -p /sbin/ldconfig
218
219%post libs-long -p /sbin/ldconfig
220%postun libs-long -p /sbin/ldconfig
221
222%if %{quad}
223%post libs-quad -p /sbin/ldconfig
224%postun libs-quad -p /sbin/ldconfig
225%endif
226
227%post docs
228/sbin/install-info --section="Math" %{_infodir}/%{name}.info.gz %{_infodir}/dir  2>/dev/null || :
229
230%preun docs
231if [ "$1" = 0 ]; then
232  /sbin/install-info --delete %{_infodir}/%{name}.info.gz %{_infodir}/dir 2>/dev/null || :
233fi
234
235
236%files
237%defattr(-,root,root,-)
238%doc %{_mandir}/man1/fftw*.1.*
239%{_bindir}/fftw*-wisdom*
240
241%files libs
242%defattr(-,root,root,-)
243
244%files libs-single
245%defattr(-,root,root,-)
246%doc AUTHORS COPYING COPYRIGHT ChangeLog NEWS README* TODO
247%{_libdir}/libfftw3f.so.*
248%{_libdir}/libfftw3f_threads.so.*
249%{_libdir}/libfftw3f_omp.so.*
250
251%files libs-double
252%defattr(-,root,root,-)
253%doc AUTHORS COPYING COPYRIGHT ChangeLog NEWS README* TODO
254%{_libdir}/libfftw3.so.*
255%{_libdir}/libfftw3_threads.so.*
256%{_libdir}/libfftw3_omp.so.*
257
258%files libs-long
259%defattr(-,root,root,-)
260%doc AUTHORS COPYING COPYRIGHT ChangeLog NEWS README* TODO
261%{_libdir}/libfftw3l.so.*
262%{_libdir}/libfftw3l_threads.so.*
263%{_libdir}/libfftw3l_omp.so.*
264
265%if %{quad}
266%files libs-quad
267%defattr(-,root,root,-)
268%doc AUTHORS COPYING COPYRIGHT ChangeLog NEWS README* TODO
269%{_libdir}/libfftw3q.so.*
270%{_libdir}/libfftw3q_threads.so.*
271%{_libdir}/libfftw3q_omp.so.*
272%endif
273
274%files devel
275%defattr(-,root,root,-)
276%{_includedir}/fftw3*
277%{_libdir}/pkgconfig/fftw3*.pc
278%{_libdir}/libfftw3*.so
279
280%files docs
281%defattr(-,root,root,-)
282%doc doc/*.pdf doc/html/
283%doc doc/FAQ/fftw-faq.html/
284%doc %{_infodir}/fftw3.info*
285
286%files static
287%defattr(-,root,root,-)
288%{_libdir}/libfftw3*.a
289
290
291%changelog
292* Sun Jun 03 2018 Toshiaki Ara <ara_t@384.jp> 3.3.8-1
293- new upstream release
294
295* Sun Jan 11 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.3.4-1
296- new upstream release
297- fix spec file based on fedora package
298
299  * Sat Mar 03 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.3.1-1
300  - new upstream release
301
302  * Mon Oct 04 2010 Shu KONNO <owa@bg.wakwak.com> 3.2.2-2
303  - dropt "--enable-sse --enable-sse2" in configure (on x86_64)
304
305  * Sun Oct 03 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.2.2-1
306  - updated to 3.2.2
307  - added long double precision support
308  - split static libraries
309
310  * Sat Sep 20 2008 Shu KONNO <owa@bg.wakwak.com> 3.1.2-1vl5
311  - applied new versioning policy, spec in utf-8
312  - removed *.la
313  - moved *.pc file to devel
314
315  * Thu Jan 03 2008 Satoshi MACHINO <machino@vinelinux.org> 3.1.2-0vl1
316  - new upstream release
317
318  * Tue Nov 27 2007 Shu KONNO <owa@bg.wakwak.com> 3.1.1-0vl2
319  - s/gcc-g77/gcc-gfortran/
320  - x86_64 support
321
322  * Tue May 30 2006 Seiya Nishizawa <seiya@kugi.kyoto-u.ac.jp> 3.1.1-0vl1
323  - source version up
324
325  * Thu Jan 29 2004 Seiya Nishizawa <seiya@kugi.kyoto-u.ac.jp> 3.0.1-0vl1
326  - source version up to 3
327  - package name to fftw3
328  - enable sse2 for double and sse for single
329
330  * Thu Jul 18 2002 KOBAYASHI R. Taizo <tkoba@vinelinux.org> 2.1.3-0vl1
331  - modified for Vine.
332
333  * Mon Feb 25 2002 Fuhito Suguri <bitwalk@jcom.home.ne.jp> 2.1.3-12bw
334  - rebuild for RH72.
335
336  * Tue Oct 09 2001 Fuhito Suguri <bitwalk@nyc.odn.ne.jp> 2.1.3-11bw
337  - corrected some wrong descriptions in this spec for RH71
338
339  * Tue Oct 09 2001 Fuhito Suguri <bitwalk@nyc.odn.ne.jp> 2.1.3-10bw
340  - corrected some wrong descriptions in this spec
341
342  * Mon Oct 08 2001 Fuhito Suguri <bitwalk@nyc.odn.ne.jp> 2.1.3-9bw
343  - rebuilt for Vine Linux 2.1.5
344
345* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.4-5
346- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
347
348* Fri Jul  4 2014 Peter Robinson <pbrobinson@fedoraproject.org> 3.3.4-4
349- Disable SSE2/AVX on x86(32) as we support Pentium Pro as base
350- SSE2 only arrived with P-4
351- https://fedoraproject.org/wiki/Features/F12X86Support
352- Fix ARM macro
353- Disable NEON on ARM (we don't enable by default, needs runtime detection)
354
355* Thu Jul 03 2014 Conrad Meyer <cemeyer@uw.edu> - 3.3.4-3
356- Build with --enable-avx (rhbz# 1114964)
357
358* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.4-2
359- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
360
361* Tue Mar 18 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 3.3.4-1
362- Update to 3.3.4.
363
364* Sat Dec 14 2013 Conrad Meyer <cemeyer@uw.edu> - 3.3.3-8
365- Remove non-OpenMP / g77 build for obsolete RHEL (< 5)
366- Remove ancient Obsoletes (fftw < 3.3, Fedora < 16)
367- Remove ancient non-Quad build (Fedora < 15) on supported arch(s)
368- Remove obsolete conditional on BuildArch: noarch (RHEL < 6, Fedora < 13)
369
370* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.3-7
371- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
372
373* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.3-6
374- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
375
376* Sat Jan 19 2013 PPC Secondary Arch Admin <karsten@redhat.com> 3.3.3-5
377- disable altivec flag again, that works with single precision only
378
379* Mon Dec 24 2012 Susi Lehtola <jussilehtola@fedoraproject.org> - 3.3.3-4
380- Fix typo: should be %%ix86 instead of %%x86. Now should have SSE2 support
381  on x86 as well.
382
383* Tue Dec 18 2012 Susi Lehtola <jussilehtola@fedoraproject.org> - 3.3.3-3
384- After consultation with upstream, enable SSE2 also on x86, altivec on ppc
385  and ppc64 and NEON on arm.
386
387* Tue Dec 18 2012 Susi Lehtola <jussilehtola@fedoraproject.org> - 3.3.3-2
388- Enable SSE2 on x86_64.
389
390* Mon Nov 26 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.3.3-1
391- Update to 3.3.3.
392
393* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.2-2
394- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
395
396* Fri Jun 15 2012 Orion Poplawski <orion@cora.nwra.com> - 3.3.2-1
397- Update to 3.3.2
398- Drop alignment patch
399
400* Fri Apr 27 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.3.1-3
401- Fix FTBFS with gcc 4.7.
402
403* Thu Apr 26 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.3.1-2
404- Reorganized libraries (BZ #812981).
405
406* Mon Feb 27 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.3.1-1
407- Update to 3.3.1.
408
409* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3-5
410- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
411
412* Tue Oct 11 2011 Dan Horák <dan[at]danny.cz> - 3.3-4
413- libquadmath exists only on x86/x86_64 and ia64
414
415* Mon Oct 10 2011 Rex Dieter <rdieter@fedoraproject.org> 3.3-3
416- -devel: Provides: fftw3-devel (#744758)
417- -static: Provides: fftw3-static
418- drop %%_isa from Obsoletes
419
420* Sat Jul 30 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.3-2
421- Conditionalize OpenMP and quadruple precision support based on capabilities
422  of system compiler.
423
424* Thu Jul 28 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.3-1
425- Update to 3.3.
426
427* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.2-5
428- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
429
430* Sat Jan 9 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.2.2-4
431- Get rid of rpath.
432
433* Sat Jan 9 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.2.2-3
434- Branch out developers' manual to -doc.
435
436* Sat Jan 2 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.2.2-2
437- Add check phase.
438- Cosmetic changes to spec file (unified changelog format, removed unnecessary
439  space).
440- Use rm instead of find -delete, as latter is not present on EPEL-4.
441- Generalize obsoletes of fftw3 packages. Add Obsoletes: fftw3-static.
442
443* Fri Jan 1 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.2.2-1
444- Update to 3.2.2.
445- Make file listings more explicit.
446- Don't use file dependencies for info.
447
448* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.1-3
449- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
450
451* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.1-2
452- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
453
454* Sat Feb 14 2009 Conrad Meyer <konrad@tylerc.org> - 3.2.1-1
455- Bump to 3.2.1.
456
457* Thu Dec 4 2008 Conrad Meyer <konrad@tylerc.org> - 3.2-1
458- Bump to 3.2.
459
460* Fri Jul 18 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 3.1.2-7
461- fix license tag
462
463* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 3.1.2-6
464- Autorebuild for GCC 4.3
465
466* Fri Aug 24 2007 Quentin Spencer <qspencer@users.sf.net> 3.1.2-5
467- Rebuild for F8.
468
469* Fri Jul 27 2007 Quentin Spencer <qspencer@users.sf.net> 3.1.2-4
470- Split static libs into separate package (bug 249686).
471
472* Thu Oct 05 2006 Christian Iseli <Christian.Iseli@licr.org> 3.1.2-3
473- rebuilt for unwind info generation, broken in gcc-4.1.1-21
474
475* Tue Sep 26 2006 Quentin Spencer <qspencer@users.sf.net> 3.1.2-2
476- BuildRequires: pkgconfig for -devel (bug 206444).
477
478* Fri Sep  8 2006 Quentin Spencer <qspencer@users.sf.net> 3.1.2-1
479- New release.
480
481* Fri Jun  2 2006 Quentin Spencer <qspencer@users.sf.net> 3.1.1-1
482- New upstream release.
483
484* Fri Feb 24 2006 Quentin Spencer <qspencer@users.sf.net> 3.1-4
485- Re-enable static libs (bug 181897).
486- Build long-double version of libraries (bug 182587).
487
488* Mon Feb 13 2006 Quentin Spencer <qspencer@users.sf.net> 3.1-3
489- Add Obsoletes and Provides.
490
491* Mon Feb 13 2006 Quentin Spencer <qspencer@users.sf.net> 3.1-2
492- Rebuild for Fedora Extras 5.
493- Disable static libs.
494- Remove obsolete configure options.
495
496* Wed Feb  1 2006 Quentin Spencer <qspencer@users.sf.net> 3.1-1
497- Upgrade to the 3.x branch, incorporating changes from the fftw3 spec file.
498- Add dist tag.
Note: See TracBrowser for help on using the repository browser.