Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37697185
en ru br
Репозитории ALT
S:3.8.0-alt7
5.1: 3.1.1-alt3
4.1: 3.1.1-alt2
4.0: 3.1.1-alt2
3.0: 2002-alt3
www.altlinux.org/Changes

Группа :: Разработка/Прочее
Пакет: lapack

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Name: lapack
Version: 3.1.1
Release: alt2
Epoch: 1

Summary: The BLAS and LAPACK Fortran libraries for numerical linear algebra
License: BSD
Group: Development/Other

URL: http://www.netlib.org/
Source: %name-%version.tar
Patch: %name-%version-%release.patch

# Automatically added by buildreq on Wed Apr 18 2007

BuildRequires: gcc-fortran libatlas-devel

%package -n lib%name
Summary: The BLAS and LAPACK Fortran libraries for numerical linear algebra
Group: System/Libraries

%package -n lib%name-devel
Summary: The BLAS and LAPACK Fortran libraries for numerical linear algebra
Group: Development/Other
Requires: libatlas-devel
Requires: lib%name = %epoch:%version-%release
Provides: %name = %version

%package -n lib%name-devel-static
Summary: The BLAS and LAPACK Fortran libraries for numerical linear algebra
Group: Development/Other
Requires: lib%name-devel = %epoch:%version-%release
Requires: libatlas-devel-static libgfortran-devel-static

%package -n blas-man
Summary: The BLAS and LAPACK Fortran libraries for numerical linear algebra
Group: Development/Documentation
Conflicts: liblapack-devel < 1:3.1.1-alt2

%package -n lapack-man
Summary: The BLAS and LAPACK Fortran libraries for numerical linear algebra
Group: Development/Documentation
Requires: blas-man = %epoch:%version-%release

%description
LAPACK (Linear Algebra PACKage) is a standard library for numerical
linear algebra. LAPACK provides routines for solving systems of
simultaneous linear equations, least-squares solutions of linear
systems of equations, eigenvalue problems, and singular value
problems. Associated matrix factorizations (LU, Cholesky, QR, SVD,
Schur, and generalized Schur) and related computations (i.e.,
reordering of Schur factorizations and estimating condition numbers)
are also included. LAPACK can handle dense and banded matrices, but
not general sparse matrices. Similar functionality is provided for
real and complex matrices in both single and double precision.

%description -n lib%name
LAPACK (Linear Algebra PACKage) is a standard library for numerical
linear algebra. LAPACK provides routines for solving systems of
simultaneous linear equations, least-squares solutions of linear
systems of equations, eigenvalue problems, and singular value
problems. Associated matrix factorizations (LU, Cholesky, QR, SVD,
Schur, and generalized Schur) and related computations (i.e.,
reordering of Schur factorizations and estimating condition numbers)
are also included. LAPACK can handle dense and banded matrices, but
not general sparse matrices. Similar functionality is provided for
real and complex matrices in both single and double precision.

%description -n lib%name-devel
LAPACK (Linear Algebra PACKage) is a standard library for numerical
linear algebra. LAPACK provides routines for solving systems of
simultaneous linear equations, least-squares solutions of linear
systems of equations, eigenvalue problems, and singular value
problems. Associated matrix factorizations (LU, Cholesky, QR, SVD,
Schur, and generalized Schur) and related computations (i.e.,
reordering of Schur factorizations and estimating condition numbers)
are also included. LAPACK can handle dense and banded matrices, but
not general sparse matrices. Similar functionality is provided for
real and complex matrices in both single and double precision.

%description -n lib%name-devel-static
LAPACK (Linear Algebra PACKage) is a standard library for numerical
linear algebra. LAPACK provides routines for solving systems of
simultaneous linear equations, least-squares solutions of linear
systems of equations, eigenvalue problems, and singular value
problems. Associated matrix factorizations (LU, Cholesky, QR, SVD,
Schur, and generalized Schur) and related computations (i.e.,
reordering of Schur factorizations and estimating condition numbers)
are also included. LAPACK can handle dense and banded matrices, but
not general sparse matrices. Similar functionality is provided for
real and complex matrices in both single and double precision.

%description -n blas-man
LAPACK (Linear Algebra PACKage) is a standard library for numerical
linear algebra. LAPACK provides routines for solving systems of
simultaneous linear equations, least-squares solutions of linear
systems of equations, eigenvalue problems, and singular value
problems. Associated matrix factorizations (LU, Cholesky, QR, SVD,
Schur, and generalized Schur) and related computations (i.e.,
reordering of Schur factorizations and estimating condition numbers)
are also included. LAPACK can handle dense and banded matrices, but
not general sparse matrices. Similar functionality is provided for
real and complex matrices in both single and double precision.

