source: projects/specs/trunk/l/lapack/lapack-vl.spec @ 5737

Revision 5737, 11.8 KB checked in by kenta, 12 years ago (diff)

lapack: new upstream release

Line 
1%global shortver       3
2%global mediumver      %{shortver}.3
3
4Summary: The LAPACK libraries for numerical linear algebra.
5Name:    lapack
6Version: %{mediumver}.1
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.1.1-make.inc.patch
18Obsoletes: lapack-man
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
39Fortran77 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 77で
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
63
64%description static
65LAPACK static libraries.
66
67%package -n blas
68Summary: The BLAS (Basic Linear Algebra Subprograms) library.
69Group: Development/Libraries
70Obsoletes: lapack-blas blas-man
71
72%description -n blas
73BLAS (Basic Linear Algebra Subprograms) is a standard library which
74provides a number of basic algorithms for numerical algebra. Man
75pages for blas are available in the blas-man package.
76
77%description -n blas -l ja
78BLAS(Basic Linear Algebra Subprograms)は数値代数計算の標準ライブラリです。BLASでは、線形代数計算における多くの基本アルゴリズムを利用できます。Blasの計算は高速で十分テストされているFORTRAN 77のプログラムで、gccでビルドされています。
79
80%description -n blas
81BLAS (Basic Linear Algebra Subprograms) is a standard library which
82provides a number of basic algorithms for numerical algebra.
83
84%package -n blas-devel
85Summary: LAPACK development libraries
86Group: Development/Libraries
87Requires: blas = %{version}-%{release}
88Requires: gcc-gfortran
89
90%description -n blas-devel
91BLAS development libraries (shared).
92
93%package -n blas-static
94Summary: BLAS static libraries
95Group: Development/Libraries
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
105cp -f INSTALL/make.inc.gfortran make.inc
106cp -f %{SOURCE2} BLAS/SRC/Makefile
107cp -f %{SOURCE3} SRC/Makefile
108
109sed -i "s|@SHORTVER@|%{shortver}|g" BLAS/SRC/Makefile
110sed -i "s|@SHORTVER@|%{shortver}|g" SRC/Makefile
111sed -i "s|@LONGVER@|%{version}|g" BLAS/SRC/Makefile
112sed -i "s|@LONGVER@|%{version}|g" SRC/Makefile
113
114#Empty
115rm -f manpages/man/manl/zbcon.l
116
117%build
118
119RPM_OPT_O_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-O0|')
120# using gfortran
121export FC=gfortran
122
123# Build BLAS
124pushd BLAS/SRC
125FFLAGS="$RPM_OPT_O_FLAGS" make dcabs1.o
126FFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" make static
127cp libblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/
128make clean
129FFLAGS="$RPM_OPT_O_FLAGS -fPIC" make dcabs1.o
130FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" make shared
131cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
132popd
133
134ln -s libblas.so.%{version} libblas.so
135
136# Build the static dlamch, dsecnd, lsame, second, slamch bits
137pushd INSTALL
138make NOOPT="$RPM_OPT_O_FLAGS" OPTS="$RPM_OPT_FLAGS"
139popd
140
141# Build the static lapack library
142pushd SRC
143make FFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" static
144cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/
145popd
146
147# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits
148pushd INSTALL
149make clean
150make NOOPT="$RPM_OPT_O_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC"
151popd
152
153# Build the static with pic lapack library
154pushd SRC
155make clean
156make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
157cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic.a
158popd
159
160# Build the shared dlamch, dsecnd, lsame, second, slamch bits
161pushd INSTALL
162make clean
163make NOOPT="$RPM_OPT_O_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC"
164popd
165
166# Build the shared lapack library
167pushd SRC
168make clean
169make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" shared
170cp liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
171popd
172
173cp -p %{SOURCE4} lapackqref.ps
174cp -p %{SOURCE5} blasqr.ps
175
176%install
177rm -fr ${RPM_BUILD_ROOT}
178mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
179mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/manl
180chmod 755 ${RPM_BUILD_ROOT}%{_mandir}/manl
181
182for f in liblapack.so.%{version} libblas.so.%{version} libblas.a liblapack.a liblapack_pic.a; do
183  cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
184done
185
186find manpages/blas/man/manl -type f -printf "%{_mandir}/manl/%f*\n" > blasmans
187
188# These are also in the BLAS package
189rm -f manpages/man/manl/lsame.l*
190rm -f manpages/man/manl/xerbla.l*
191find manpages/man/manl -type f -printf "%{_mandir}/manl/%f*\n" > lapackmans
192
193cp -f manpages/blas/man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl
194cp -f manpages/man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl
195
196cd ${RPM_BUILD_ROOT}%{_libdir}
197ln -sf liblapack.so.%{version} liblapack.so
198ln -sf liblapack.so.%{version} liblapack.so.%{shortver}
199ln -sf liblapack.so.%{version} liblapack.so.%{mediumver}
200ln -sf libblas.so.%{version} libblas.so
201ln -sf libblas.so.%{version} libblas.so.%{shortver}
202ln -sf libblas.so.%{version} libblas.so.%{mediumver}
203
204%post -p /sbin/ldconfig
205
206%postun -p /sbin/ldconfig
207
208%post -n blas -p /sbin/ldconfig
209
210%postun -n blas -p /sbin/ldconfig
211
212%clean
213rm -fr ${RPM_BUILD_ROOT}
214
215%files -f lapackmans
216%defattr(-,root,root)
217%doc README LICENSE lapackqref.ps
218%dir %{_mandir}/manl/
219%{_libdir}/liblapack.so.*
220
221%files devel
222%defattr(-,root,root,-)
223%{_libdir}/liblapack.so
224
225%files static
226%defattr(-,root,root,-)
227%{_libdir}/liblapack*.a
228
229%files -n blas -f blasmans
230%defattr(-,root,root)
231%doc blasqr.ps LICENSE
232%dir %{_mandir}/manl/
233%{_libdir}/libblas.so.*
234
235%files -n blas-devel
236%defattr(-,root,root,-)
237%{_libdir}/libblas.so
238
239%files -n blas-static
240%defattr(-,root,root,-)
241%{_libdir}/libblas*.a
242
243%changelog
244* Sat Nov 26 2011 NAKAMURA Kenta <kenta@vinelinux.org> 3.3.1-1
245- new upstream release
246- update package descriptions
247
248* Fri Feb 19 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.2.1-1
249- new upstream release
250- built with new toolchain
251- added SOURCE1
252
253* Wed Sep 24 2008 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.1.1-2
254- applied new versioning policy
255- spec in UTF-8
256
257* Wed Aug 15 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.1.1-1vl3
258- rebuilt for VineSeed
259
260* Wed Aug 15 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.1.1-1vl2
261- rebuilt for VinePlus/4.0
262- added Patch4, Source102 and Source103 for compiling in g77
263- added BuildRequires: coreutils, findutils
264
265* Tue Aug  7 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.1.1-1vl1
266- new upstream release based on Fedora packages
267  * Wed Sep 14 2005 Tom "spot" Callaway <tcallawa@redhat.com> 3.0-30
268  - make -devel packages
269  - make liblapack_pic.a package
270  * Wed Aug 20 2003 Jeremy Katz <katzj@redhat.com> 3.0-22
271  - nuke -man subpackages (#97506)
272- rebuilt with gfortran
273
274* Thu Dec 26 2003 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.0-17vl3
275- rebuild with new toolchains
276
277* Mon Oct 13 2003 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.0-17vl2
278- rebuild with new toolchains
279
280* Thu Jul 18 2002 KOBAYASHI R. Taizo <tkoba@vinelinux.org> 3.0-17vl1
281- modified for Vine.
282
283* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
284- automated rebuild
285
286* Thu May 23 2002 Tim Powers <timp@redhat.com>
287- automated rebuild
288
289* Wed May  1 2002 Trond Eivind Glomsr� <teg@redhat.com> 3.0-15
290- Rebuild
291
292* Wed Feb 27 2002 Fuhito Suguri <bitwalk@jcom.home.ne.jp>       3.0-14bw
293- rebuild for RH7.2.
294
295* Wed Jan 09 2002 Tim Powers <timp@redhat.com>
296- automated rebuild
297
298* Mon Aug 13 2001 Trond Eivind Glomsrod <teg@redhat.com> 3.0-12
299- The man-pages for xerbla and lsame were in blas-man and lapack-man (#51605)
300
301* Fri Jun  8 2001 Trond Eivind Glomsrod <teg@redhat.com>
302- Reenable optimization for IA64
303
304* Fri May 25 2001 Trond Eivind Glomsrod <teg@redhat.com>
305- Add all patches from the LAPACK site as of 2001-05-25
306- Use this workaround for IA64 instead
307- Remove SPARC workaround
308- Don't exclude IA64
309
310* Thu Dec 07 2000 Trond Eivind Glomsrod <teg@redhat.com>
311- rebuild for main distribution
312
313* Mon Nov 20 2000 Trond Eivind Glomsrod <teg@redhat.com>
314- add the LAPACK Quick Reference Guide to the docs
315- add the BLAS Quick Reference Guide to the docs
316
317* Tue Aug 01 2000 Trond Eivind Glomsrod <teg@redhat.com>
318- fix lack of ldconfig in postuninstall script
319
320* Mon Jul 24 2000 Prospector <prospector@redhat.com>
321- rebuilt
322
323* Mon Jul 10 2000 Trond Eivind Glomsrod <teg@redhat.com>
324- updated with the latest updates (new tarfile..) from netlib
325
326* Thu Jun 15 2000 Trond Eivind Glomsrod <teg@redhat.com>
327- use %%{_mandir}
328- added some flags to work around SPARC compiler bug
329
330* Wed Jan 19 2000 Tim Powers <timp@redhat.com>
331- bzipped sources to conserve space
332
333* Tue Jan  4 2000 Jeff Johnson <jbj@redhat.com>
334- build for PowerTools 6.2.
335
336* Sat Dec 25 1999 Joachim Frieben <jfrieben@hotmail.com>
337- updated to version v3.0 + update as of Tue Nov 30 1999
338
339* Sat Oct 23 1999 Joachim Frieben <jfrieben@hotmail.com>
340- updated Red Hat makefiles to v3.0
341
342* Mon Aug 2 1999 Tim Powers <timp@redhat.com>
343- updated to v3.0
344- built for 6.1
345
346* Mon Apr 12 1999 Michael Maher <mike@redhat.com>
347- built package for 6.0
348
349* Sat Oct 24 1998 Jeff Johnson <jbj@redhat.com>
350- new description/summary text.
351
352* Fri Jul 17 1998 Jeff Johnson <jbj@redhat.com>
353- repackage for powertools.
354
355* Sun Feb 15 1998 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
356 [lapack-2.0-9]
357 - No code updates, just built with a customized rpm -
358   this should make dependencies right.
359
360* Sat Feb 07 1998 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
361 [lapack-2.0-8]
362 - Total rewrite of the spec file
363 - Added my own makefiles - libs should build better,
364   static libs should work (and be faster than they
365        would be if they had worked earlier ;)
366 - No patch necessary anymore.
367 - Renamed lapack-blas and lapack-blas-man to
368   blas and blas-man. "Obsoletes:" tag added.
369   (oh - and as always: Dedicated to the girl I
370   love, Eline Skirnisdottir)
371
372* Sat Dec 06 1997 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
373 [lapack-2.0-7]
374  - added a dependency to glibc, so people don't try with libc5
375
376* Thu Nov 20 1997 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
377  [lapack-2.0-6]
378  - removed etime.c
379  - compiled with egcs, and for glibc 2.0
380
381* Sun Oct 12 1997 Trond Eivind Glomsrod <teg@pvv.ntnu.no>
382  [lapack-2.0-5]
383  - added a changelog
384  - cleaned up building of shared libs
385  - now uses a BuildRoot
386  - cleaned up the specfile
Note: See TracBrowser for help on using the repository browser.