fftw3-vl.spec 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. %define name fftw3
  2. %define version 3.2.2
  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. %else
  65. CONFIG_FLAGS="--enable-shared --disable-dependency-tracking --enable-threads"
  66. %endif
  67. pushd double
  68. %configure $CONFIG_FLAGS
  69. sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
  70. sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
  71. make %{?_smp_mflags}
  72. popd
  73. pushd single
  74. %configure $CONFIG_FLAGS --enable-single
  75. sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
  76. sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
  77. make %{?_smp_mflags}
  78. popd
  79. pushd long
  80. %configure $CONFIG_FLAGS --enable-long-double
  81. sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
  82. sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
  83. make %{?_smp_mflags}
  84. popd
  85. %install
  86. rm -rf $RPM_BUILD_ROOT doc
  87. pushd double
  88. make install DESTDIR=${RPM_BUILD_ROOT}
  89. cp -a AUTHORS COPYING COPYRIGHT ChangeLog NEWS README* TODO ../
  90. cp -a doc/ ../
  91. popd
  92. pushd single
  93. make install DESTDIR=${RPM_BUILD_ROOT}
  94. popd
  95. pushd long
  96. make install DESTDIR=${RPM_BUILD_ROOT}
  97. popd
  98. ## remove unuse files
  99. rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir
  100. rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la
  101. %clean
  102. rm -rf $RPM_BUILD_ROOT
  103. %post -p /sbin/ldconfig
  104. %postun -p /sbin/ldconfig
  105. %post devel
  106. /sbin/install-info --section="Math" %{_infodir}/%{name}.info.gz %{_infodir}/dir 2>/dev/null || :
  107. %preun devel
  108. if [ "$1" = 0 ]; then
  109. /sbin/install-info --delete %{_infodir}/%{name}.info.gz %{_infodir}/dir 2>/dev/null || :
  110. fi
  111. %files
  112. %defattr (-,root,root)
  113. %doc AUTHORS COPYING COPYRIGHT ChangeLog NEWS README* TODO
  114. %{_bindir}/fftw*
  115. %{_libdir}/libfftw3*.so.*
  116. %{_mandir}/man1/fftw*
  117. %files devel
  118. %defattr (-,root,root)
  119. %doc doc/html/ doc/FAQ/fftw-faq.html/ doc/*.pdf
  120. %{_includedir}/fftw3.*
  121. %{_libdir}/libfftw3*.so
  122. %{_libdir}/pkgconfig/fftw3*.pc
  123. %{_infodir}/fftw3*
  124. %files static
  125. %defattr (-,root,root)
  126. %{_libdir}/libfftw3*.a
  127. %changelog
  128. * Sun Oct 03 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.2.2-1
  129. - updated to 3.2.2
  130. - added long double precision support
  131. - split static libraries
  132. * Sat Sep 20 2008 Shu KONNO <owa@bg.wakwak.com> 3.1.2-1vl5
  133. - applied new versioning policy, spec in utf-8
  134. - removed *.la
  135. - moved *.pc file to devel
  136. * Thu Jan 03 2008 Satoshi MACHINO <machino@vinelinux.org> 3.1.2-0vl1
  137. - new upstream release
  138. * Tue Nov 27 2007 Shu KONNO <owa@bg.wakwak.com> 3.1.1-0vl2
  139. - s/gcc-g77/gcc-gfortran/
  140. - x86_64 support
  141. * Tue May 30 2006 Seiya Nishizawa <seiya@kugi.kyoto-u.ac.jp> 3.1.1-0vl1
  142. - source version up
  143. * Thu Jan 29 2004 Seiya Nishizawa <seiya@kugi.kyoto-u.ac.jp> 3.0.1-0vl1
  144. - source version up to 3
  145. - package name to fftw3
  146. - enable sse2 for double and sse for single
  147. * Thu Jul 18 2002 KOBAYASHI R. Taizo <tkoba@vinelinux.org> 2.1.3-0vl1
  148. - modified for Vine.
  149. * Mon Feb 25 2002 Fuhito Suguri <bitwalk@jcom.home.ne.jp> 2.1.3-12bw
  150. - rebuild for RH72.
  151. * Tue Oct 09 2001 Fuhito Suguri <bitwalk@nyc.odn.ne.jp> 2.1.3-11bw
  152. - corrected some wrong descriptions in this spec for RH71
  153. * Tue Oct 09 2001 Fuhito Suguri <bitwalk@nyc.odn.ne.jp> 2.1.3-10bw
  154. - corrected some wrong descriptions in this spec
  155. * Mon Oct 08 2001 Fuhito Suguri <bitwalk@nyc.odn.ne.jp> 2.1.3-9bw
  156. - rebuilt for Vine Linux 2.1.5
  157. * Thu Jun 14 2001 Lenny Cartier <lenny@mandrakesoft.com> 2.1.3-8mdk
  158. - fixed by Mika Korhonen <mikak@ee.oulu.fi> :
  159. - removed broken ld.so.conf test (/usr/lib is not listed there anyways)
  160. - made install-info work with RPM macros shipping with newer Mandrakes
  161. and actually add an entry to the top dir file
  162. * Tue Jan 09 2001 Lenny Cartier <lenny@mandrakesoft.com> 2.1.3-7mdk
  163. - rebuild
  164. * Tue Aug 31 2000 Lenny Cartier <lenny@mandrakesoft.com> 2.1.3-6mdk
  165. - add installinfo
  166. * Wed Aug 30 2000 Alexander Skwar <ASkwar@DigitalProjects.com> 2.1.3-5mdk
  167. - Actually used macros
  168. - Added %doc files
  169. - Shortened %files section of the SPEC file a lot
  170. - Provide libfftw as eXtace requires it
  171. - Obsolote libfftw package
  172. - Optimized for Pentium builds per README.hacks
  173. * Wed Aug 30 2000 Lenny Cartier <lenny@mandrakesoft.com> 2.1.3-4mdk
  174. - BM
  175. - macros
  176. * Wed Apr 26 2000 Lenny Cartier <lenny@mandrakesoft.com> 2.1.3-3mdk
  177. - fix group
  178. - spec helper fixes
  179. * Tue Jan 25 2000 Lenny Cartier <lenny@mandrakesoft.com>
  180. - updated, installs in /usr instead of /usr/local by Dara Hazeghi
  181. <dara@pacbell.net>
  182. * Thu Dec 16 1999 Lenny Cartier <lenny@mandrakesoft.com>
  183. - new in contribs
  184. - bz2 archive
  185. - add defattr