lapack-vl.spec 13 KB

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