Accepting request 128925 from devel:libraries:c_c++

- Fix bnc#772628 

- update baselibs.conf 

- build the c interface lapacke

- doxygen >= 1.7 is required for building docu

OBS-URL: https://build.opensuse.org/request/show/128925
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lapack?expand=0&rev=29
This commit is contained in:
Stephan Kulow 2012-07-30 18:33:33 +00:00 committed by Git OBS Bridge
parent 7f27481be5
commit e8737b4144
3 changed files with 101 additions and 1 deletions

View File

@ -1,8 +1,12 @@
liblapack3
libblas3
liblapacke3
lapack-devel
requires -lapack-<targettype>
requires "liblapack3-<targettype> = <version>"
blas-devel
requires -blas-<targettype>
requires "libblas3-<targettype> = <version>"
lapacke-devel
requires -lapacke-<targettype>
requires "liblapacke3-<targettype> = <version>"

View File

@ -1,3 +1,23 @@
-------------------------------------------------------------------
Wed Jul 25 14:30:36 UTC 2012 - idonmez@suse.com
- Fix bnc#772628
-------------------------------------------------------------------
Thu Jul 19 20:44:04 UTC 2012 - scorot@free.fr
- update baselibs.conf
-------------------------------------------------------------------
Sun Jul 15 18:47:19 UTC 2012 - scorot@free.fr
- build the c interface lapacke
-------------------------------------------------------------------
Thu May 31 13:52:43 CEST 2012 - kukuk@suse.de
- doxygen >= 1.7 is required for building docu
-------------------------------------------------------------------
Mon May 21 14:40:18 UTC 2012 - saschpe@suse.de

View File

@ -25,7 +25,7 @@ Group: Development/Libraries/Parallel
Url: http://www.netlib.org/lapack/
Source0: http://www.netlib.org/lapack/%{name}-%{version}.tgz
Patch1: lapack-3.2.2.patch
BuildRequires: doxygen
BuildRequires: doxygen >= 1.7
BuildRequires: gcc-fortran
BuildRequires: python
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -125,10 +125,44 @@ BuildArch: noarch
The blas-man package contains documentation for BLAS (Basic Linear
Algebra subprograms) routines, in the form of man pages.
%package -n liblapacke3
Summary: LAPACKE development files
Group: Development/Libraries/C and C++
%description -n liblapacke3
This library provides a native C interface to LAPACK routines available
at www.netlib.org/lapack to facilitate usage of LAPACK functionality
for C programmers.
This implementation introduces:
- row-major and column-major matrix layout controlled by the first function
parameter;
- an implementation with working arrays (middle-level interface) as well as
without working arrays (high-level interface);
- input scalars passed by value;
- error code as a return value instead of the INFO parameter.
%package -n lapacke-devel
Requires: liblapacke3 = %{version}
Provides: lapacke = %{version}
Provides: lapacke-devel-static = %{version}
Summary: LAPACKE development files
Group: Development/Libraries/C and C++
%description -n lapacke-devel
LAPACKE headers and development files.
%prep
%setup -q
%patch1
# Bad licenses, bnc#772628
rm DOCS/psfig.tex
rm lapacke/example/example_DGESV_rowmajor.c
rm lapacke/example/example_ZGESV_rowmajor.c
%build
case "$RPM_ARCH" in
i[0-9]86) PRECFLAGS="-ffloat-store" ;;
@ -177,6 +211,23 @@ make %{?_smp_mflags} lapacklib \
OPTS="%{optflags}" \
NOOPT="%{optflags} -O0"
ln -s libblas.a librefblas.a
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 tmp
( cd tmp; ar x ../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
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
cd ..
make lapack_testing \
OPTS="%{optflags} $PRECFLAGS" \
NOOPT="%{optflags} $PRECFLAGS -O0"
@ -221,6 +272,7 @@ rm -f DOCS/psfig.tex # see bnc#757332
%install
install -d %{buildroot}/%{_libdir}
install -d %{buildroot}/%{_includedir}
install -m 644 libblas.a %{buildroot}/%{_libdir}
install -m 644 libblas_pic.a %{buildroot}/%{_libdir}
install -m 644 liblapack.a %{buildroot}/%{_libdir}
@ -231,6 +283,14 @@ ln -s libblas.so.%{version} %{buildroot}/%{_libdir}/libblas.so
install -m 755 liblapack.so.%{version} %{buildroot}/%{_libdir}
ln -s liblapack.so.%{version} %{buildroot}/%{_libdir}/liblapack.so.3
ln -s liblapack.so.%{version} %{buildroot}/%{_libdir}/liblapack.so
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 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
cd ..
install -d %{buildroot}%{_mandir}/man3
install -m 0644 DOCS/man/man3/*.3 %{buildroot}%{_mandir}/man3/
find BLAS/SRC/ -name \*.f -type f -printf "%{_mandir}/man3/%f.3.gz\n" \
@ -276,6 +336,9 @@ ln -s DLAMCH.3.gz %{buildroot}/%{_mandir}/man3/DLAMC3.3.gz
%post -n liblapack3 -p /sbin/ldconfig
%postun -n liblapack3 -p /sbin/ldconfig
%post -n liblapacke3 -p /sbin/ldconfig
%postun -n liblapacke3 -p /sbin/ldconfig
%files -n liblapack3
%defattr(-,root,root)
%doc LICENSE README
@ -306,4 +369,17 @@ ln -s DLAMCH.3.gz %{buildroot}/%{_mandir}/man3/DLAMC3.3.gz
%files -n blas-man -f blasmans
%defattr(-,root,root)
%files -n liblapacke3
%defattr(-,root,root,-)
%{_libdir}/liblapacke.so.%{version}
%{_libdir}/liblapacke.so.3
%files -n lapacke-devel
%defattr(-,root,root,-)
%doc lapacke/LICENSE lapacke/README
%{_libdir}/liblapacke.so
%{_libdir}/liblapacke.a
%{_libdir}/liblapacke_pic.a
%{_includedir}/*.h
%changelog