# # spec file for package lapack (Version 3.1.0) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: lapack BuildRequires: gcc-fortran Summary: Linear Algebra Package Version: 3.1.0 Release: 3 License: Public Domain, Freeware Group: Development/Libraries/Parallel Source0: lapack-%{version}.tar.bz2 Patch: make.patch URL: http://www.netlib.org/lapack/ Requires: blas BuildRoot: %{_tmppath}/%{name}-%{version}-build %description LAPACK provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. The associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are also provided, as are related computations such as reordering of the Schur factorizations and estimating condition numbers. Dense and banded matrices are handled, but not general sparse matrices. In all areas, similar functionality is provided for real and complex matrices, in both single and double precision. Authors: -------- Jack Dongarra %package -n blas Summary: Basic Linear Algebra Subprograms Group: Productivity/Scientific/Math %description -n blas BLAS (Basic Linear Algebra Subprograms) is a standard library for numerical algebra. BLAS provides a number of basic algorithms for linear algebra. BLAS is fast and well-tested, was written in FORTRAN 77 and build with egcs. BLAS manual pages are available in the blasman package. Authors: -------- UTK %package -n blas-man Summary: documentation for BLAS (Basic Linear Algebra Subprograms) Group: Productivity/Scientific/Math Provides: blasman Obsoletes: blasman %description -n blas-man The blasman package contains documentation for BLAS (Basic Linear Algebra subprograms) routines, in the form of man pages. Authors: -------- UTK %package man Summary: Manpages for LAPACK Group: Development/Libraries/Parallel Provides: lapack-manpages Obsoletes: lapack-manpages %description man Manpages for LAPACK Authors: -------- Lapack team %prep %setup -q %patch -p1 %build rm -rf $RPM_BUILD_ROOT export F77=gfortran export OPTOPTS="$RPM_OPT_FLAGS -O3 -funroll-all-loops" make cleanlib make %{?jobs:-j%jobs} blaslib PICOPTS=-fPIC mv blas_LINUX.a libblas_pic.a mkdir tmp ( cd tmp; ar x ../libblas_pic.a ) gfortran -shared -Wl,-soname=libblas.so.3.1.0 -o libblas.so.3.1.0 tmp/*.o ln -s libblas.so.3.1.0 libblas.so rm -rf tmp make cleanlib make %{?jobs:-j%jobs} blaslib mv blas_LINUX.a libblas.a make cleanlib make %{?jobs:-j%jobs} lapacklib PICOPTS=-fPIC mv lapack_LINUX.a liblapack_pic.a mkdir tmp ( cd tmp; ar x ../liblapack_pic.a ) gfortran -shared -Wl,-soname=liblapack.so.3.1.0 -o liblapack.so.3.1.0 tmp/*.o -L. -lblas ln -s liblapack.so.3.1.0 liblapack.so rm -rf tmp make cleanlib make %{?jobs:-j%jobs} lapacklib mv lapack_LINUX.a liblapack.a %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT/%{_libdir} install -m 644 libblas.a $RPM_BUILD_ROOT/%{_libdir} install -m 644 libblas_pic.a $RPM_BUILD_ROOT/%{_libdir} install -m 644 liblapack.a $RPM_BUILD_ROOT/%{_libdir} install -m 644 liblapack_pic.a $RPM_BUILD_ROOT/%{_libdir} install -m 755 libblas.so.3.1.0 $RPM_BUILD_ROOT/%{_libdir} ln -s libblas.so.3.1.0 $RPM_BUILD_ROOT/%{_libdir}/libblas.so.3 ln -s libblas.so.3.1.0 $RPM_BUILD_ROOT/%{_libdir}/libblas.so install -m 755 liblapack.so.3.1.0 $RPM_BUILD_ROOT/%{_libdir} ln -s liblapack.so.3.1.0 $RPM_BUILD_ROOT/%{_libdir}/liblapack.so.3 ln -s liblapack.so.3.1.0 $RPM_BUILD_ROOT/%{_libdir}/liblapack.so install -d $RPM_BUILD_ROOT%{_mandir}/man3 function CopyFile { NEW_FILENAME=$(basename $1 .l).3 install -m 0644 $1 $RPM_BUILD_ROOT%{_mandir}/man3/$NEW_FILENAME } for MANFILE in manpages/blas/man/manl/*.l; do CopyFile $MANFILE done rm manpages/man/manl/xerbla.l rm manpages/man/manl/lsame.l for MANFILE in manpages/man/manl/*.l; do CopyFile $MANFILE done echo "%defattr(-, root, root)" > blasmans find manpages/blas/man/manl -type f -printf "%{_mandir}/man3/%f\n" | sed -e 's/.l$/.3.gz/' > blasmans echo "%defattr(-, root, root)" > lapackmans find manpages/man/manl -type f -printf "%{_mandir}/man3/%f\n" | sed -e 's/.l$/.3.gz/' > lapackmans %post %run_ldconfig %postun %run_ldconfig %post -n blas %run_ldconfig %postun -n blas %run_ldconfig %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %{_libdir}/liblapack.so* %{_libdir}/liblapack.a %{_libdir}/liblapack_pic.a %files -n blas %defattr(-,root,root) %{_libdir}/libblas.so* %{_libdir}/libblas.a %{_libdir}/libblas_pic.a %files -n blas-man -f blasmans %defattr(-,root,root) %files man -f lapackmans %defattr(-,root,root) %changelog -n lapack * Thu Dec 14 2006 - rguenther@suse.de - Restore missing so symlinks. * Tue Nov 14 2006 - rguenther@suse.de - Update to version 3.1.0. - Rename blasman to blas-man. - Rename lapack-manpages to lapack-man. * Tue Oct 31 2006 - rguenther@suse.de - Trim BuildRequires. - Build and package -fPIC static library variants. [#205310] - Fix installing of the libblas.so symlink. - Do not package the matrix testing setup library libtmglib. - Do not package useless README file. * Wed Jan 25 2006 - mls@suse.de - converted neededforbuild to BuildRequires * Sat Jan 14 2006 - kukuk@suse.de - Add gmp-devel to nfb * Fri Apr 22 2005 - meissner@suse.de - fixed all other instances of -fno-f2c, and g77 -> gfortran use. * Thu Apr 21 2005 - meissner@suse.de - g77 -> gfortran, -fno-f2c is no more. * Sat Jan 29 2005 - nashif@suse.de - Updated manpages (#48784) * Thu Jan 20 2005 - ro@suse.de - remove BuildPrereq, BuildRequires is generated * Thu Mar 18 2004 - nashif@suse.de - Fixed permission for manpages (#36340) * Sat Jan 10 2004 - adrian@suse.de - add %%run_ldconfig * Mon Feb 03 2003 - meissner@suse.de - Use $RPM_OPT_FLAGS, so it builds on ppc64. * Mon Aug 26 2002 - nashif@suse.de - Fixed manpage conflict - correct library version * Mon Jul 01 2002 - ro@suse.de - use -fPIC for all shared objects - link liblapack with shared libblas (same reason) * Thu May 02 2002 - sf@suse.de - fixed %%{_lib}-problems for x86_64 * Mon Sep 17 2001 - nashif@suse.de - Fixed bug #9925, adding blas to required packages. * Tue May 08 2001 - nashif@suse.de - Fixed bug #6803 * Thu Feb 08 2001 - sf@suse.de - compile with '-01' for IA64 due to 'internal compiler error' in g77 * Mon Nov 06 2000 - nashif@suse.de - Fixed bug of missing objects (#4028) * Sat Apr 22 2000 - nashif@suse.de - Applied new patches - Modified group, url and files in spec * Mon Feb 21 2000 - nashif@suse.de - Applied new patches * Tue Jan 18 2000 - nashif@suse.de - Applied new patched - Moved manpages to /usr/share/man * Thu Dec 23 1999 - nashif@suse.de - Update to latest version - Package split lapack + blas * Thu Oct 07 1999 - nashif@suse.de - Package split: man pages + libraries * Wed Sep 22 1999 - nashif@suse.de - New package: LAPACK Linear Algebra Package (LAPACK)