|
@@ -1,9 +1,9 @@
|
|
%global shortver 3
|
|
%global shortver 3
|
|
-%global mediumver %{shortver}.3
|
|
+%global mediumver %{shortver}.4
|
|
|
|
|
|
Summary: The LAPACK libraries for numerical linear algebra.
|
|
Summary: The LAPACK libraries for numerical linear algebra.
|
|
Name: lapack
|
|
Name: lapack
|
|
-Version: %{mediumver}.1
|
|
+Version: %{mediumver}.0
|
|
Release: 1%{?_dist_release}
|
|
Release: 1%{?_dist_release}
|
|
License: Freely distributable
|
|
License: Freely distributable
|
|
Group: Development/Libraries
|
|
Group: Development/Libraries
|
|
@@ -14,8 +14,8 @@ Source2: Makefile.blas
|
|
Source3: Makefile.lapack
|
|
Source3: Makefile.lapack
|
|
Source4: http://www.netlib.org/lapack/lapackqref.ps
|
|
Source4: http://www.netlib.org/lapack/lapackqref.ps
|
|
Source5: http://www.netlib.org/blas/blasqr.ps
|
|
Source5: http://www.netlib.org/blas/blasqr.ps
|
|
-Patch3: lapack-3.1.1-make.inc.patch
|
|
+Patch3: lapack-3.4.0-make.inc.patch
|
|
-Obsoletes: lapack-man
|
|
+Patch4: lapack-3.4.0-lapacke-shared.patch
|
|
BuildRequires: gcc-gfortran
|
|
BuildRequires: gcc-gfortran
|
|
BuildRequires: coreutils findutils
|
|
BuildRequires: coreutils findutils
|
|
|
|
|
|
@@ -36,7 +36,7 @@ Schur factorizations and estimating condition numbers) are also
|
|
included. LAPACK can handle dense and banded matrices, but not general
|
|
included. LAPACK can handle dense and banded matrices, but not general
|
|
sparse matrices. Similar functionality is provided for real and complex
|
|
sparse matrices. Similar functionality is provided for real and complex
|
|
matrices in both single and double precision. LAPACK is coded in
|
|
matrices in both single and double precision. LAPACK is coded in
|
|
-Fortran77 and built with gcc.
|
|
+Fortran90 and built with gcc.
|
|
|
|
|
|
%description -l ja
|
|
%description -l ja
|
|
LAPACK(Linear Algebra PACKage)は線形代数用数値計算の標準ライブラリです。
|
|
LAPACK(Linear Algebra PACKage)は線形代数用数値計算の標準ライブラリです。
|
|
@@ -45,7 +45,7 @@ LAPACKには、連立一次方程式、線形最小二乗解、固有値問題
|
|
Schur、一般化Schur)と、それに関連する計算処理 (つまりSchur分解の再配列
|
|
Schur、一般化Schur)と、それに関連する計算処理 (つまりSchur分解の再配列
|
|
およびコンディションナンバーの推定)も含まれます。LAPACKは密なbanded行列は
|
|
およびコンディションナンバーの推定)も含まれます。LAPACKは密なbanded行列は
|
|
処理できますが、一般的な疎行列は処理できません。同じ計算機能が、実行列
|
|
処理できますが、一般的な疎行列は処理できません。同じ計算機能が、実行列
|
|
-および複素行列の単制度および倍精度で利用できます。LAPACKはFortran 77で
|
|
+および複素行列の単制度および倍精度で利用できます。LAPACKはFortran 90で
|
|
記述され、gccでビルドされています。
|
|
記述され、gccでビルドされています。
|
|
|
|
|
|
%package devel
|
|
%package devel
|
|
@@ -60,6 +60,7 @@ LAPACK development libraries (shared).
|
|
%package static
|
|
%package static
|
|
Summary: LAPACK static libraries
|
|
Summary: LAPACK static libraries
|
|
Group: Development/Libraries
|
|
Group: Development/Libraries
|
|
|
|
+Requires: %{name}-devel = %{version}-%{release}
|
|
|
|
|
|
%description static
|
|
%description static
|
|
LAPACK static libraries.
|
|
LAPACK static libraries.
|
|
@@ -67,15 +68,13 @@ LAPACK static libraries.
|
|
%package -n blas
|
|
%package -n blas
|
|
Summary: The BLAS (Basic Linear Algebra Subprograms) library.
|
|
Summary: The BLAS (Basic Linear Algebra Subprograms) library.
|
|
Group: Development/Libraries
|
|
Group: Development/Libraries
|
|
-Obsoletes: lapack-blas blas-man
|
|
|
|
|
|
|
|
%description -n blas
|
|
%description -n blas
|
|
BLAS (Basic Linear Algebra Subprograms) is a standard library which
|
|
BLAS (Basic Linear Algebra Subprograms) is a standard library which
|
|
-provides a number of basic algorithms for numerical algebra. Man
|
|
+provides a number of basic algorithms for numerical algebra.
|
|
-pages for blas are available in the blas-man package.
|
|
|
|
|
|
|
|
%description -n blas -l ja
|
|
%description -n blas -l ja
|
|
-BLAS(Basic Linear Algebra Subprograms)は数値代数計算の標準ライブラリです。BLASでは、線形代数計算における多くの基本アルゴリズムを利用できます。Blasの計算は高速で十分テストされているFORTRAN 77のプログラムで、gccでビルドされています。
|
|
+BLAS(Basic Linear Algebra Subprograms)は数値代数計算の標準ライブラリです。BLASでは、線形代数計算における多くの基本アルゴリズムを利用できます。Blasの計算は高速で十分テストされているFORTRAN 90のプログラムで、gccでビルドされています。
|
|
|
|
|
|
%description -n blas
|
|
%description -n blas
|
|
BLAS (Basic Linear Algebra Subprograms) is a standard library which
|
|
BLAS (Basic Linear Algebra Subprograms) is a standard library which
|
|
@@ -93,6 +92,7 @@ BLAS development libraries (shared).
|
|
%package -n blas-static
|
|
%package -n blas-static
|
|
Summary: BLAS static libraries
|
|
Summary: BLAS static libraries
|
|
Group: Development/Libraries
|
|
Group: Development/Libraries
|
|
|
|
+Requires: blas-devel = %{version}-%{release}
|
|
|
|
|
|
%description -n blas-static
|
|
%description -n blas-static
|
|
BLAS static libraries.
|
|
BLAS static libraries.
|
|
@@ -102,20 +102,23 @@ BLAS static libraries.
|
|
%setup -q -D -T -a1
|
|
%setup -q -D -T -a1
|
|
# using gfortran
|
|
# using gfortran
|
|
%patch3 -p1
|
|
%patch3 -p1
|
|
|
|
+%patch4 -p1 -b .shared
|
|
|
|
+
|
|
|
|
+mkdir manpages
|
|
|
|
+mv man/ manpages/
|
|
|
|
+
|
|
cp -f INSTALL/make.inc.gfortran make.inc
|
|
cp -f INSTALL/make.inc.gfortran make.inc
|
|
cp -f %{SOURCE2} BLAS/SRC/Makefile
|
|
cp -f %{SOURCE2} BLAS/SRC/Makefile
|
|
cp -f %{SOURCE3} SRC/Makefile
|
|
cp -f %{SOURCE3} SRC/Makefile
|
|
|
|
|
|
sed -i "s|@SHORTVER@|%{shortver}|g" BLAS/SRC/Makefile
|
|
sed -i "s|@SHORTVER@|%{shortver}|g" BLAS/SRC/Makefile
|
|
sed -i "s|@SHORTVER@|%{shortver}|g" SRC/Makefile
|
|
sed -i "s|@SHORTVER@|%{shortver}|g" SRC/Makefile
|
|
|
|
+sed -i "s|@SHORTVER@|%{shortver}|g" lapacke/Makefile
|
|
sed -i "s|@LONGVER@|%{version}|g" BLAS/SRC/Makefile
|
|
sed -i "s|@LONGVER@|%{version}|g" BLAS/SRC/Makefile
|
|
sed -i "s|@LONGVER@|%{version}|g" SRC/Makefile
|
|
sed -i "s|@LONGVER@|%{version}|g" SRC/Makefile
|
|
-
|
|
+sed -i "s|@LONGVER@|%{version}|g" lapacke/Makefile
|
|
-#Empty
|
|
|
|
-rm -f manpages/man/manl/zbcon.l
|
|
|
|
|
|
|
|
%build
|
|
%build
|
|
-
|
|
|
|
RPM_OPT_O_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-O0|')
|
|
RPM_OPT_O_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-O0|')
|
|
# using gfortran
|
|
# using gfortran
|
|
export FC=gfortran
|
|
export FC=gfortran
|
|
@@ -170,33 +173,87 @@ make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" shared
|
|
cp liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
|
cp liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
|
popd
|
|
popd
|
|
|
|
|
|
|
|
+ln -s liblapack.so.%{version} liblapack.so
|
|
|
|
+
|
|
|
|
+# Build the lapacke libraries
|
|
|
|
+pushd lapacke
|
|
|
|
+make clean
|
|
|
|
+make CFLAGS="$RPM_OPT_FLAGS" lapacke
|
|
|
|
+cp liblapacke.a ${RPM_BUILD_DIR}/%{name}-%{version}/
|
|
|
|
+make clean
|
|
|
|
+make CFLAGS="$RPM_OPT_FLAGS -fPIC" shlib
|
|
|
|
+cp liblapacke.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
|
|
|
+popd
|
|
|
|
+
|
|
cp -p %{SOURCE4} lapackqref.ps
|
|
cp -p %{SOURCE4} lapackqref.ps
|
|
cp -p %{SOURCE5} blasqr.ps
|
|
cp -p %{SOURCE5} blasqr.ps
|
|
|
|
|
|
%install
|
|
%install
|
|
rm -fr ${RPM_BUILD_ROOT}
|
|
rm -fr ${RPM_BUILD_ROOT}
|
|
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
|
|
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
|
|
-mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/manl
|
|
+mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man3
|
|
-chmod 755 ${RPM_BUILD_ROOT}%{_mandir}/manl
|
|
+chmod 755 ${RPM_BUILD_ROOT}%{_mandir}/man3
|
|
|
|
|
|
-for f in liblapack.so.%{version} libblas.so.%{version} libblas.a liblapack.a liblapack_pic.a; do
|
|
+for f in liblapack.so.%{version} libblas.so.%{version} liblapacke.so.%{version} libblas.a liblapack.a liblapack_pic.a liblapacke.a; do
|
|
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
|
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
|
done
|
|
done
|
|
|
|
|
|
-find manpages/blas/man/manl -type f -printf "%{_mandir}/manl/%f*\n" > blasmans
|
|
+# Blas manpages
|
|
|
|
+pushd manpages/
|
|
|
|
+mkdir -p blas/man/man3
|
|
|
|
+cd man/man3/
|
|
|
|
+mv 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 \
|
|
|
|
+cgemm.f.3 CGEMM.3 cgemv.f.3 CGEMV.3 cgerc.f.3 CGERC.3 cgeru.f.3 CGERU.3 chbmv.f.3 CHBMV.3 \
|
|
|
|
+chemm.f.3 CHEMM.3 chemv.f.3 CHEMV.3 cher.f.3 CHER.3 cher2.f.3 CHER2.3 cher2k.f.3 CHER2K.3 \
|
|
|
|
+cherk.f.3 CHERK.3 chpmv.f.3 CHPMV.3 chpr.f.3 CHPR.3 chpr2.f.3 CHPR2.3 crotg.f.3 CROTG.3 \
|
|
|
|
+cscal.f.3 CSCAL.3 csrot.f.3 CSROT.3 csscal.f.3 CSSCAL.3 cswap.f.3 CSWAP.3 csymm.f.3 \
|
|
|
|
+CSYMM.3 csyr2k.f.3 CSYR2K.3 csyrk.f.3 CSYRK.3 ctbmv.f.3 CTBMV.3 ctbsv.f.3 CTBSV.3 ctpmv.f.3 \
|
|
|
|
+CTPMV.3 ctpsv.f.3 CTPSV.3 ctrmm.f.3 CTRMM.3 ctrmv.f.3 CTRMV.3 ctrsm.f.3 CTRSM.3 ctrsv.f.3 \
|
|
|
|
+CTRSV.3 dasum.f.3 DASUM.3 daxpy.f.3 DAXPY.3 dcabs1.f.3 DCABS1.3 dcopy.f.3 DCOPY.3 ddot.f.3 \
|
|
|
|
+DDOT.3 dgbmv.f.3 DGBMV.3 dgemm.f.3 DGEMM.3 dgemv.f.3 DGEMV.3 dger.f.3 DGER.3 dnrm2.f.3 \
|
|
|
|
+DNRM2.3 drot.f.3 DROT.3 drotg.f.3 DROTG.3 drotm.f.3 DROTM.3 drotmg.f.3 DROTMG.3 dsbmv.f.3 \
|
|
|
|
+DSBMV.3 dscal.f.3 DSCAL.3 dsdot.f.3 DSDOT.3 dspmv.f.3 DSPMV.3 dspr.f.3 DSPR.3 dspr2.f.3 \
|
|
|
|
+DSPR2.3 dswap.f.3 DSWAP.3 dsymm.f.3 DSYMM.3 dsymv.f.3 DSYMV.3 dsyr.f.3 DSYR.3 dsyr2.f.3 \
|
|
|
|
+DSYR2.3 dsyr2k.f.3 DSYR2K.3 dsyrk.f.3 DSYRK.3 dtbmv.f.3 DTBMV.3 dtbsv.f.3 DTBSV.3 dtpmv.f.3 \
|
|
|
|
+DTPMV.3 dtpsv.f.3 DTPSV.3 dtrmm.f.3 DTRMM.3 dtrmv.f.3 DTRMV.3 dtrsm.f.3 DTRSM.3 dtrsv.f.3 \
|
|
|
|
+DTRSV.3 dzasum.f.3 DZASUM.3 dznrm2.f.3 DZNRM2.3 icamax.f.3 ICAMAX.3 idamax.f.3 IDAMAX.3 \
|
|
|
|
+isamax.f.3 ISAMAX.3 izamax.f.3 IZAMAX.3 LSAME.3 sasum.f.3 SASUM.3 saxpy.f.3 SAXPY.3 \
|
|
|
|
+scabs1.f.3 SCABS1.3 scasum.f.3 SCASUM.3 scnrm2.f.3 SCNRM2.3 scopy.f.3 SCOPY.3 sdot.f.3 SDOT.3 \
|
|
|
|
+sdsdot.f.3 SDSDOT.3 sgbmv.f.3 SGBMV.3 sgemm.f.3 SGEMM.3 sgemv.f.3 SGEMV.3 sger.f.3 SGER.3 \
|
|
|
|
+snrm2.f.3 SNRM2.3 srot.f.3 SROT.3 srotg.f.3 SROTG.3 srotm.f.3 SROTM.3 srotmg.f.3 SROTMG.3 \
|
|
|
|
+ssbmv.f.3 SSBMV.3 sscal.f.3 SSCAL.3 sspmv.f.3 SSPMV.3 sspr.f.3 SSPR.3 sspr2.f.3 SSPR2.3 \
|
|
|
|
+sswap.f.3 SSWAP.3 ssymm.f.3 SSYMM.3 ssymv.f.3 SSYMV.3 ssyr.f.3 SSYR.3 ssyr2.f.3 SSYR2.3 \
|
|
|
|
+ssyr2k.f.3 SSYR2K.3 ssyrk.f.3 SSYRK.3 stbmv.f.3 STBMV.3 stbsv.f.3 STBSV.3 stpmv.f.3 STPMV.3 \
|
|
|
|
+stpsv.f.3 STPSV.3 strmm.f.3 STRMM.3 strmv.f.3 STRMV.3 strsm.f.3 STRSM.3 strsv.f.3 STRSV.3 \
|
|
|
|
+XERBLA.3 XERBLA_ARRAY.3 zaxpy.f.3 ZAXPY.3 zcopy.f.3 ZCOPY.3 \
|
|
|
|
+zdotc.f.3 ZDOTC.3 zdotu.f.3 ZDOTU.3 zdrot.f.3 ZDROT.3 zdscal.f.3 ZDSCAL.3 zgbmv.f.3 ZGBMV.3 \
|
|
|
|
+zgemm.f.3 ZGEMM.3 zgemv.f.3 ZGEMV.3 zgerc.f.3 ZGERC.3 zgeru.f.3 ZGERU.3 zhbmv.f.3 ZHBMV.3 \
|
|
|
|
+zhemm.f.3 ZHEMM.3 zhemv.f.3 ZHEMV.3 zher.f.3 ZHER.3 zher2.f.3 ZHER2.3 zher2k.f.3 ZHER2K.3 \
|
|
|
|
+zherk.f.3 ZHERK.3 zhpmv.f.3 ZHPMV.3 zhpr.f.3 ZHPR.3 zhpr2.f.3 ZHPR2.3 zrotg.f.3 ZROTG.3 \
|
|
|
|
+zscal.f.3 ZSCAL.3 zswap.f.3 ZSWAP.3 zsymm.f.3 ZSYMM.3 zsyr2k.f.3 ZSYR2K.3 zsyrk.f.3 ZSYRK.3 \
|
|
|
|
+ztbmv.f.3 ZTBMV.3 ztbsv.f.3 ZTBSV.3 ztpmv.f.3 ZTPMV.3 ztpsv.f.3 ZTPSV.3 ztrmm.f.3 ZTRMM.3 \
|
|
|
|
+ztrmv.f.3 ZTRMV.3 ztrsm.f.3 ZTRSM.3 ztrsv.f.3 ZTRSV.3 ../../blas/man/man3
|
|
|
|
+cd ../..
|
|
|
|
+popd
|
|
|
|
|
|
-# These are also in the BLAS package
|
|
+find manpages/blas/man/man3 -type f -printf "%{_mandir}/man3/%f*\n" > blasmans
|
|
-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
|
|
+find manpages/man/man3 -type f -printf "%{_mandir}/man3/%f*\n" > lapackmans
|
|
-cp -f manpages/man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl
|
|
+
|
|
|
|
+cp -f manpages/blas/man/man3/* ${RPM_BUILD_ROOT}%{_mandir}/man3
|
|
|
|
+cp -f manpages/man/man3/* ${RPM_BUILD_ROOT}%{_mandir}/man3
|
|
|
|
+
|
|
|
|
+# Lapacke headers
|
|
|
|
+mkdir -p %{buildroot}%{_includedir}/lapacke/
|
|
|
|
+cp -a lapacke/include/*.h %{buildroot}%{_includedir}/lapacke/
|
|
|
|
|
|
cd ${RPM_BUILD_ROOT}%{_libdir}
|
|
cd ${RPM_BUILD_ROOT}%{_libdir}
|
|
ln -sf liblapack.so.%{version} liblapack.so
|
|
ln -sf liblapack.so.%{version} liblapack.so
|
|
ln -sf liblapack.so.%{version} liblapack.so.%{shortver}
|
|
ln -sf liblapack.so.%{version} liblapack.so.%{shortver}
|
|
ln -sf liblapack.so.%{version} liblapack.so.%{mediumver}
|
|
ln -sf liblapack.so.%{version} liblapack.so.%{mediumver}
|
|
|
|
+ln -sf liblapacke.so.%{version} liblapacke.so
|
|
|
|
+ln -sf liblapacke.so.%{version} liblapacke.so.%{shortver}
|
|
|
|
+ln -sf liblapacke.so.%{version} liblapacke.so.%{mediumver}
|
|
ln -sf libblas.so.%{version} libblas.so
|
|
ln -sf libblas.so.%{version} libblas.so
|
|
ln -sf libblas.so.%{version} libblas.so.%{shortver}
|
|
ln -sf libblas.so.%{version} libblas.so.%{shortver}
|
|
ln -sf libblas.so.%{version} libblas.so.%{mediumver}
|
|
ln -sf libblas.so.%{version} libblas.so.%{mediumver}
|
|
@@ -215,12 +272,15 @@ rm -fr ${RPM_BUILD_ROOT}
|
|
%files -f lapackmans
|
|
%files -f lapackmans
|
|
%defattr(-,root,root)
|
|
%defattr(-,root,root)
|
|
%doc README LICENSE lapackqref.ps
|
|
%doc README LICENSE lapackqref.ps
|
|
-%dir %{_mandir}/manl/
|
|
+%dir %{_mandir}/man3/
|
|
%{_libdir}/liblapack.so.*
|
|
%{_libdir}/liblapack.so.*
|
|
|
|
+%{_libdir}/liblapacke.so.*
|
|
|
|
|
|
%files devel
|
|
%files devel
|
|
%defattr(-,root,root,-)
|
|
%defattr(-,root,root,-)
|
|
|
|
+%{_includedir}/lapacke/
|
|
%{_libdir}/liblapack.so
|
|
%{_libdir}/liblapack.so
|
|
|
|
+%{_libdir}/liblapacke.so
|
|
|
|
|
|
%files static
|
|
%files static
|
|
%defattr(-,root,root,-)
|
|
%defattr(-,root,root,-)
|
|
@@ -229,7 +289,7 @@ rm -fr ${RPM_BUILD_ROOT}
|
|
%files -n blas -f blasmans
|
|
%files -n blas -f blasmans
|
|
%defattr(-,root,root)
|
|
%defattr(-,root,root)
|
|
%doc blasqr.ps LICENSE
|
|
%doc blasqr.ps LICENSE
|
|
-%dir %{_mandir}/manl/
|
|
+%dir %{_mandir}/man3/
|
|
%{_libdir}/libblas.so.*
|
|
%{_libdir}/libblas.so.*
|
|
|
|
|
|
%files -n blas-devel
|
|
%files -n blas-devel
|
|
@@ -241,6 +301,10 @@ rm -fr ${RPM_BUILD_ROOT}
|
|
%{_libdir}/libblas*.a
|
|
%{_libdir}/libblas*.a
|
|
|
|
|
|
%changelog
|
|
%changelog
|
|
|
|
+* Thu Feb 23 2012 NAKAMURA Kenta <kenta@vinelinux.org> 3.4.0-1
|
|
|
|
+- update to 3.4.0
|
|
|
|
+- build and include lapacke
|
|
|
|
+
|
|
* Sat Nov 26 2011 NAKAMURA Kenta <kenta@vinelinux.org> 3.3.1-1
|
|
* Sat Nov 26 2011 NAKAMURA Kenta <kenta@vinelinux.org> 3.3.1-1
|
|
- new upstream release
|
|
- new upstream release
|
|
- update package descriptions
|
|
- update package descriptions
|