lapack-vl.spec 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. %global shortver 3
  2. %global mediumver %{shortver}.3
  3. Summary: The LAPACK libraries for numerical linear algebra.
  4. Name: lapack
  5. Version: %{mediumver}.1
  6. Release: 1%{?_dist_release}
  7. License: Freely distributable
  8. Group: Development/Libraries
  9. URL: http://www.netlib.org/lapack/
  10. Source0: http://www.netlib.org/lapack/lapack-%{version}.tgz
  11. Source1: http://www.netlib.org/lapack/manpages.tgz
  12. Source2: Makefile.blas
  13. Source3: Makefile.lapack
  14. Source4: http://www.netlib.org/lapack/lapackqref.ps
  15. Source5: http://www.netlib.org/blas/blasqr.ps
  16. Patch3: lapack-3.1.1-make.inc.patch
  17. Obsoletes: lapack-man
  18. BuildRequires: gcc-gfortran
  19. BuildRequires: coreutils findutils
  20. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  21. Vendor: Project Vine
  22. Distribution: Vine Linux
  23. Packager: inagaki, kenta
  24. %description
  25. LAPACK (Linear Algebra PACKage) is a standard library for numerical
  26. linear algebra. LAPACK provides routines for solving systems of
  27. simultaneous linear equations, least-squares solutions of linear
  28. systems of equations, eigenvalue problems, and singular value problems.
  29. Associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, and
  30. generalized Schur) and related computations (i.e., reordering of
  31. Schur factorizations and estimating condition numbers) are also
  32. included. LAPACK can handle dense and banded matrices, but not general
  33. sparse matrices. Similar functionality is provided for real and complex
  34. matrices in both single and double precision. LAPACK is coded in
  35. Fortran77 and built with gcc.
  36. %description -l ja
  37. LAPACK(Linear Algebra PACKage)は線形代数用数値計算の標準ライブラリです。
  38. LAPACKには、連立一次方程式、線形最小二乗解、固有値問題、特異値問題を解く
  39. ためのルーチンがあります。関連する行列因子分解(LU、Cholesky、QR、SVD、
  40. Schur、一般化Schur)と、それに関連する計算処理 (つまりSchur分解の再配列
  41. およびコンディションナンバーの推定)も含まれます。LAPACKは密なbanded行列は
  42. 処理できますが、一般的な疎行列は処理できません。同じ計算機能が、実行列
  43. および複素行列の単制度および倍精度で利用できます。LAPACKはFortran 77で
  44. 記述され、gccでビルドされています。
  45. %package devel
  46. Summary: LAPACK development libraries
  47. Group: Development/Libraries
  48. Requires: %{name} = %{version}-%{release}
  49. Requires: blas-devel = %{version}-%{release}
  50. %description devel
  51. LAPACK development libraries (shared).
  52. %package static
  53. Summary: LAPACK static libraries
  54. Group: Development/Libraries
  55. %description static
  56. LAPACK static libraries.
  57. %package -n blas
  58. Summary: The BLAS (Basic Linear Algebra Subprograms) library.
  59. Group: Development/Libraries
  60. Obsoletes: lapack-blas blas-man
  61. %description -n blas
  62. BLAS (Basic Linear Algebra Subprograms) is a standard library which
  63. provides a number of basic algorithms for numerical algebra. Man
  64. pages for blas are available in the blas-man package.
  65. %description -n blas -l ja
  66. BLAS(Basic Linear Algebra Subprograms)は数値代数計算の標準ライブラリです。BLASでは、線形代数計算における多くの基本アルゴリズムを利用できます。Blasの計算は高速で十分テストされているFORTRAN 77のプログラムで、gccでビルドされています。
  67. %description -n blas
  68. BLAS (Basic Linear Algebra Subprograms) is a standard library which
  69. provides a number of basic algorithms for numerical algebra.
  70. %package -n blas-devel
  71. Summary: LAPACK development libraries
  72. Group: Development/Libraries
  73. Requires: blas = %{version}-%{release}
  74. Requires: gcc-gfortran
  75. %description -n blas-devel
  76. BLAS development libraries (shared).
  77. %package -n blas-static
  78. Summary: BLAS static libraries
  79. Group: Development/Libraries
  80. %description -n blas-static
  81. BLAS static libraries.
  82. %prep
  83. %setup -q
  84. %setup -q -D -T -a1
  85. # using gfortran
  86. %patch3 -p1
  87. cp -f INSTALL/make.inc.gfortran make.inc
  88. cp -f %{SOURCE2} BLAS/SRC/Makefile
  89. cp -f %{SOURCE3} SRC/Makefile
  90. sed -i "s|@SHORTVER@|%{shortver}|g" BLAS/SRC/Makefile
  91. sed -i "s|@SHORTVER@|%{shortver}|g" SRC/Makefile
  92. sed -i "s|@LONGVER@|%{version}|g" BLAS/SRC/Makefile
  93. sed -i "s|@LONGVER@|%{version}|g" SRC/Makefile
  94. #Empty
  95. rm -f manpages/man/manl/zbcon.l
  96. %build
  97. RPM_OPT_O_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-O0|')
  98. # using gfortran
  99. export FC=gfortran
  100. # Build BLAS
  101. pushd BLAS/SRC
  102. FFLAGS="$RPM_OPT_O_FLAGS" make dcabs1.o
  103. FFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" make static
  104. cp libblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/
  105. make clean
  106. FFLAGS="$RPM_OPT_O_FLAGS -fPIC" make dcabs1.o
  107. FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" make shared
  108. cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
  109. popd
  110. ln -s libblas.so.%{version} libblas.so
  111. # Build the static dlamch, dsecnd, lsame, second, slamch bits
  112. pushd INSTALL
  113. make NOOPT="$RPM_OPT_O_FLAGS" OPTS="$RPM_OPT_FLAGS"
  114. popd
  115. # Build the static lapack library
  116. pushd SRC
  117. make FFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" static
  118. cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/
  119. popd
  120. # Build the static with pic dlamch, dsecnd, lsame, second, slamch bits
  121. pushd INSTALL
  122. make clean
  123. make NOOPT="$RPM_OPT_O_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC"
  124. popd
  125. # Build the static with pic lapack library
  126. pushd SRC
  127. make clean
  128. make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
  129. cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic.a
  130. popd
  131. # Build the shared dlamch, dsecnd, lsame, second, slamch bits
  132. pushd INSTALL
  133. make clean
  134. make NOOPT="$RPM_OPT_O_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC"
  135. popd
  136. # Build the shared lapack library
  137. pushd SRC
  138. make clean
  139. make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" shared
  140. cp liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
  141. popd
  142. cp -p %{SOURCE4} lapackqref.ps
  143. cp -p %{SOURCE5} blasqr.ps
  144. %install
  145. rm -fr ${RPM_BUILD_ROOT}
  146. mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
  147. mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/manl
  148. chmod 755 ${RPM_BUILD_ROOT}%{_mandir}/manl
  149. for f in liblapack.so.%{version} libblas.so.%{version} libblas.a liblapack.a liblapack_pic.a; do
  150. cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
  151. done
  152. find manpages/blas/man/manl -type f -printf "%{_mandir}/manl/%f*\n" > blasmans
  153. # These are also in the BLAS package
  154. rm -f manpages/man/manl/lsame.l*
  155. rm -f manpages/man/manl/xerbla.l*
  156. find manpages/man/manl -type f -printf "%{_mandir}/manl/%f*\n" > lapackmans
  157. cp -f manpages/blas/man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl
  158. cp -f manpages/man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl
  159. cd ${RPM_BUILD_ROOT}%{_libdir}
  160. ln -sf liblapack.so.%{version} liblapack.so
  161. ln -sf liblapack.so.%{version} liblapack.so.%{shortver}
  162. ln -sf liblapack.so.%{version} liblapack.so.%{mediumver}
  163. ln -sf libblas.so.%{version} libblas.so
  164. ln -sf libblas.so.%{version} libblas.so.%{shortver}
  165. ln -sf libblas.so.%{version} libblas.so.%{mediumver}
  166. %post -p /sbin/ldconfig
  167. %postun -p /sbin/ldconfig
  168. %post -n blas -p /sbin/ldconfig
  169. %postun -n blas -p /sbin/ldconfig
  170. %clean
  171. rm -fr ${RPM_BUILD_ROOT}
  172. %files -f lapackmans
  173. %defattr(-,root,root)
  174. %doc README LICENSE lapackqref.ps
  175. %dir %{_mandir}/manl/
  176. %{_libdir}/liblapack.so.*
  177. %files devel
  178. %defattr(-,root,root,-)
  179. %{_libdir}/liblapack.so
  180. %files static
  181. %defattr(-,root,root,-)
  182. %{_libdir}/liblapack*.a
  183. %files -n blas -f blasmans
  184. %defattr(-,root,root)
  185. %doc blasqr.ps LICENSE
  186. %dir %{_mandir}/manl/
  187. %{_libdir}/libblas.so.*
  188. %files -n blas-devel
  189. %defattr(-,root,root,-)
  190. %{_libdir}/libblas.so
  191. %files -n blas-static
  192. %defattr(-,root,root,-)
  193. %{_libdir}/libblas*.a
  194. %changelog
  195. * Sat Nov 26 2011 NAKAMURA Kenta <kenta@vinelinux.org> 3.3.1-1
  196. - new upstream release
  197. - update package descriptions
  198. * Fri Feb 19 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.2.1-1
  199. - new upstream release
  200. - built with new toolchain
  201. - added SOURCE1
  202. * Wed Sep 24 2008 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.1.1-2
  203. - applied new versioning policy
  204. - spec in UTF-8
  205. * Wed Aug 15 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.1.1-1vl3
  206. - rebuilt for VineSeed
  207. * Wed Aug 15 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.1.1-1vl2
  208. - rebuilt for VinePlus/4.0
  209. - added Patch4, Source102 and Source103 for compiling in g77
  210. - added BuildRequires: coreutils, findutils
  211. * Tue Aug 7 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.1.1-1vl1
  212. - new upstream release based on Fedora packages
  213. * Wed Sep 14 2005 Tom "spot" Callaway <tcallawa@redhat.com> 3.0-30
  214. - make -devel packages
  215. - make liblapack_pic.a package
  216. * Wed Aug 20 2003 Jeremy Katz <katzj@redhat.com> 3.0-22
  217. - nuke -man subpackages (#97506)
  218. - rebuilt with gfortran
  219. * Thu Dec 26 2003 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.0-17vl3
  220. - rebuild with new toolchains
  221. * Mon Oct 13 2003 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.0-17vl2
  222. - rebuild with new toolchains
  223. * Thu Jul 18 2002 KOBAYASHI R. Taizo <tkoba@vinelinux.org> 3.0-17vl1
  224. - modified for Vine.
  225. * Fri Jun 21 2002 Tim Powers <timp@redhat.com>
  226. - automated rebuild
  227. * Thu May 23 2002 Tim Powers <timp@redhat.com>
  228. - automated rebuild
  229. * Wed May 1 2002 Trond Eivind Glomsr� <teg@redhat.com> 3.0-15
  230. - Rebuild
  231. * Wed Feb 27 2002 Fuhito Suguri <bitwalk@jcom.home.ne.jp> 3.0-14bw
  232. - rebuild for RH7.2.
  233. * Wed Jan 09 2002 Tim Powers <timp@redhat.com>
  234. - automated rebuild
  235. * Mon Aug 13 2001 Trond Eivind Glomsrod <teg@redhat.com> 3.0-12
  236. - The man-pages for xerbla and lsame were in blas-man and lapack-man (#51605)
  237. * Fri Jun 8 2001 Trond Eivind Glomsrod <teg@redhat.com>
  238. - Reenable optimization for IA64
  239. * Fri May 25 2001 Trond Eivind Glomsrod <teg@redhat.com>
  240. - Add all patches from the LAPACK site as of 2001-05-25
  241. - Use this workaround for IA64 instead
  242. - Remove SPARC workaround
  243. - Don't exclude IA64
  244. * Thu Dec 07 2000 Trond Eivind Glomsrod <teg@redhat.com>
  245. - rebuild for main distribution
  246. * Mon Nov 20 2000 Trond Eivind Glomsrod <teg@redhat.com>
  247. - add the LAPACK Quick Reference Guide to the docs
  248. - add the BLAS Quick Reference Guide to the docs
  249. * Tue Aug 01 2000 Trond Eivind Glomsrod <teg@redhat.com>
  250. - fix lack of ldconfig in postuninstall script
  251. * Mon Jul 24 2000 Prospector <prospector@redhat.com>
  252. - rebuilt
  253. * Mon Jul 10 2000 Trond Eivind Glomsrod <teg@redhat.com>
  254. - updated with the latest updates (new tarfile..) from netlib
  255. * Thu Jun 15 2000 Trond Eivind Glomsrod <teg@redhat.com>
  256. - use %%{_mandir}
  257. - added some flags to work around SPARC compiler bug
  258. * Wed Jan 19 2000 Tim Powers <timp@redhat.com>
  259. - bzipped sources to conserve space
  260. * Tue Jan 4 2000 Jeff Johnson <jbj@redhat.com>
  261. - build for PowerTools 6.2.
  262. * Sat Dec 25 1999 Joachim Frieben <jfrieben@hotmail.com>
  263. - updated to version v3.0 + update as of Tue Nov 30 1999
  264. * Sat Oct 23 1999 Joachim Frieben <jfrieben@hotmail.com>
  265. - updated Red Hat makefiles to v3.0
  266. * Mon Aug 2 1999 Tim Powers <timp@redhat.com>
  267. - updated to v3.0
  268. - built for 6.1
  269. * Mon Apr 12 1999 Michael Maher <mike@redhat.com>
  270. - built package for 6.0
  271. * Sat Oct 24 1998 Jeff Johnson <jbj@redhat.com>
  272. - new description/summary text.
  273. * Fri Jul 17 1998 Jeff Johnson <jbj@redhat.com>
  274. - repackage for powertools.
  275. * Sun Feb 15 1998 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
  276. [lapack-2.0-9]
  277. - No code updates, just built with a customized rpm -
  278. this should make dependencies right.
  279. * Sat Feb 07 1998 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
  280. [lapack-2.0-8]
  281. - Total rewrite of the spec file
  282. - Added my own makefiles - libs should build better,
  283. static libs should work (and be faster than they
  284. would be if they had worked earlier ;)
  285. - No patch necessary anymore.
  286. - Renamed lapack-blas and lapack-blas-man to
  287. blas and blas-man. "Obsoletes:" tag added.
  288. (oh - and as always: Dedicated to the girl I
  289. love, Eline Skirnisdottir)
  290. * Sat Dec 06 1997 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
  291. [lapack-2.0-7]
  292. - added a dependency to glibc, so people don't try with libc5
  293. * Thu Nov 20 1997 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
  294. [lapack-2.0-6]
  295. - removed etime.c
  296. - compiled with egcs, and for glibc 2.0
  297. * Sun Oct 12 1997 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
  298. [lapack-2.0-5]
  299. - added a changelog
  300. - cleaned up building of shared libs
  301. - now uses a BuildRoot
  302. - cleaned up the specfile