source: projects/specs/branches/6/l/lapack/lapack-vl.spec @ 5909

Revision 5909, 15.5 KB checked in by kenta, 12 years ago (diff)

lapack: update to 3.4.0

Line 
1%global shortver       3
2%global mediumver      %{shortver}.4
3
4Summary: The LAPACK libraries for numerical linear algebra.
5Name:    lapack
6Version: %{mediumver}.0
7Release: 1%{?_dist_release}
8License: Freely distributable
9Group:   Development/Libraries
10URL:     http://www.netlib.org/lapack/
11Source0: http://www.netlib.org/lapack/lapack-%{version}.tgz
12Source1: http://www.netlib.org/lapack/manpages.tgz
13Source2: Makefile.blas
14Source3: Makefile.lapack
15Source4: http://www.netlib.org/lapack/lapackqref.ps
16Source5: http://www.netlib.org/blas/blasqr.ps
17Patch3:  lapack-3.4.0-make.inc.patch
18Patch4:  lapack-3.4.0-lapacke-shared.patch
19BuildRequires: gcc-gfortran
20BuildRequires: coreutils findutils
21
22BuildRoot: %{_tmppath}/%{name}-%{version}-root
23
24Vendor: Project Vine
25Distribution: Vine Linux
26Packager: inagaki, kenta
27
28%description
29LAPACK (Linear Algebra PACKage) is a standard library for numerical
30linear algebra. LAPACK provides routines for solving systems of
31simultaneous linear equations, least-squares solutions of linear
32systems of equations, eigenvalue problems, and singular value problems.
33Associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, and
34generalized Schur) and related computations (i.e., reordering of
35Schur factorizations and estimating condition numbers) are also
36included. LAPACK can handle dense and banded matrices, but not general
37sparse matrices. Similar functionality is provided for real and complex
38matrices in both single and double precision. LAPACK is coded in
39Fortran90 and built with gcc.
40
41%description -l ja
42LAPACK(Linear Algebra PACKage)は線形代数用数値計算の標準ライブラリです。
43LAPACKには、連立一次方程式、線形最小二乗解、固有値問題、特異値問題を解く
44ためのルーチンがあります。関連する行列因子分解(LU、Cholesky、QR、SVD、
45Schur、一般化Schur)と、それに関連する計算処理 (つまりSchur分解の再配列
46およびコンディションナンバーの推定)も含まれます。LAPACKは密なbanded行列は
47処理できますが、一般的な疎行列は処理できません。同じ計算機能が、実行列
48および複素行列の単制度および倍精度で利用できます。LAPACKはFortran 90で
49記述され、gccでビルドされています。
50
51%package devel
52Summary: LAPACK development libraries
53Group: Development/Libraries
54Requires: %{name} = %{version}-%{release}
55Requires: blas-devel = %{version}-%{release}
56
57%description devel
58LAPACK development libraries (shared).
59
60%package static
61Summary: LAPACK static libraries
62Group: Development/Libraries
63Requires: %{name}-devel = %{version}-%{release}
64
65%description static
66LAPACK static libraries.
67
68%package -n blas
69Summary: The BLAS (Basic Linear Algebra Subprograms) library.
70Group: Development/Libraries
71
72%description -n blas
73BLAS (Basic Linear Algebra Subprograms) is a standard library which
74provides a number of basic algorithms for numerical algebra.
75
76%description -n blas -l ja
77BLAS(Basic Linear Algebra Subprograms)は数値代数計算の標準ライブラリです。BLASでは、線形代数計算における多くの基本アルゴリズムを利用できます。Blasの計算は高速で十分テストされているFORTRAN 90のプログラムで、gccでビルドされています。
78
79%description -n blas
80BLAS (Basic Linear Algebra Subprograms) is a standard library which
81provides a number of basic algorithms for numerical algebra.
82
83%package -n blas-devel
84Summary: LAPACK development libraries
85Group: Development/Libraries
86Requires: blas = %{version}-%{release}
87Requires: gcc-gfortran
88
89%description -n blas-devel
90BLAS development libraries (shared).
91
92%package -n blas-static
93Summary: BLAS static libraries
94Group: Development/Libraries
95Requires: blas-devel = %{version}-%{release}
96
97%description -n blas-static
98BLAS static libraries.
99
100%prep
101%setup -q
102%setup -q -D -T -a1
103# using gfortran
104%patch3 -p1
105%patch4 -p1 -b .shared
106
107mkdir manpages
108mv man/ manpages/
109
110cp -f INSTALL/make.inc.gfortran make.inc
111cp -f %{SOURCE2} BLAS/SRC/Makefile
112cp -f %{SOURCE3} SRC/Makefile
113
114sed -i "s|@SHORTVER@|%{shortver}|g" BLAS/SRC/Makefile
115sed -i "s|@SHORTVER@|%{shortver}|g" SRC/Makefile
116sed -i "s|@SHORTVER@|%{shortver}|g" lapacke/Makefile
117sed -i "s|@LONGVER@|%{version}|g" BLAS/SRC/Makefile
118sed -i "s|@LONGVER@|%{version}|g" SRC/Makefile
119sed -i "s|@LONGVER@|%{version}|g" lapacke/Makefile
120
121%build
122RPM_OPT_O_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-O0|')
123# using gfortran
124export FC=gfortran
125
126# Build BLAS
127pushd BLAS/SRC
128FFLAGS="$RPM_OPT_O_FLAGS" make dcabs1.o
129FFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" make static
130cp libblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/
131make clean
132FFLAGS="$RPM_OPT_O_FLAGS -fPIC" make dcabs1.o
133FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" make shared
134cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
135popd
136
137ln -s libblas.so.%{version} libblas.so
138
139# Build the static dlamch, dsecnd, lsame, second, slamch bits
140pushd INSTALL
141make NOOPT="$RPM_OPT_O_FLAGS" OPTS="$RPM_OPT_FLAGS"
142popd
143
144# Build the static lapack library
145pushd SRC
146make FFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" static
147cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/
148popd
149
150# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits
151pushd INSTALL
152make clean
153make NOOPT="$RPM_OPT_O_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC"
154popd
155
156# Build the static with pic lapack library
157pushd SRC
158make clean
159make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
160cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic.a
161popd
162
163# Build the shared dlamch, dsecnd, lsame, second, slamch bits
164pushd INSTALL
165make clean
166make NOOPT="$RPM_OPT_O_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC"
167popd
168
169# Build the shared lapack library
170pushd SRC
171make clean
172make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" shared
173cp liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
174popd
175
176ln -s liblapack.so.%{version} liblapack.so
177
178# Build the lapacke libraries
179pushd lapacke
180make clean
181make CFLAGS="$RPM_OPT_FLAGS" lapacke
182cp liblapacke.a ${RPM_BUILD_DIR}/%{name}-%{version}/
183make clean
184make CFLAGS="$RPM_OPT_FLAGS -fPIC" shlib
185cp liblapacke.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
186popd
187
188cp -p %{SOURCE4} lapackqref.ps
189cp -p %{SOURCE5} blasqr.ps
190
191%install
192rm -fr ${RPM_BUILD_ROOT}
193mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
194mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man3
195chmod 755 ${RPM_BUILD_ROOT}%{_mandir}/man3
196
197for f in liblapack.so.%{version} libblas.so.%{version} liblapacke.so.%{version} libblas.a liblapack.a liblapack_pic.a liblapacke.a; do
198  cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
199done
200
201# Blas manpages
202pushd manpages/
203mkdir -p blas/man/man3
204cd man/man3/
205mv caxpy.f.3 CAXPY.3 ccopy.f.3 CCOPY.3 cdotc.f.3 CDOTC.3 cdotu.f.3 CDOTU.3 cgbmv.f.3 CGBMV.3 \
206cgemm.f.3 CGEMM.3 cgemv.f.3 CGEMV.3 cgerc.f.3 CGERC.3 cgeru.f.3 CGERU.3 chbmv.f.3 CHBMV.3 \
207chemm.f.3 CHEMM.3 chemv.f.3 CHEMV.3 cher.f.3 CHER.3 cher2.f.3 CHER2.3 cher2k.f.3 CHER2K.3 \
208cherk.f.3 CHERK.3 chpmv.f.3 CHPMV.3 chpr.f.3 CHPR.3 chpr2.f.3 CHPR2.3 crotg.f.3 CROTG.3 \
209cscal.f.3 CSCAL.3 csrot.f.3 CSROT.3 csscal.f.3 CSSCAL.3 cswap.f.3 CSWAP.3 csymm.f.3 \
210CSYMM.3 csyr2k.f.3 CSYR2K.3 csyrk.f.3 CSYRK.3 ctbmv.f.3 CTBMV.3 ctbsv.f.3 CTBSV.3 ctpmv.f.3 \
211CTPMV.3 ctpsv.f.3 CTPSV.3 ctrmm.f.3 CTRMM.3 ctrmv.f.3 CTRMV.3 ctrsm.f.3 CTRSM.3 ctrsv.f.3 \
212CTRSV.3 dasum.f.3 DASUM.3 daxpy.f.3 DAXPY.3 dcabs1.f.3 DCABS1.3 dcopy.f.3 DCOPY.3 ddot.f.3 \
213DDOT.3 dgbmv.f.3 DGBMV.3 dgemm.f.3 DGEMM.3 dgemv.f.3 DGEMV.3 dger.f.3 DGER.3 dnrm2.f.3 \
214DNRM2.3 drot.f.3 DROT.3 drotg.f.3 DROTG.3 drotm.f.3 DROTM.3 drotmg.f.3 DROTMG.3 dsbmv.f.3 \
215DSBMV.3 dscal.f.3 DSCAL.3 dsdot.f.3 DSDOT.3 dspmv.f.3 DSPMV.3 dspr.f.3 DSPR.3 dspr2.f.3 \
216DSPR2.3 dswap.f.3 DSWAP.3 dsymm.f.3 DSYMM.3 dsymv.f.3 DSYMV.3 dsyr.f.3 DSYR.3 dsyr2.f.3 \
217DSYR2.3 dsyr2k.f.3 DSYR2K.3 dsyrk.f.3 DSYRK.3 dtbmv.f.3 DTBMV.3 dtbsv.f.3 DTBSV.3 dtpmv.f.3 \
218DTPMV.3 dtpsv.f.3 DTPSV.3 dtrmm.f.3 DTRMM.3 dtrmv.f.3 DTRMV.3 dtrsm.f.3 DTRSM.3 dtrsv.f.3 \
219DTRSV.3 dzasum.f.3 DZASUM.3 dznrm2.f.3 DZNRM2.3 icamax.f.3 ICAMAX.3 idamax.f.3 IDAMAX.3 \
220isamax.f.3 ISAMAX.3 izamax.f.3 IZAMAX.3 LSAME.3 sasum.f.3 SASUM.3 saxpy.f.3 SAXPY.3 \
221scabs1.f.3 SCABS1.3 scasum.f.3 SCASUM.3 scnrm2.f.3 SCNRM2.3 scopy.f.3 SCOPY.3 sdot.f.3 SDOT.3 \
222sdsdot.f.3 SDSDOT.3 sgbmv.f.3 SGBMV.3 sgemm.f.3 SGEMM.3 sgemv.f.3 SGEMV.3 sger.f.3 SGER.3 \
223snrm2.f.3 SNRM2.3 srot.f.3 SROT.3 srotg.f.3 SROTG.3 srotm.f.3 SROTM.3 srotmg.f.3 SROTMG.3 \
224ssbmv.f.3 SSBMV.3 sscal.f.3 SSCAL.3 sspmv.f.3 SSPMV.3 sspr.f.3 SSPR.3 sspr2.f.3 SSPR2.3 \
225sswap.f.3 SSWAP.3 ssymm.f.3 SSYMM.3 ssymv.f.3 SSYMV.3 ssyr.f.3 SSYR.3 ssyr2.f.3 SSYR2.3 \
226ssyr2k.f.3 SSYR2K.3 ssyrk.f.3 SSYRK.3 stbmv.f.3 STBMV.3 stbsv.f.3 STBSV.3 stpmv.f.3 STPMV.3 \
227stpsv.f.3 STPSV.3 strmm.f.3 STRMM.3 strmv.f.3 STRMV.3 strsm.f.3 STRSM.3 strsv.f.3 STRSV.3 \
228XERBLA.3 XERBLA_ARRAY.3 zaxpy.f.3 ZAXPY.3 zcopy.f.3 ZCOPY.3 \
229zdotc.f.3 ZDOTC.3 zdotu.f.3 ZDOTU.3 zdrot.f.3 ZDROT.3 zdscal.f.3 ZDSCAL.3 zgbmv.f.3 ZGBMV.3 \
230zgemm.f.3 ZGEMM.3 zgemv.f.3 ZGEMV.3 zgerc.f.3 ZGERC.3 zgeru.f.3 ZGERU.3 zhbmv.f.3 ZHBMV.3 \
231zhemm.f.3 ZHEMM.3 zhemv.f.3 ZHEMV.3 zher.f.3 ZHER.3 zher2.f.3 ZHER2.3 zher2k.f.3 ZHER2K.3 \
232zherk.f.3 ZHERK.3 zhpmv.f.3 ZHPMV.3 zhpr.f.3 ZHPR.3 zhpr2.f.3 ZHPR2.3 zrotg.f.3 ZROTG.3 \
233zscal.f.3 ZSCAL.3 zswap.f.3 ZSWAP.3 zsymm.f.3 ZSYMM.3 zsyr2k.f.3 ZSYR2K.3 zsyrk.f.3 ZSYRK.3 \
234ztbmv.f.3 ZTBMV.3 ztbsv.f.3 ZTBSV.3 ztpmv.f.3 ZTPMV.3 ztpsv.f.3 ZTPSV.3 ztrmm.f.3 ZTRMM.3 \
235ztrmv.f.3 ZTRMV.3 ztrsm.f.3 ZTRSM.3 ztrsv.f.3 ZTRSV.3 ../../blas/man/man3
236cd ../..
237popd
238
239find manpages/blas/man/man3 -type f -printf "%{_mandir}/man3/%f*\n" > blasmans
240
241find manpages/man/man3 -type f -printf "%{_mandir}/man3/%f*\n" > lapackmans
242
243cp -f manpages/blas/man/man3/* ${RPM_BUILD_ROOT}%{_mandir}/man3
244cp -f manpages/man/man3/* ${RPM_BUILD_ROOT}%{_mandir}/man3
245
246# Lapacke headers
247mkdir -p %{buildroot}%{_includedir}/lapacke/
248cp -a lapacke/include/*.h %{buildroot}%{_includedir}/lapacke/
249
250cd ${RPM_BUILD_ROOT}%{_libdir}
251ln -sf liblapack.so.%{version} liblapack.so
252ln -sf liblapack.so.%{version} liblapack.so.%{shortver}
253ln -sf liblapack.so.%{version} liblapack.so.%{mediumver}
254ln -sf liblapacke.so.%{version} liblapacke.so
255ln -sf liblapacke.so.%{version} liblapacke.so.%{shortver}
256ln -sf liblapacke.so.%{version} liblapacke.so.%{mediumver}
257ln -sf libblas.so.%{version} libblas.so
258ln -sf libblas.so.%{version} libblas.so.%{shortver}
259ln -sf libblas.so.%{version} libblas.so.%{mediumver}
260
261%post -p /sbin/ldconfig
262
263%postun -p /sbin/ldconfig
264
265%post -n blas -p /sbin/ldconfig
266
267%postun -n blas -p /sbin/ldconfig
268
269%clean
270rm -fr ${RPM_BUILD_ROOT}
271
272%files -f lapackmans
273%defattr(-,root,root)
274%doc README LICENSE lapackqref.ps
275%dir %{_mandir}/man3/
276%{_libdir}/liblapack.so.*
277%{_libdir}/liblapacke.so.*
278
279%files devel
280%defattr(-,root,root,-)
281%{_includedir}/lapacke/
282%{_libdir}/liblapack.so
283%{_libdir}/liblapacke.so
284
285%files static
286%defattr(-,root,root,-)
287%{_libdir}/liblapack*.a
288
289%files -n blas -f blasmans
290%defattr(-,root,root)
291%doc blasqr.ps LICENSE
292%dir %{_mandir}/man3/
293%{_libdir}/libblas.so.*
294
295%files -n blas-devel
296%defattr(-,root,root,-)
297%{_libdir}/libblas.so
298
299%files -n blas-static
300%defattr(-,root,root,-)
301%{_libdir}/libblas*.a
302
303%changelog
304* Thu Feb 23 2012 NAKAMURA Kenta <kenta@vinelinux.org> 3.4.0-1
305- update to 3.4.0
306- build and include lapacke
307
308* Sat Nov 26 2011 NAKAMURA Kenta <kenta@vinelinux.org> 3.3.1-1
309- new upstream release
310- update package descriptions
311
312* Fri Feb 19 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.2.1-1
313- new upstream release
314- built with new toolchain
315- added SOURCE1
316
317* Wed Sep 24 2008 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.1.1-2
318- applied new versioning policy
319- spec in UTF-8
320
321* Wed Aug 15 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.1.1-1vl3
322- rebuilt for VineSeed
323
324* Wed Aug 15 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.1.1-1vl2
325- rebuilt for VinePlus/4.0
326- added Patch4, Source102 and Source103 for compiling in g77
327- added BuildRequires: coreutils, findutils
328
329* Tue Aug  7 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.1.1-1vl1
330- new upstream release based on Fedora packages
331  * Wed Sep 14 2005 Tom "spot" Callaway <tcallawa@redhat.com> 3.0-30
332  - make -devel packages
333  - make liblapack_pic.a package
334  * Wed Aug 20 2003 Jeremy Katz <katzj@redhat.com> 3.0-22
335  - nuke -man subpackages (#97506)
336- rebuilt with gfortran
337
338* Thu Dec 26 2003 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.0-17vl3
339- rebuild with new toolchains
340
341* Mon Oct 13 2003 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.0-17vl2
342- rebuild with new toolchains
343
344* Thu Jul 18 2002 KOBAYASHI R. Taizo <tkoba@vinelinux.org> 3.0-17vl1
345- modified for Vine.
346
347* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
348- automated rebuild
349
350* Thu May 23 2002 Tim Powers <timp@redhat.com>
351- automated rebuild
352
353* Wed May  1 2002 Trond Eivind Glomsr� <teg@redhat.com> 3.0-15
354- Rebuild
355
356* Wed Feb 27 2002 Fuhito Suguri <bitwalk@jcom.home.ne.jp>       3.0-14bw
357- rebuild for RH7.2.
358
359* Wed Jan 09 2002 Tim Powers <timp@redhat.com>
360- automated rebuild
361
362* Mon Aug 13 2001 Trond Eivind Glomsrod <teg@redhat.com> 3.0-12
363- The man-pages for xerbla and lsame were in blas-man and lapack-man (#51605)
364
365* Fri Jun  8 2001 Trond Eivind Glomsrod <teg@redhat.com>
366- Reenable optimization for IA64
367
368* Fri May 25 2001 Trond Eivind Glomsrod <teg@redhat.com>
369- Add all patches from the LAPACK site as of 2001-05-25
370- Use this workaround for IA64 instead
371- Remove SPARC workaround
372- Don't exclude IA64
373
374* Thu Dec 07 2000 Trond Eivind Glomsrod <teg@redhat.com>
375- rebuild for main distribution
376
377* Mon Nov 20 2000 Trond Eivind Glomsrod <teg@redhat.com>
378- add the LAPACK Quick Reference Guide to the docs
379- add the BLAS Quick Reference Guide to the docs
380
381* Tue Aug 01 2000 Trond Eivind Glomsrod <teg@redhat.com>
382- fix lack of ldconfig in postuninstall script
383
384* Mon Jul 24 2000 Prospector <prospector@redhat.com>
385- rebuilt
386
387* Mon Jul 10 2000 Trond Eivind Glomsrod <teg@redhat.com>
388- updated with the latest updates (new tarfile..) from netlib
389
390* Thu Jun 15 2000 Trond Eivind Glomsrod <teg@redhat.com>
391- use %%{_mandir}
392- added some flags to work around SPARC compiler bug
393
394* Wed Jan 19 2000 Tim Powers <timp@redhat.com>
395- bzipped sources to conserve space
396
397* Tue Jan  4 2000 Jeff Johnson <jbj@redhat.com>
398- build for PowerTools 6.2.
399
400* Sat Dec 25 1999 Joachim Frieben <jfrieben@hotmail.com>
401- updated to version v3.0 + update as of Tue Nov 30 1999
402
403* Sat Oct 23 1999 Joachim Frieben <jfrieben@hotmail.com>
404- updated Red Hat makefiles to v3.0
405
406* Mon Aug 2 1999 Tim Powers <timp@redhat.com>
407- updated to v3.0
408- built for 6.1
409
410* Mon Apr 12 1999 Michael Maher <mike@redhat.com>
411- built package for 6.0
412
413* Sat Oct 24 1998 Jeff Johnson <jbj@redhat.com>
414- new description/summary text.
415
416* Fri Jul 17 1998 Jeff Johnson <jbj@redhat.com>
417- repackage for powertools.
418
419* Sun Feb 15 1998 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
420 [lapack-2.0-9]
421 - No code updates, just built with a customized rpm -
422   this should make dependencies right.
423
424* Sat Feb 07 1998 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
425 [lapack-2.0-8]
426 - Total rewrite of the spec file
427 - Added my own makefiles - libs should build better,
428   static libs should work (and be faster than they
429        would be if they had worked earlier ;)
430 - No patch necessary anymore.
431 - Renamed lapack-blas and lapack-blas-man to
432   blas and blas-man. "Obsoletes:" tag added.
433   (oh - and as always: Dedicated to the girl I
434   love, Eline Skirnisdottir)
435
436* Sat Dec 06 1997 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
437 [lapack-2.0-7]
438  - added a dependency to glibc, so people don't try with libc5
439
440* Thu Nov 20 1997 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
441  [lapack-2.0-6]
442  - removed etime.c
443  - compiled with egcs, and for glibc 2.0
444
445* Sun Oct 12 1997 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
446  [lapack-2.0-5]
447  - added a changelog
448  - cleaned up building of shared libs
449  - now uses a BuildRoot
450  - cleaned up the specfile
Note: See TracBrowser for help on using the repository browser.