Accepting request 563843 from devel:libraries:c_c++

- Upate to lapack 3.8.0.  [bnc#956223]
  * Many enhancements and additions
- Remove lapack-3.2.2.patch.
- Package CBLAS, adjust baselibs.conf for it.
- Change the interpreter for python_testing.py to python3 and BuildRequire
  python3-base instead of python.  [bnc#1075766]

OBS-URL: https://build.opensuse.org/request/show/563843
OBS-URL: https://build.opensuse.org/package/show/science/lapack?expand=0&rev=7
This commit is contained in:
Stanislav Brabec 2018-01-12 13:28:39 +00:00 committed by Git OBS Bridge
parent 12fcee72f8
commit 3f24f89edb
7 changed files with 136 additions and 44 deletions

View File

@ -1,6 +1,7 @@
liblapack3
libblas3
liblapacke3
libcblas3
lapack-devel
requires -lapack-<targettype>
requires "liblapack3-<targettype> = <version>"
@ -10,3 +11,6 @@ blas-devel
lapacke-devel
requires -lapacke-<targettype>
requires "liblapacke3-<targettype> = <version>"
cblas-devel
requires -cblas-<targettype>
requires "libcblas3-<targettype> = <version>"

View File

@ -1,11 +0,0 @@
--- BLAS/SRC/Makefile.orig 2010-01-13 13:06:19.000000000 +0100
+++ BLAS/SRC/Makefile 2010-01-13 13:07:13.000000000 +0100
@@ -167,5 +167,8 @@
clean:
rm -f *.o
+dcabs1.o: dcabs1.f
+ $(FORTRAN) $(NOOPT) -c $< -o $@
+
.f.o:
$(FORTRAN) $(OPTS) -c $< -o $@

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e405fd54fb457f5a382511b79dff347a90870edbffe42602b8d9c25970bb4177
size 6312876

3
lapack-3.8.0.tgz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:deb22cc4a6120bff72621155a9917f485f96ef8319ac074a7afbc68aab88bcf6
size 7426094

View File

@ -1,7 +1,7 @@
#
# spec file for package lapack-man
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Fri Jan 12 11:05:33 UTC 2018 - rguenther@suse.com
- Upate to lapack 3.8.0. [bnc#956223]
* Many enhancements and additions
- Remove lapack-3.2.2.patch.
- Package CBLAS, adjust baselibs.conf for it.
- Change the interpreter for python_testing.py to python3 and BuildRequire
python3-base instead of python. [bnc#1075766]
-------------------------------------------------------------------
Wed May 31 21:39:51 UTC 2017 - jengelh@inai.de

View File

@ -1,7 +1,7 @@
#
# spec file for package lapack
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,7 +17,7 @@
Name: lapack
Version: 3.5.0
Version: 3.8.0
Release: 0
Summary: Linear Algebra Package
License: BSD-3-Clause
@ -25,9 +25,8 @@ Group: Development/Libraries/Parallel
Url: http://www.netlib.org/lapack/
Source0: http://www.netlib.org/lapack/%{name}-%{version}.tgz
Source99: baselibs.conf
Patch1: lapack-3.2.2.patch
BuildRequires: gcc-fortran
BuildRequires: python
BuildRequires: python3-base
BuildRequires: update-alternatives
Requires(pre): update-alternatives
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -169,9 +168,35 @@ Requires: lapacke-devel = %{version}
%description -n lapacke-devel-static
LAPACKE development files - static libraries.
%package -n libcblas3
Summary: CBLAS library
Group: Development/Libraries/C and C++
%description -n libcblas3
This library provides a native C interface to BLAS routines
to facilitate usage of LAPACK functionality for C programmers.
%package -n cblas-devel
Summary: CBLAS development files
Group: Development/Libraries/C and C++
Requires: libcblas3 = %{version}
Provides: cblas = %{version}
Provides: cblas-devel-static = %{version}
%description -n cblas-devel
CBLAS headers and development files.
%package -n cblas-devel-static
Summary: CBLAS development files - static libraries
Group: Development/Libraries/C and C++
Requires: cblas-devel = %{version}
%description -n cblas-devel-static
CBLAS development files - static libraries.
%prep
%setup -q
%patch1
%build
case "$RPM_ARCH" in
@ -180,17 +205,18 @@ case "$RPM_ARCH" in
esac
export PRECFLAGS
cp make.inc.example make.inc
make cleanlib %{?_smp_mflags}
## BLAS
make %{?_smp_mflags} blaslib \
OPTS="%{optflags} -fPIC" \
NOOPT="%{optflags} -O0 -fPIC"
mv librefblas.a libblas_pic.a
mkdir pic
mv librefblas.a pic/libblas_pic.a
mkdir tmp
( cd tmp; ar x ../libblas_pic.a )
( cd tmp; ar x ../pic/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 %{?_smp_mflags}
make -C BLAS clean
make %{?_smp_mflags} blaslib \
OPTS="%{optflags}" \
NOOPT="%{optflags} -O0"
@ -205,39 +231,69 @@ if grep -B15 -A15 FAIL BLAS/*.out; then
else
true # No failures
fi
mv librefblas.a libblas.a
make cleanlib %{?_smp_mflags}
cp librefblas.a libblas.a
## CBLAS
make %{?_smp_mflags} cblaslib \
OPTS="%{optflags} -fPIC" \
CFLAGS="%{optflags} -fPIC" \
NOOPT="%{optflags} -O0 -fPIC"
mv libcblas.a pic/libcblas_pic.a
mkdir tmp
( cd tmp; ar x ../pic/libcblas_pic.a )
gfortran -shared -Wl,-soname=libcblas.so.3 -o libcblas.so.%{version} tmp/*.o
ln -s libcblas.so.%{version} libcblas.so
rm -rf tmp
make -C CBLAS clean
make %{?_smp_mflags} cblaslib \
OPTS="%{optflags}" \
CFLAGS="%{optflags}" \
NOOPT="%{optflags} -O0"
make cblas_testing \
OPTS="%{optflags} $PRECFLAGS" \
CFLAGS="%{optflags} $PRECFLAGS" \
NOOPT="%{optflags} $PRECFLAGS -O0"
if grep -B15 -A15 FAIL CBLAS/*.out; then
echo
echo "cblas_testing FAILED"
echo
false
else
true # No failures
fi
## LAPACK
make %{?_smp_mflags} lapacklib \
OPTS="%{optflags} -fPIC" \
NOOPT="%{optflags} -O0 -fPIC"
mv liblapack.a liblapack_pic.a
mv liblapack.a pic/liblapack_pic.a
mkdir tmp
( cd tmp; ar x ../liblapack_pic.a )
( cd tmp; ar x ../pic/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 %{?_smp_mflags}
make -C SRC clean
make %{?_smp_mflags} lapacklib \
OPTS="%{optflags}" \
NOOPT="%{optflags} -O0"
ln -s libblas.a librefblas.a
cd lapacke
## LAPACKE
cd LAPACKE
make %{?_smp_mflags} lapacke \
CFLAGS="%{optflags} -fPIC -DADD_ -DHAVE_LAPACK_CONFIG_H -DLAPACK_COMPLEX_STRUCTURE" \
LINKER=gfortran
mv ../liblapacke.a liblapacke_pic.a
mkdir pic
mv ../liblapacke.a pic/liblapacke_pic.a
mkdir tmp
( cd tmp; ar x ../liblapacke_pic.a )
( cd tmp; ar x ../pic/liblapacke_pic.a )
gfortran -shared -Wl,-soname=liblapacke.so.3 -o liblapacke.so.%{version} tmp/*.o
ln -s liblapacke.so.%{version} liblapacke.so
rm -rf tmp
make cleanlib %{?_smp_mflags}
make clean
make %{?_smp_mflags} lapacke \
CFLAGS="%{optflags} -DADD_ -DHAVE_LAPACK_CONFIG_H -DLAPACK_COMPLEX_STRUCTURE"
mv ../liblapacke.a liblapacke.a
# fix wrong end of line
sed -i 's/\r//' LICENSE
mv ../liblapacke.a liblapacke.a
cd ..
sed -i -e "1s|#!.*|#!/usr/bin/python3|" lapack_testing.py
make lapack_testing \
OPTS="%{optflags} $PRECFLAGS" \
NOOPT="%{optflags} $PRECFLAGS -O0"
@ -252,21 +308,29 @@ fi
%install
install -d %{buildroot}/%{_libdir}
install -d %{buildroot}/%{_includedir}
install -d %{buildroot}/%{_sysconfdir}/alternatives
## BLAS
install -d %{buildroot}/%{_libdir}/blas
install -m 644 libblas.a %{buildroot}/%{_libdir}
install -m 644 libblas_pic.a %{buildroot}/%{_libdir}
install -m 644 pic/libblas_pic.a %{buildroot}/%{_libdir}
install -m 755 libblas.so.%{version} %{buildroot}/%{_libdir}/blas
ln -s libblas.so.%{version} %{buildroot}/%{_libdir}/blas/libblas.so.3
ln -s blas/libblas.so.%{version} %{buildroot}/%{_libdir}/libblas.so
# dummy target for update-alternatives
ln -s blas/libblas.so.%{version} %{buildroot}/%{_libdir}/libblas.so.3
ln -s libblas.so.%{version} %{buildroot}/%{_sysconfdir}/alternatives/libblas.so.3
## CBLAS
install -m 644 CBLAS/include/*.h %{buildroot}/%{_includedir}
install -m 644 libcblas.a %{buildroot}/%{_libdir}
install -m 644 pic/libcblas_pic.a %{buildroot}/%{_libdir}
install -m 755 libcblas.so.%{version} %{buildroot}/%{_libdir}
ln -s libcblas.so.%{version} %{buildroot}/%{_libdir}/libcblas.so.3
ln -s libcblas.so.%{version} %{buildroot}/%{_libdir}/libcblas.so
## LAPACK
install -d %{buildroot}/%{_libdir}/lapack
install -m 644 liblapack.a %{buildroot}/%{_libdir}
install -m 644 liblapack_pic.a %{buildroot}/%{_libdir}
install -m 644 pic/liblapack_pic.a %{buildroot}/%{_libdir}
install -m 755 liblapack.so.%{version} %{buildroot}/%{_libdir}/lapack
ln -s liblapack.so.%{version} %{buildroot}/%{_libdir}/lapack/liblapack.so.3
ln -s lapack/liblapack.so.%{version} %{buildroot}/%{_libdir}/liblapack.so
@ -274,11 +338,10 @@ ln -s lapack/liblapack.so.%{version} %{buildroot}/%{_libdir}/liblapack.so
ln -s lapack/liblapack.so.%{version} %{buildroot}/%{_libdir}/liblapack.so.3
ln -s liblapack.so.%{version} %{buildroot}/%{_sysconfdir}/alternatives/liblapack.so.3
## LAPACKE
install -d %{buildroot}/%{_includedir}
cd lapacke
cd LAPACKE
install -m 644 include/*.h %{buildroot}/%{_includedir}
install -m 644 liblapacke.a %{buildroot}/%{_libdir}
install -m 644 liblapacke_pic.a %{buildroot}/%{_libdir}
install -m 644 pic/liblapacke_pic.a %{buildroot}/%{_libdir}
install -m 755 liblapacke.so.%{version} %{buildroot}/%{_libdir}
ln -s liblapacke.so.%{version} %{buildroot}/%{_libdir}/liblapacke.so.3
ln -s liblapacke.so.%{version} %{buildroot}/%{_libdir}/liblapacke.so
@ -326,9 +389,13 @@ fi
%postun -n liblapacke3 -p /sbin/ldconfig
%post -n libcblas3 -p /sbin/ldconfig
%postun -n libcblas3 -p /sbin/ldconfig
%files -n liblapack3
%defattr(-,root,root)
%doc LICENSE README
%doc LICENSE README.md
%dir %{_libdir}/lapack
%{_libdir}/lapack/liblapack.so.%{version}
%{_libdir}/lapack/liblapack.so.3
@ -342,7 +409,7 @@ fi
%files -n libblas3
%defattr(-,root,root)
%doc LICENSE README
%doc LICENSE README.md
%dir %{_libdir}/blas
%{_libdir}/blas/libblas.so.%{version}
%{_libdir}/blas/libblas.so.3
@ -379,13 +446,35 @@ fi
%files -n lapacke-devel
%defattr(-,root,root,-)
%doc lapacke/LICENSE lapacke/README
%doc LAPACKE/LICENSE LAPACKE/README DOCS/lapacke.pdf
%{_libdir}/liblapacke.so
%{_includedir}/*.h
%{_includedir}/lapacke.h
%{_includedir}/lapacke_config.h
%{_includedir}/lapacke_mangling.h
%{_includedir}/lapacke_utils.h
%files -n lapacke-devel-static
%defattr(-,root,root,-)
%{_libdir}/liblapacke.a
%{_libdir}/liblapacke_pic.a
%files -n libcblas3
%defattr(-,root,root,-)
%{_libdir}/libcblas.so.%{version}
%{_libdir}/libcblas.so.3
%files -n cblas-devel
%defattr(-,root,root,-)
%doc LICENSE CBLAS/README
%{_libdir}/libcblas.so
%{_includedir}/cblas.h
%{_includedir}/cblas_f77.h
%{_includedir}/cblas_mangling.h
%{_includedir}/cblas_test.h
%files -n cblas-devel-static
%defattr(-,root,root,-)
%{_libdir}/libcblas.a
%{_libdir}/libcblas_pic.a
%changelog