fftw3-vl.spec 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. %define name fftw3
  2. %define version 3.3.1
  3. %define release 1%{?_dist_release}
  4. Name: %{name}
  5. Summary: C subroutines for computing the Discrete Fourier Transform.
  6. Version: %{version}
  7. Release: %{release}
  8. Group: System Environment/Libraries
  9. License: GPLv2
  10. URL: http://www.fftw.org/
  11. Source: fftw-%{version}.tar.gz
  12. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  13. BuildRequires: gcc-gfortran
  14. Vendor: Project Vine
  15. Distribution: Vine Linux
  16. %description
  17. FFTW is a collection of fast C routines for computing the Discrete Fourier Transform in one or more dimensions. It includes complex, real, and parallel transforms, and can handle arbitrary array sizes efficiently. This RPM package includes both the double- and single-precision FFTW uniprocessor and threads libraries. (The single-precision files have an "f" postfix.)
  18. %description -l ja
  19. FFTW は1次元または多次元の離散フーリエ変換(DFT)を計算する高速なCルーチンのコレクションです.FFTW は複素数、実数、並列変換ができ、任意のサイズの配列を効果的に扱うことができます.このパッケージには、倍精度と単精度の単一CPUとスレッドに対応した FFTW のライブラリが収められています。(単精度用のファイル名にはfが最後に付けられています。)
  20. %package devel
  21. Summary: Headers, libraries and docs for the FFTW library
  22. Group: Development/Libraries
  23. Requires: %{name} = %{version}-%{release}
  24. Requires(post): install-info
  25. Requires(preun): install-info
  26. %description devel
  27. This package contains header files and development libraries needed to
  28. develop programs using the FFTW fast Fourier transform library.
  29. %description devel -l ja
  30. このパッケージには、高速フーリエ変換のライブラリである FFTW を使ってプログラムを開発する際に必要となるヘッダーファイルやドキュメント、ライブラリが収められています.
  31. %package static
  32. Summary: Static version of the FFTW library
  33. Group: Development/Libraries
  34. Requires: %{name}-devel = %{version}-%{release}
  35. %description static
  36. This package contains the statically linkable version of
  37. the FFTW fast Fourier transform library.
  38. %prep
  39. # We will be compiling three copies of FFTW, one for double precision, another
  40. # one for single precision and the other for long double precision. During the
  41. # build process, these copies will be stored in fftw-%{version}/double, single
  42. # and long
  43. # Unpack the tar archive, first (-c) creating a fftw-%{version}
  44. # directory and then unpacking in there.
  45. %setup -q -c -n fftw-%{version}
  46. for dir in single double long; do
  47. cp -a fftw-%{version} $dir
  48. done
  49. rm -rf fftw-%{version}
  50. %build
  51. # Configure and build the double, single and long double precision versions.
  52. # Notes:
  53. # (1) We install into ${RPM_BUILD_ROOT}, which is set either
  54. # by the BuildRoot option above or by --buildroot at build-time.
  55. # This allows you to build the RPM without blowing away your existing
  56. # FFTW installation, and even without being root.
  57. # (2) The double-precision version is installed with the normal library
  58. # names, while the single-precision version is installed with an "f"
  59. # postfix.
  60. # Configure uses g77 by default, if present on system
  61. export F77=gfortran
  62. %ifarch x86_64
  63. #CONFIG_FLAGS="--enable-sse --enable-sse2 --enable-shared --disable-dependency-tracking --enable-threads"
  64. CONFIG_FLAGS="--enable-shared --disable-dependency-tracking --enable-threads"
  65. %else
  66. CONFIG_FLAGS="--enable-shared --disable-dependency-tracking --enable-threads"
  67. %endif
  68. pushd double
  69. %configure $CONFIG_FLAGS
  70. sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
  71. sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
  72. make %{?_smp_mflags}
  73. popd
  74. pushd single
  75. %configure $CONFIG_FLAGS --enable-single
  76. sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
  77. sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
  78. make %{?_smp_mflags}
  79. popd
  80. pushd long
  81. %configure $CONFIG_FLAGS --enable-long-double
  82. sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
  83. sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
  84. make %{?_smp_mflags}
  85. popd
  86. %install
  87. rm -rf $RPM_BUILD_ROOT doc
  88. pushd double
  89. make install DESTDIR=${RPM_BUILD_ROOT}
  90. cp -a AUTHORS COPYING COPYRIGHT ChangeLog NEWS README* TODO ../
  91. cp -a doc/ ../
  92. popd
  93. pushd single
  94. make install DESTDIR=${RPM_BUILD_ROOT}
  95. popd
  96. pushd long
  97. make install DESTDIR=${RPM_BUILD_ROOT}
  98. popd
  99. ## remove unuse files
  100. rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir
  101. rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la
  102. %clean
  103. rm -rf $RPM_BUILD_ROOT
  104. %post -p /sbin/ldconfig
  105. %postun -p /sbin/ldconfig
  106. %post devel
  107. /sbin/install-info --section="Math" %{_infodir}/%{name}.info.gz %{_infodir}/dir 2>/dev/null || :
  108. %preun devel
  109. if [ "$1" = 0 ]; then
  110. /sbin/install-info --delete %{_infodir}/%{name}.info.gz %{_infodir}/dir 2>/dev/null || :
  111. fi
  112. %files
  113. %defattr (-,root,root)
  114. %doc AUTHORS COPYING COPYRIGHT ChangeLog NEWS README* TODO
  115. %{_bindir}/fftw*
  116. %{_libdir}/libfftw3*.so.*
  117. %{_mandir}/man1/fftw*
  118. %files devel
  119. %defattr (-,root,root)
  120. %doc doc/html/ doc/FAQ/fftw-faq.html/ doc/*.pdf
  121. %{_includedir}/fftw3*
  122. %{_libdir}/libfftw3*.so
  123. %{_libdir}/pkgconfig/fftw3*.pc
  124. %{_infodir}/fftw3*
  125. %files static
  126. %defattr (-,root,root)
  127. %{_libdir}/libfftw3*.a
  128. %changelog
  129. * Sat Mar 03 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.3.1-1
  130. - new upstream release
  131. * Mon Oct 04 2010 Shu KONNO <owa@bg.wakwak.com> 3.2.2-2
  132. - dropt "--enable-sse --enable-sse2" in configure (on x86_64)
  133. * Sun Oct 03 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.2.2-1
  134. - updated to 3.2.2
  135. - added long double precision support
  136. - split static libraries
  137. * Sat Sep 20 2008 Shu KONNO <owa@bg.wakwak.com> 3.1.2-1vl5
  138. - applied new versioning policy, spec in utf-8
  139. - removed *.la
  140. - moved *.pc file to devel
  141. * Thu Jan 03 2008 Satoshi MACHINO <machino@vinelinux.org> 3.1.2-0vl1
  142. - new upstream release
  143. * Tue Nov 27 2007 Shu KONNO <owa@bg.wakwak.com> 3.1.1-0vl2
  144. - s/gcc-g77/gcc-gfortran/
  145. - x86_64 support
  146. * Tue May 30 2006 Seiya Nishizawa <seiya@kugi.kyoto-u.ac.jp> 3.1.1-0vl1
  147. - source version up
  148. * Thu Jan 29 2004 Seiya Nishizawa <seiya@kugi.kyoto-u.ac.jp> 3.0.1-0vl1
  149. - source version up to 3
  150. - package name to fftw3
  151. - enable sse2 for double and sse for single
  152. * Thu Jul 18 2002 KOBAYASHI R. Taizo <tkoba@vinelinux.org> 2.1.3-0vl1
  153. - modified for Vine.
  154. * Mon Feb 25 2002 Fuhito Suguri <bitwalk@jcom.home.ne.jp> 2.1.3-12bw
  155. - rebuild for RH72.
  156. * Tue Oct 09 2001 Fuhito Suguri <bitwalk@nyc.odn.ne.jp> 2.1.3-11bw
  157. - corrected some wrong descriptions in this spec for RH71
  158. * Tue Oct 09 2001 Fuhito Suguri <bitwalk@nyc.odn.ne.jp> 2.1.3-10bw
  159. - corrected some wrong descriptions in this spec
  160. * Mon Oct 08 2001 Fuhito Suguri <bitwalk@nyc.odn.ne.jp> 2.1.3-9bw
  161. - rebuilt for Vine Linux 2.1.5
  162. * Thu Jun 14 2001 Lenny Cartier <lenny@mandrakesoft.com> 2.1.3-8mdk
  163. - fixed by Mika Korhonen <mikak@ee.oulu.fi> :
  164. - removed broken ld.so.conf test (/usr/lib is not listed there anyways)
  165. - made install-info work with RPM macros shipping with newer Mandrakes
  166. and actually add an entry to the top dir file
  167. * Tue Jan 09 2001 Lenny Cartier <lenny@mandrakesoft.com> 2.1.3-7mdk
  168. - rebuild
  169. * Tue Aug 31 2000 Lenny Cartier <lenny@mandrakesoft.com> 2.1.3-6mdk
  170. - add installinfo
  171. * Wed Aug 30 2000 Alexander Skwar <ASkwar@DigitalProjects.com> 2.1.3-5mdk
  172. - Actually used macros
  173. - Added %doc files
  174. - Shortened %files section of the SPEC file a lot
  175. - Provide libfftw as eXtace requires it
  176. - Obsolote libfftw package
  177. - Optimized for Pentium builds per README.hacks
  178. * Wed Aug 30 2000 Lenny Cartier <lenny@mandrakesoft.com> 2.1.3-4mdk
  179. - BM
  180. - macros
  181. * Wed Apr 26 2000 Lenny Cartier <lenny@mandrakesoft.com> 2.1.3-3mdk
  182. - fix group
  183. - spec helper fixes
  184. * Tue Jan 25 2000 Lenny Cartier <lenny@mandrakesoft.com>
  185. - updated, installs in /usr instead of /usr/local by Dara Hazeghi
  186. <dara@pacbell.net>
  187. * Thu Dec 16 1999 Lenny Cartier <lenny@mandrakesoft.com>
  188. - new in contribs
  189. - bz2 archive
  190. - add defattr