lapack/lapack.spec
Sascha Peilicke 36ed9d5f9b Accepting request 70128 from devel:libraries:c_c++
- Update to 3.3.1 [bnc#654560]
  * New procedures to compute the complete CS decomposition of a
    partitioned unitary matrix
  * Level-3 BLAS symmetric indefinite solve (xSYTRS) and symmetric
    indefinite inversion (xSYTRI)
  * Bug fixes
  * Changes see at http://www.netlib.org/lapack/lapack-3.3.1.html
    and http://www.netlib.org/lapack/lapack-3.3.0.html

OBS-URL: https://build.opensuse.org/request/show/70128
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lapack?expand=0&rev=16
2011-05-16 07:17:55 +00:00

266 lines
7.7 KiB
RPMSpec

#
# spec file for package lapack (Version 3.2.2)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: lapack
BuildRequires: gcc-fortran
Summary: Linear Algebra Package
Version: 3.3.1
Release: 1
License: Public Domain, Freeware
Group: Development/Libraries/Parallel
Source0: lapack-%{version}.tar.bz2
Source1: manpages.tar.bz2
Source99: lapack-rpmlintrc
Patch1: lapack-3.2.2.patch
Patch2: ila-bound-fix.patch
Url: http://www.netlib.org/lapack/
Requires: blas = %{version}
Requires: liblapack3 = %{version}
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
License: Public Domain, Freeware
Summary: Basic Linear Algebra Subprograms
Group: Productivity/Scientific/Math
Requires: libblas3 >= %{version}
%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 built with gfortran. BLAS manual pages are available in the
blas-man package.
Authors:
--------
UTK <lapack@cs.utk.edu>
%package -n blas-man
License: Public Domain, Freeware
Summary: Documentation for BLAS (Basic Linear Algebra Subprograms)
Group: Productivity/Scientific/Math
Provides: blasman = %{version}-%{release}
Obsoletes: blasman < %{version}
%if 0%{?suse_version} >= 1120
BuildArch: noarch
%endif
%description -n blas-man
The blas-man package contains documentation for BLAS (Basic Linear
Algebra subprograms) routines, in the form of man pages.
Authors:
--------
UTK <lapack@cs.utk.edu>
%package man
License: Public Domain, Freeware
Summary: Manpages for LAPACK
Group: Development/Libraries/Parallel
Provides: lapack-manpages = %{version}-%{release}
Obsoletes: lapack-manpages < %{version}
%if 0%{?suse_version} >= 1120
BuildArch: noarch
%endif
%description man
Manpages for LAPACK
Authors:
--------
Lapack team<lapack@cs.utk.edu>
%package -n liblapack3
License: Public Domain, Freeware
Summary: LAPACK Shared Library
Group: Development/Libraries/Parallel
%description -n liblapack3
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 libblas3
License: Public Domain, Freeware
Summary: BLAS Shared Library
Group: Productivity/Scientific/Math
%description -n libblas3
BLAS (Basic Linear Algebra Subprograms) is a standard library for
numerical algebra. BLAS provides a number of basic algorithms for
linear algebra.
Authors:
--------
UTK <lapack@cs.utk.edu>
%prep
%setup -q
%patch1
%patch2
tar xjf %{S:1}
%build
cp make.inc.example make.inc
make cleanlib
make %{?jobs:-j%jobs} blaslib \
OPTS="$RPM_OPT_FLAGS -fPIC" \
NOOPT="$RPM_OPT_FLAGS -O0 -fPIC"
mv blas_LINUX.a libblas_pic.a
mkdir tmp
( cd tmp; ar x ../libblas_pic.a )
gfortran -shared -Wl,-soname=libblas.so.3 -o libblas.so.%version tmp/*.o
ln -s libblas.so.%version libblas.so
rm -rf tmp
make cleanlib
make %{?jobs:-j%jobs} blaslib \
OPTS="$RPM_OPT_FLAGS" \
NOOPT="$RPM_OPT_FLAGS -O0"
mv blas_LINUX.a libblas.a
make cleanlib
make %{?jobs:-j%jobs} lapacklib \
OPTS="$RPM_OPT_FLAGS -fPIC" \
NOOPT="$RPM_OPT_FLAGS -O0 -fPIC"
mv lapack_LINUX.a liblapack_pic.a
mkdir tmp
( cd tmp; ar x ../liblapack_pic.a )
gfortran -shared -Wl,-soname=liblapack.so.3 -o liblapack.so.%version tmp/*.o -L. -lblas
ln -s liblapack.so.%version liblapack.so
rm -rf tmp
make cleanlib
make %{?jobs:-j%jobs} lapacklib \
OPTS="$RPM_OPT_FLAGS" \
NOOPT="$RPM_OPT_FLAGS -O0"
mv lapack_LINUX.a liblapack.a
%install
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.%version $RPM_BUILD_ROOT/%{_libdir}
ln -s libblas.so.%version $RPM_BUILD_ROOT/%{_libdir}/libblas.so.3
ln -s libblas.so.%version $RPM_BUILD_ROOT/%{_libdir}/libblas.so
install -m 755 liblapack.so.%version $RPM_BUILD_ROOT/%{_libdir}
ln -s liblapack.so.%version $RPM_BUILD_ROOT/%{_libdir}/liblapack.so.3
ln -s liblapack.so.%version $RPM_BUILD_ROOT/%{_libdir}/liblapack.so
# remove duplicate manpages
rm manpages/man/manl/xerbla.l
rm manpages/man/manl/xerbla_array.l
rm manpages/man/manl/lsame.l
rm manpages/man/manl/zdrot.l
rm manpages/man/manl/csrot.l
# remove bogus files
rm manpages/blas/man/manl/ssyrk.txt_new
rm manpages/blas/man/manl/intro_blas1.man
# move and rename manpages
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
for MANFILE in manpages/man/manl/*.l; do
CopyFile $MANFILE
done
find manpages/blas/man/manl -type f -printf "%{_mandir}/man3/%f\n" | sed -e 's/.l$/.3.gz/' > blasmans
find manpages/man/manl -type f -printf "%{_mandir}/man3/%f\n" | sed -e 's/.l$/.3.gz/' > lapackmans
%post -n libblas3 -p /sbin/ldconfig
%postun -n libblas3 -p /sbin/ldconfig
%post -n liblapack3 -p /sbin/ldconfig
%postun -n liblapack3 -p /sbin/ldconfig
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%{_libdir}/liblapack.so
%{_libdir}/liblapack.a
%{_libdir}/liblapack_pic.a
%files -n liblapack3
%defattr(-,root,root)
%{_libdir}/liblapack.so.%version
%{_libdir}/liblapack.so.3
%files -n blas
%defattr(-,root,root)
%{_libdir}/libblas.so
%{_libdir}/libblas.a
%{_libdir}/libblas_pic.a
%files -n libblas3
%defattr(-,root,root)
%{_libdir}/libblas.so.%version
%{_libdir}/libblas.so.3
%files -n blas-man -f blasmans
%defattr(-,root,root)
%files man -f lapackmans
%defattr(-,root,root)
%changelog