diff --git a/.cvsignore b/.cvsignore index 9fb3ca4..cfcace4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -2,3 +2,4 @@ lapack.tar.bz2 manpages.tar.bz2 manpages.tgz lapack.tgz +lapack-3.1.0.tgz diff --git a/lapack-3.1.0-make.inc.patch b/lapack-3.1.0-make.inc.patch new file mode 100644 index 0000000..348f055 --- /dev/null +++ b/lapack-3.1.0-make.inc.patch @@ -0,0 +1,29 @@ +--- lapack-3.1.0/make.inc.BAD 2006-11-14 15:58:41.000000000 -0600 ++++ lapack-3.1.0/make.inc 2006-11-14 16:00:03.000000000 -0600 +@@ -10,7 +10,7 @@ + # + # The machine (platform) identifier to append to the library names + # +-PLAT = _LINUX ++PLAT = + # + # Modify the FORTRAN and OPTS definitions to refer to the + # compiler and desired compiler options for your machine. NOOPT +@@ -18,12 +18,13 @@ + # selected. Define LOADER and LOADOPTS to refer to the loader and + # desired load options for your machine. + # +-FORTRAN = g77 +-OPTS = -funroll-all-loops -O3 -Wimplicit -Wno-globals -Wunused ++FORTRAN = gfortran ++#OPTS = -funroll-all-loops -O3 -Wimplicit -Wno-globals -Wunused + #OPTS = -O0 -g -Wall + DRVOPTS = $(OPTS) +-NOOPT = -Wimplicit -Wno-globals -Wunused +-LOADER = g77 ++# NOOPT = -Wimplicit -Wno-globals -Wunused ++NOOPT = ++LOADER = gfortran + LOADOPTS = + # + # The archiver and the flag(s) to use when building archive (library) diff --git a/lapack.spec b/lapack.spec index 1118e90..d144956 100644 --- a/lapack.spec +++ b/lapack.spec @@ -1,22 +1,21 @@ Summary: The LAPACK libraries for numerical linear algebra. Name: lapack -Version: 3.0 -Release: 38%{?dist} +Version: 3.1.0 +Release: 1%{?dist} License: Freely distributable Group: Development/Libraries URL: http://www.netlib.org/lapack/ -Source0: http://www.netlib.org/lapack/lapack.tgz -Source1: http://www.netlib.org/lapack/manpages.tgz +Source0: http://www.netlib.org/lapack/lapack-%{version}.tgz Source2: Makefile.blas Source3: Makefile.lapack Source4: http://www.netlib.org/lapack/lapackqref.ps Source5: http://www.netlib.org/blas/blasqr.ps -Patch0: lapack-20010525.patch Patch1: blas-bz143340.patch Patch2: lapack-fixlwork.patch +Patch3: lapack-3.1.0-make.inc.patch Obsoletes: lapack-man BuildRequires: gcc-gfortran -BuildRoot: %{_tmppath}/lapack-%{version}-root +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description LAPACK (Linear Algebra PACKage) is a standard library for numerical @@ -58,13 +57,13 @@ Requires: blas = %{version}-%{release} BLAS development libraries for applications that link statically. %prep -%setup -q -n LAPACK -%setup -q -D -T -a 1 -n LAPACK -%patch0 -p1 +%setup -q +%setup -q -D -T # Adds 8 missing BLAS functions from upstream tarball %patch1 -p1 # Fix Bugzilla 169558 -%patch2 -p1 +# %patch2 -p1 +%patch3 -p1 cp -f $RPM_SOURCE_DIR/Makefile.blas BLAS/SRC/Makefile cp -f $RPM_SOURCE_DIR/Makefile.lapack SRC/Makefile @@ -72,36 +71,63 @@ cp -f $RPM_SOURCE_DIR/Makefile.lapack SRC/Makefile rm -f man/manl/zbcon.l %build -cd BLAS/SRC + RPM_OPT_O_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-O0|') export FC=gfortran + +# Build BLAS +pushd BLAS/SRC FFLAGS="$RPM_OPT_O_FLAGS" make dcabs1.o FFLAGS="$RPM_OPT_FLAGS" make static -cp libblas.a ../.. +cp libblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/ make clean FFLAGS="$RPM_OPT_O_FLAGS -fPIC" make dcabs1.o FFLAGS="$RPM_OPT_FLAGS -fPIC" make shared -cp libblas.so.3.0.3 ../.. -cd ../.. -ln -s libblas.so.3.0.3 libblas.so +cp libblas.so.3.1.0 ${RPM_BUILD_DIR}/%{name}-%{version}/ +popd + +ln -s libblas.so.3.1.0 libblas.so -cd SRC # Some files don't like -O2, but -Os is fine RPM_OPT_SIZE_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-Os|') -FFLAGS="$RPM_OPT_SIZE_FLAGS" make dlamch.o slamch.o dgeev.o -FFLAGS="$RPM_OPT_FLAGS" make static -cp liblapack.a .. -make clean -FFLAGS="$RPM_OPT_SIZE_FLAGS -fPIC" make dlamch.o slamch.o dgeev.o -FFLAGS="$RPM_OPT_FLAGS -fPIC" make shared -cp liblapack.so.3.0.3 .. -make clean -FFLAGS="$RPM_OPT_SIZE_FLAGS -fPIC" make dlamch.o slamch.o dgeev.o -FFLAGS="$RPM_OPT_FLAGS -fPIC" make static -cp liblapack.a ../liblapack_pic.a +# Build the static dlamch, dsecnd, lsame, second, slamch bits +pushd INSTALL +make NOOPT="$RPM_OPT_SIZE_FLAGS" OPTS="$RPM_OPT_FLAGS" dlamch.o dsecnd.o lsame.o second.o slamch.o +popd + +# Build the static lapack library +pushd SRC +make FFLAGS="$RPM_OPT_FLAGS" static +cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/ +popd + +# Build the shared dlamch, dsecnd, lsame, second, slamch bits +pushd INSTALL +make clean +make NOOPT="$RPM_OPT_SIZE_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC" \ + dlamch.o dsecnd.o lsame.o second.o slamch.o +popd + +# Build the shared lapack library +pushd SRC +make FFLAGS="$RPM_OPT_FLAGS -fPIC" shared +cp liblapack.so.3.1.0 ${RPM_BUILD_DIR}/%{name}-%{version}/ +popd + +# Buuld the static with pic dlamch, dsecnd, lsame, second, slamch bits +pushd INSTALL +make clean +make NOOPT="$RPM_OPT_SIZE_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC" \ + dlamch.o dsecnd.o lsame.o second.o slamch.o +popd + +# Build the static with pic lapack library +pushd SRC +make FFLAGS="$RPM_OPT_FLAGS -fPIC" static +cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic.a +popd -cd .. cp %{SOURCE4} lapackqref.ps cp %{SOURCE5} blasqr.ps @@ -110,27 +136,27 @@ rm -fr ${RPM_BUILD_ROOT} mkdir -p ${RPM_BUILD_ROOT}%{_libdir} mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/manl -for f in liblapack.so.3.0.3 libblas.so.3.0.3 libblas.a liblapack.a liblapack_pic.a; do +for f in liblapack.so.3.1.0 libblas.so.3.1.0 libblas.a liblapack.a liblapack_pic.a; do cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f done -find blas/man/manl -type f -printf "%{_mandir}/manl/%f*\n" > blasmans +find manpages/blas/man/manl -type f -printf "%{_mandir}/manl/%f*\n" > blasmans # These are also in the BLAS package -rm -f man/manl/lsame.l* -rm -f man/manl/xerbla.l* -find man/manl -type f -printf "%{_mandir}/manl/%f*\n" > lapackmans +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 blas/man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl -cp -f man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl +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.3.0.3 liblapack.so -ln -sf liblapack.so.3.0.3 liblapack.so.3 -ln -sf liblapack.so.3.0.3 liblapack.so.3.0 -ln -sf libblas.so.3.0.3 libblas.so -ln -sf libblas.so.3.0.3 libblas.so.3 -ln -sf libblas.so.3.0.3 libblas.so.3.0 +ln -sf liblapack.so.3.1.0 liblapack.so +ln -sf liblapack.so.3.1.0 liblapack.so.3 +ln -sf liblapack.so.3.1.0 liblapack.so.3.1 +ln -sf libblas.so.3.1.0 libblas.so +ln -sf libblas.so.3.1.0 libblas.so.3 +ln -sf libblas.so.3.1.0 libblas.so.3.1 %post -p /sbin/ldconfig @@ -164,6 +190,9 @@ rm -fr ${RPM_BUILD_ROOT} %{_libdir}/libblas*.a %changelog +* Tue Nov 14 2006 Tom "spot" Callaway 3.1.0-1 +- bump to 3.1.0 + * Thu Sep 14 2006 Tom "spot" Callaway 3.0-38 - bump for fc-6 diff --git a/sources b/sources index b5a5296..20a8292 100644 --- a/sources +++ b/sources @@ -1,4 +1 @@ -ded96a1a7434fca5c311b3b137963472 lapack.tar.bz2 -fb96dfdcbffad22dd7fa29872f326cbf manpages.tar.bz2 -50efab6cd73a9429584f7f1537f1727f manpages.tgz -a24f59304f87b78cdc7da2ae59c98664 lapack.tgz +0ff8c5d81117163376875343e64d04a1 lapack-3.1.0.tgz