%description -n lapack-man
LAPACK (Linear Algebra PACKage) is a standard library for numerical
linear algebra. LAPACK provides routines for solving systems of
simultaneous linear equations, least-squares solutions of linear
systems of equations, eigenvalue problems, and singular value
problems. Associated matrix factorizations (LU, Cholesky, QR, SVD,
Schur, and generalized Schur) and related computations (i.e.,
reordering of Schur factorizations and estimating condition numbers)
are also included. LAPACK can handle dense and banded matrices, but
not general sparse matrices. Similar functionality is provided for
real and complex matrices in both single and double precision.

%prep
%setup -q
%patch -p1

export LC_COLLATE=C
ls manpages/blas/man/manl >blas.manpages
ls manpages/man/manl >lapack.manpages
comm -12 blas.manpages lapack.manpages >dup.manpages
(cd manpages/man/manl; xargs -r rm -v -- ) <dup.manpages || exit 1
rm blas.manpages lapack.manpages dup.manpages

%build
# whether to use the ALTAS optimized routines
%def_with atlas
%define soname liblapack.so.3

# for rpm -bc --short-circuit, rebuild test suite with liblapack.a

rm -f TESTING/x*

make
grep -r --include='*.out' -i fail . |tee 1.err

# liblapack.a is now ready; if we use the ATLAS optimized routines,

# we want to exclude certain *.o from the shared library and make it
# link with -llapack_atlas

%if_with atlas
rm -f *.o
ar x liblapack.a
nm -D %_libdir/liblapack_atlas.so %_libdir/libblas.so >sym
awk 'NF==3&&sub(/_$/,"",$3)&&$3!~/_/{print$3".o"}' <sym >dups
rm -fv `sort -u dups`
g77 -shared *.o \
-o %soname -Wl,-soname=%soname -Wl,--version-script=liblapack.map \
-llapack_atlas -lblas -Wl,-z,defs
rm liblapack.a
ar rcu liblapack.a *.o
ranlib liblapack.a
rm *.o

# rerun test suite against the shared library combo

rm TESTING/x*
LD_LIBRARY_PATH=$PWD make -C TESTING LAPACKLIB='%soname -llapack_atlas'
grep -r --include='*.out' -i fail . |tee 2.err

%else # without atlas
g77 -shared -Wl,--whole-archive liblapack.a -Wl,--no-whole-archive \
-o %soname -Wl,-soname=%soname -Wl,--version-script=liblapack.map \
-lblas -Wl,-z,defs
%endif

%install
install -pD -m755 %soname %buildroot%_libdir/%soname
%if_with atlas
install -pD -m644 liblapack.a %buildroot%_libdir/liblapack_.a
echo 'GROUP(%_libdir/%soname %_libdir/liblapack_atlas.so)' >%buildroot%_libdir/liblapack.so
echo 'GROUP(%_libdir/liblapack_.a %_libdir/liblapack_atlas.a)' >%buildroot%_libdir/liblapack.a
%else
install -pD -m644 liblapack.a %buildroot%_libdir/liblapack.a
ln -s %soname %buildroot%_libdir/liblapack.so
%endif

for f in manpages/blas/man/manl/*.l; do
m=$(basename "$f" .l).3f
install -pD -m644 $f %buildroot%_man3dir/"$m"
echo %_man3dir/"$m*"
done >blas-man.files

for f in manpages/man/manl/*.l; do
m=$(basename "$f" .l).3f
# some lapack pages miss .TH header
if grep -qs -i '^[.]TH[[:space:]]' "$f"; then
install -pD -m644 $f %buildroot%_man3dir/"$m"
else
echo ".TH $(echo ${m%%.3f} |sed -e 's/.*/\U&/') 3" >%buildroot%_man3dir/"$m"
cat "$f" >>%buildroot%_man3dir/"$m"
fi
echo %_man3dir/"$m*"
done >lapack-man.files

%post -n lib%name -p %post_ldconfig
%postun -n lib%name -p %postun_ldconfig

%files -n lib%name
%define _customdocdir %_docdir/lapack-3.1
%doc COPYING README lapack-*.changes
%_libdir/%soname

%files -n lib%name-devel
%_libdir/liblapack.so

%files -n lib%name-devel-static
%if_with atlas
%_libdir/liblapack_.a
%endif
%_libdir/liblapack.a

%files -n blas-man -f blas-man.files
%files -n lapack-man -f lapack-man.files

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin