Summary: The LAPACK libraries for numerical linear algebra. Name: lapack Version: 3.2.1 Release: 1%{?_dist_release} License: Freely distributable Group: Development/Libraries URL: http://www.netlib.org/lapack/ Source0: http://www.netlib.org/lapack/lapack-%{version}.tgz Source1: http://www.netlib.org/lapack/manpages.tgz Source2: Makefile.blas Source3: Makefile.lapack Source4: http://www.netlib.org/lapack/lapackqref.ps Source5: http://www.netlib.org/blas/blasqr.ps # for g77 Source102: Makefile.blas.g77 Source103: Makefile.lapack.g77 Patch3: lapack-3.1.1-make.inc.patch # for g77 Patch4: lapack-3.1.1-make.inc.g77.patch Obsoletes: lapack-man %if %{?_dist_release} != "vl4" BuildRequires: gcc-gfortran %else BuildRequires: gcc-g77 %endif BuildRequires: coreutils findutils BuildRoot: %{_tmppath}/%{name}-%{version}-root Vendor: Project Vine Distribution: Vine Linux %description LAPACK (Linear Algebra PACKage) is a standard library for numerical linear algebra. LAPACK provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. Associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, and generalized Schur) and related computations (i.e., reordering of Schur factorizations and estimating condition numbers) are also included. LAPACK can handle dense and banded matrices, but not general sparse matrices. Similar functionality is provided for real and complex matrices in both single and double precision. LAPACK is coded in Fortran77 and built with gcc. %description -l ja LAPACK(Linear Algebra PACKage)は線形代数用数値計算の標準ライブラリです。 LAPACKには、連立一次方程式、線形最小二乗解、固有値問題、特異値問題を解く ためのルーチンがあります。関連する行列因子分解(LU、Cholesky、QR、SVD、 Schur、一般化Schur)と、それに関連する計算処理 (つまりSchur分解の再配列 およびコンディションナンバーの推定)も含まれます。LAPACKは密なbanded行列は 処理できますが、一般的な疎行列は処理できません。同じ計算機能が、実行列 および複素行列の単制度および倍精度で利用できます。LAPACKはFortran 77で 記述され、gccでビルドされています。 %package devel Summary: LAPACK development libraries Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: blas-devel = %{version}-%{release} %description devel LAPACK development libraries for applications that link statically. %package static Summary: LAPACK static libraries Group: Development/Libraries %description static LAPACK static libraries. %package -n blas Summary: The BLAS (Basic Linear Algebra Subprograms) library. Group: Development/Libraries Obsoletes: lapack-blas blas-man %description -n blas BLAS (Basic Linear Algebra Subprograms) is a standard library which provides a number of basic algorithms for numerical algebra. Man pages for blas are available in the blas-man package. %description -n blas -l ja BLAS(Basic Linear Algebra Subprograms)は数値代数計算の標準ライブラリです。BLASでは、線形代数計算における多くの基本アルゴリズムを利用できます。Blasの計算は高速で十分テストされているFORTRAN 77のプログラムで、gccでビルドされています。Blasのマニュアルページはblas-manパッケージにあります。 %description -n blas BLAS (Basic Linear Algebra Subprograms) is a standard library which provides a number of basic algorithms for numerical algebra. Man pages for blas are available in the blas-man package. %package -n blas-devel Summary: LAPACK development libraries Group: Development/Libraries Requires: blas = %{version}-%{release} %if %{?_dist_release} != "vl4" Requires: gcc-gfortran %else Requires: gcc-g77 %endif %description -n blas-devel BLAS development libraries for applications that link statically. %package -n blas-static Summary: BLAS static libraries Group: Development/Libraries %description -n blas-static BLAS static libraries. #package -n blas-man #Summary: Man pages for BLAS (Basic Linear Algebra Subprograms) routines. #Group: Applications/Documentation #Obsoletes: lapack-blas-man #description -n blas-man #The blas-man package contains documentation for BLAS (Basic Linear #Algebra Subprograms) routines in the form of man pages. #description -n blas-man -l ja #blas-manパッケージは、man ページ形式のBLAS (Basic Linear Algebra Subprograms)ルーチンのマニュアルです。 #package man #Summary: Documentation for the LAPACK numerical linear algebra libraries. #Group: Applications/Documentation #description man #Documentation, in the form of man pages, for the LAPACK numerical #linear algebra libraries. #description man -l ja #Manページ形式の線型代数用数値計算ライブラリLAPACKのマニュアルです。 %prep %setup -q %setup -q -D -T -a1 %if %{?_dist_release} != "vl4" # using gfortran %patch3 -p1 cp -f INSTALL/make.inc.gfortran make.inc cp -f %{SOURCE2} BLAS/SRC/Makefile cp -f %{SOURCE3} SRC/Makefile %else # using g77 %patch4 -p1 cp -f %{SOURCE102} BLAS/SRC/Makefile cp -f %{SOURCE103} SRC/Makefile %endif mv lapack-3.2.0/manpages/ manpages/ #Empty rm -f manpages/man/manl/zbcon.l %build RPM_OPT_O_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-O0|') %if %{?_dist_release} != "vl4" # using gfortran export FC=gfortran %else # using g77 export FC=g77 %endif # Build BLAS pushd BLAS/SRC FFLAGS="$RPM_OPT_O_FLAGS" make dcabs1.o FFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" make static cp libblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/ make clean FFLAGS="$RPM_OPT_O_FLAGS -fPIC" make dcabs1.o FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" make shared cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/ popd ln -s libblas.so.%{version} libblas.so # Build the static dlamch, dsecnd, lsame, second, slamch bits pushd INSTALL make NOOPT="$RPM_OPT_O_FLAGS" OPTS="$RPM_OPT_FLAGS" popd # Build the static lapack library pushd SRC make FFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" static cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/ popd # Build the static with pic dlamch, dsecnd, lsame, second, slamch bits pushd INSTALL make clean make NOOPT="$RPM_OPT_O_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC" popd # Build the static with pic lapack library pushd SRC make clean make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" static cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic.a popd # Build the shared dlamch, dsecnd, lsame, second, slamch bits pushd INSTALL make clean make NOOPT="$RPM_OPT_O_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC" popd # Build the shared lapack library pushd SRC make clean make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" shared cp liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/ popd cp -p %{SOURCE4} lapackqref.ps cp -p %{SOURCE5} blasqr.ps %install rm -fr $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_libdir} mkdir -p $RPM_BUILD_ROOT%{_mandir}/manl for f in liblapack.so.%{version} libblas.so.%{version} libblas.a liblapack.a liblapack_pic.a; do cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f done find manpages/blas/man/manl -type f -printf "%{_mandir}/manl/%f*\n" > blasmans # These are also in the BLAS package rm -f manpages/man/manl/lsame.l* rm -f manpages/man/manl/xerbla.l* find manpages/man/manl -type f -printf "%{_mandir}/manl/%f*\n" > lapackmans cp -f manpages/blas/man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl cp -f manpages/man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl cd ${RPM_BUILD_ROOT}%{_libdir} ln -sf liblapack.so.%{version} liblapack.so ln -sf liblapack.so.%{version} liblapack.so.3 ln -sf liblapack.so.%{version} liblapack.so.3.2 ln -sf libblas.so.%{version} libblas.so ln -sf libblas.so.%{version} libblas.so.3 ln -sf libblas.so.%{version} libblas.so.3.2 %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %post -n blas -p /sbin/ldconfig %postun -n blas -p /sbin/ldconfig %clean rm -fr $RPM_BUILD_ROOT %files -f lapackmans %defattr(-,root,root) %doc README lapackqref.ps %{_libdir}/liblapack.so.* %files devel %defattr(-,root,root,-) %{_libdir}/liblapack.so %files static %defattr(-,root,root,-) %{_libdir}/liblapack*.a %files -n blas -f blasmans %defattr(-,root,root) %doc blasqr.ps %{_libdir}/libblas.so.* %files -n blas-devel %defattr(-,root,root,-) %{_libdir}/libblas.so %files -n blas-static %defattr(-,root,root,-) %{_libdir}/libblas*.a #%files -n blas-man -f blasmans #%defattr(-,root,root) #%files man -f lapackmans #%defattr(-,root,root) %changelog * Fri Feb 19 2010 Ryoichi INAGAKI 3.2.1-1 - new upstream release - built with new toolchain - added SOURCE1 * Wed Sep 24 2008 Ryoichi INAGAKI 3.1.1-2 - applied new versioning policy - spec in UTF-8 * Wed Aug 15 2007 Ryoichi INAGAKI 3.1.1-1vl3 - rebuilt for VineSeed * Wed Aug 15 2007 Ryoichi INAGAKI 3.1.1-1vl2 - rebuilt for VinePlus/4.0 - added Patch4, Source102 and Source103 for compiling in g77 - added BuildRequires: coreutils, findutils * Tue Aug 7 2007 Ryoichi INAGAKI 3.1.1-1vl1 - new upstream release based on Fedora packages * Wed Sep 14 2005 Tom "spot" Callaway 3.0-30 - make -devel packages - make liblapack_pic.a package * Wed Aug 20 2003 Jeremy Katz 3.0-22 - nuke -man subpackages (#97506) - rebuilt with gfortran * Thu Dec 26 2003 Ryoichi INAGAKI 3.0-17vl3 - rebuild with new toolchains * Mon Oct 13 2003 Ryoichi INAGAKI 3.0-17vl2 - rebuild with new toolchains * Thu Jul 18 2002 KOBAYASHI R. Taizo 3.0-17vl1 - modified for Vine. * Fri Jun 21 2002 Tim Powers - automated rebuild * Thu May 23 2002 Tim Powers - automated rebuild * Wed May 1 2002 Trond Eivind Glomsr� 3.0-15 - Rebuild * Wed Feb 27 2002 Fuhito Suguri 3.0-14bw - rebuild for RH7.2. * Wed Jan 09 2002 Tim Powers - automated rebuild * Mon Aug 13 2001 Trond Eivind Glomsrod 3.0-12 - The man-pages for xerbla and lsame were in blas-man and lapack-man (#51605) * Fri Jun 8 2001 Trond Eivind Glomsrod - Reenable optimization for IA64 * Fri May 25 2001 Trond Eivind Glomsrod - Add all patches from the LAPACK site as of 2001-05-25 - Use this workaround for IA64 instead - Remove SPARC workaround - Don't exclude IA64 * Thu Dec 07 2000 Trond Eivind Glomsrod - rebuild for main distribution * Mon Nov 20 2000 Trond Eivind Glomsrod - add the LAPACK Quick Reference Guide to the docs - add the BLAS Quick Reference Guide to the docs * Tue Aug 01 2000 Trond Eivind Glomsrod - fix lack of ldconfig in postuninstall script * Mon Jul 24 2000 Prospector - rebuilt * Mon Jul 10 2000 Trond Eivind Glomsrod - updated with the latest updates (new tarfile..) from netlib * Thu Jun 15 2000 Trond Eivind Glomsrod - use %%{_mandir} - added some flags to work around SPARC compiler bug * Wed Jan 19 2000 Tim Powers - bzipped sources to conserve space * Tue Jan 4 2000 Jeff Johnson - build for PowerTools 6.2. * Sat Dec 25 1999 Joachim Frieben - updated to version v3.0 + update as of Tue Nov 30 1999 * Sat Oct 23 1999 Joachim Frieben - updated Red Hat makefiles to v3.0 * Mon Aug 2 1999 Tim Powers - updated to v3.0 - built for 6.1 * Mon Apr 12 1999 Michael Maher - built package for 6.0 * Sat Oct 24 1998 Jeff Johnson - new description/summary text. * Fri Jul 17 1998 Jeff Johnson - repackage for powertools. * Sun Feb 15 1998 Trond Eivind Glomsrod [lapack-2.0-9] - No code updates, just built with a customized rpm - this should make dependencies right. * Sat Feb 07 1998 Trond Eivind Glomsrod [lapack-2.0-8] - Total rewrite of the spec file - Added my own makefiles - libs should build better, static libs should work (and be faster than they would be if they had worked earlier ;) - No patch necessary anymore. - Renamed lapack-blas and lapack-blas-man to blas and blas-man. "Obsoletes:" tag added. (oh - and as always: Dedicated to the girl I love, Eline Skirnisdottir) * Sat Dec 06 1997 Trond Eivind Glomsrod [lapack-2.0-7] - added a dependency to glibc, so people don't try with libc5 * Thu Nov 20 1997 Trond Eivind Glomsrod [lapack-2.0-6] - removed etime.c - compiled with egcs, and for glibc 2.0 * Sun Oct 12 1997 Trond Eivind Glomsrod [lapack-2.0-5] - added a changelog - cleaned up building of shared libs - now uses a BuildRoot - cleaned up the specfile