add 64bit INTEGER variant subpackages
This commit is contained in:
parent
d40d5fe5b8
commit
95a2a2f506
184
lapack.spec
184
lapack.spec
@ -1,10 +1,16 @@
|
||||
%global shortver 3
|
||||
%global mediumver %{shortver}.4
|
||||
|
||||
%ifarch x86_64 ppc64
|
||||
%global arch64 1
|
||||
%else
|
||||
%global arch64 0
|
||||
%endif
|
||||
|
||||
Summary: Numerical linear algebra package libraries
|
||||
Name: lapack
|
||||
Version: %{mediumver}.1
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
License: BSD
|
||||
Group: Development/Libraries
|
||||
URL: http://www.netlib.org/lapack/
|
||||
@ -74,6 +80,69 @@ Requires: blas-devel%{?_isa} = %{version}-%{release}
|
||||
%description -n blas-static
|
||||
BLAS static libraries.
|
||||
|
||||
%if 0%{?arch64}
|
||||
%package -n lapack64
|
||||
Summary: Numerical linear algebra package libraries
|
||||
Group: Development/Libraries
|
||||
|
||||
%description -n lapack64
|
||||
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. LAPACK
|
||||
is coded in Fortran90 and built with gcc.
|
||||
This build has 64bit INTEGER support.
|
||||
|
||||
%package -n lapack64-devel
|
||||
Summary: LAPACK development libraries (64bit INTEGER)
|
||||
Group: Development/Libraries
|
||||
Requires: lapack-devel%{?_isa} = %{version}-%{release}
|
||||
Requires: blas64-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n lapack64-devel
|
||||
LAPACK development libraries (shared, 64bit INTEGER).
|
||||
|
||||
%package -n lapack64-static
|
||||
Summary: LAPACK static libraries (64bit INTEGER)
|
||||
Group: Development/Libraries
|
||||
Requires: lapack64-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n lapack64-static
|
||||
LAPACK static libraries (64bit INTEGER).
|
||||
|
||||
%package -n blas64
|
||||
Summary: The Basic Linear Algebra Subprograms library (64bit INTEGER)
|
||||
Group: Development/Libraries
|
||||
|
||||
%description -n blas64
|
||||
BLAS (Basic Linear Algebra Subprograms) is a standard library which
|
||||
provides a number of basic algorithms for numerical algebra. This build
|
||||
has 64bit INTEGER support.
|
||||
|
||||
%package -n blas64-devel
|
||||
Summary: BLAS development libraries
|
||||
Group: Development/Libraries
|
||||
Requires: blas-devel%{?_isa} = %{version}-%{release}
|
||||
Requires: gcc-gfortran
|
||||
|
||||
%description -n blas64-devel
|
||||
BLAS development libraries (shared).
|
||||
|
||||
%package -n blas64-static
|
||||
Summary: BLAS static libraries (64bit INTEGER)
|
||||
Group: Development/Libraries
|
||||
Requires: blas64-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n blas64-static
|
||||
BLAS static libraries (64bit INTEGER).
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%setup -q -D -T -a1
|
||||
@ -108,9 +177,22 @@ make clean
|
||||
FFLAGS="$RPM_OPT_O_FLAGS -fPIC" make dcabs1.o
|
||||
FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" make shared
|
||||
cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||
%if 0%{?arch64}
|
||||
make clean
|
||||
FFLAGS="$RPM_OPT_O_FLAGS -fdefault-integer-8" make dcabs1.o
|
||||
FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" make static
|
||||
cp libblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64.a
|
||||
make clean
|
||||
FFLAGS="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" make dcabs1.o
|
||||
FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" make shared
|
||||
cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64.so.%{version}
|
||||
popd
|
||||
%endif
|
||||
|
||||
ln -s libblas.so.%{version} libblas.so
|
||||
%if 0%{?arch64}
|
||||
ln -s libblas64.so.%{version} libblas64.so
|
||||
%endif
|
||||
|
||||
# Build the static dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
@ -136,6 +218,32 @@ make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
|
||||
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic.a
|
||||
popd
|
||||
|
||||
%if 0%{?arch64}
|
||||
# Build the static dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make NOOPT="$RPM_OPT_O_FLAGS -fdefault-integer-8" OPTS="$RPM_OPT_FLAGS -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the static lapack library
|
||||
pushd SRC
|
||||
make FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" static
|
||||
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64.a
|
||||
popd
|
||||
|
||||
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits (64bit INTEGER)
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" OPTS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the static with pic lapack library (64bit INTEGER)
|
||||
pushd SRC
|
||||
make clean
|
||||
make FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
|
||||
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_pic.a
|
||||
popd
|
||||
%endif
|
||||
|
||||
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make clean
|
||||
@ -149,7 +257,25 @@ make FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC" shared
|
||||
cp liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||
popd
|
||||
|
||||
%if 0%{?arch64}
|
||||
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" OPTS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the shared lapack library
|
||||
pushd SRC
|
||||
make clean
|
||||
make FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" shared
|
||||
cp liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64.so.%{version}
|
||||
popd
|
||||
%endif
|
||||
|
||||
ln -s liblapack.so.%{version} liblapack.so
|
||||
%if 0%{?arch64}
|
||||
ln -s liblapack64.so.%{version} liblapack64.so
|
||||
%endif
|
||||
|
||||
# Build the lapacke libraries
|
||||
pushd lapacke
|
||||
@ -172,6 +298,12 @@ for f in liblapack.so.%{version} libblas.so.%{version} liblapacke.so.%{version}
|
||||
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
||||
done
|
||||
|
||||
%if 0%{?arch64}
|
||||
for f in liblapack64.so.%{version} libblas64.so.%{version} libblas64.a liblapack64.a liblapack64_pic.a; do
|
||||
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
||||
done
|
||||
%endif
|
||||
|
||||
# Blas manpages
|
||||
pushd manpages/
|
||||
mkdir -p blas/man/man3
|
||||
@ -231,6 +363,14 @@ ln -sf libblas.so.%{version} libblas.so.%{mediumver}
|
||||
ln -sf liblapacke.so.%{version} liblapacke.so
|
||||
ln -sf liblapacke.so.%{version} liblapacke.so.%{shortver}
|
||||
ln -sf liblapacke.so.%{version} liblapacke.so.%{mediumver}
|
||||
%if 0%{?arch64}
|
||||
ln -sf liblapack64.so.%{version} liblapack64.so
|
||||
ln -sf liblapack64.so.%{version} liblapack64.so.%{shortver}
|
||||
ln -sf liblapack64.so.%{version} liblapack64.so.%{mediumver}
|
||||
ln -sf libblas64.so.%{version} libblas64.so
|
||||
ln -sf libblas64.so.%{version} libblas64.so.%{shortver}
|
||||
ln -sf libblas64.so.%{version} libblas64.so.%{mediumver}
|
||||
%endif
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
|
||||
@ -240,6 +380,16 @@ ln -sf liblapacke.so.%{version} liblapacke.so.%{mediumver}
|
||||
|
||||
%postun -n blas -p /sbin/ldconfig
|
||||
|
||||
%if 0%{?arch64}
|
||||
%post -n lapack64 -p /sbin/ldconfig
|
||||
|
||||
%postun -n lapack64 -p /sbin/ldconfig
|
||||
|
||||
%post -n blas64 -p /sbin/ldconfig
|
||||
|
||||
%postun -n blas64 -p /sbin/ldconfig
|
||||
%endif
|
||||
|
||||
%files -f lapackmans
|
||||
%doc README LICENSE lapackqref.ps
|
||||
%dir %{_mandir}/man3/
|
||||
@ -252,7 +402,9 @@ ln -sf liblapacke.so.%{version} liblapacke.so.%{mediumver}
|
||||
%{_libdir}/liblapacke.so
|
||||
|
||||
%files static
|
||||
%{_libdir}/liblapack*.a
|
||||
%{_libdir}/liblapack.a
|
||||
%{_libdir}/liblapack_pic.a
|
||||
%{_libdir}/liblapacke.a
|
||||
|
||||
%files -n blas -f blasmans
|
||||
%doc blasqr.ps LICENSE
|
||||
@ -263,9 +415,35 @@ ln -sf liblapacke.so.%{version} liblapacke.so.%{mediumver}
|
||||
%{_libdir}/libblas.so
|
||||
|
||||
%files -n blas-static
|
||||
%{_libdir}/libblas*.a
|
||||
%{_libdir}/libblas.a
|
||||
|
||||
%if 0%{?arch64}
|
||||
%files -n blas64
|
||||
%doc LICENSE
|
||||
%{_libdir}/libblas64.so.*
|
||||
|
||||
%files -n blas64-devel
|
||||
%{_libdir}/libblas64.so
|
||||
|
||||
%files -n blas64-static
|
||||
%{_libdir}/libblas64.a
|
||||
|
||||
%files -n lapack64
|
||||
%doc README LICENSE
|
||||
%{_libdir}/liblapack64.so.*
|
||||
|
||||
%files -n lapack64-devel
|
||||
%{_libdir}/liblapack64.so
|
||||
|
||||
%files -n lapack64-static
|
||||
%{_libdir}/liblapack64.a
|
||||
%{_libdir}/liblapack64_pic.a
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Jan 4 2013 Tom Callaway <spot@fedoraproject.org> - 3.4.1-3
|
||||
- enable 64bit INTEGER variant subpackages
|
||||
|
||||
* Wed Oct 24 2012 Tom Callaway <spot@fedoraproject.org> - 3.4.1-2
|
||||
- fix issue where lapacke was linking to testing functions (bz860332)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user