lapack/lapack.spec

249 lines
7.2 KiB
RPMSpec
Raw Normal View History

#
# 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 <lapack@cs.utk.edu>
%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 <lapack@cs.utk.edu>
%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 <lapack@cs.utk.edu>
%package man
Summary: Manpages for LAPACK
Group: Development/Libraries/Parallel
Provides: lapack-manpages
Obsoletes: lapack-manpages
%description man
Manpages for LAPACK
Authors:
--------
Lapack team<lapack@cs.utk.edu>
%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)