From e8737b414408f119833edbbb5592fd6cfc4fb119f2a16395cda6dfa8b919f1ae Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 30 Jul 2012 18:33:33 +0000 Subject: [PATCH] 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 --- baselibs.conf | 4 +++ lapack.changes | 20 +++++++++++++ lapack.spec | 78 +++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 101 insertions(+), 1 deletion(-) diff --git a/baselibs.conf b/baselibs.conf index e918f6a..ee59c1b 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,8 +1,12 @@ liblapack3 libblas3 +liblapacke3 lapack-devel requires -lapack- requires "liblapack3- = " blas-devel requires -blas- requires "libblas3- = " +lapacke-devel + requires -lapacke- + requires "liblapacke3- = " diff --git a/lapack.changes b/lapack.changes index 48642ec..fc75dcf 100644 --- a/lapack.changes +++ b/lapack.changes @@ -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 diff --git a/lapack.spec b/lapack.spec index 6d56cca..45453fb 100644 --- a/lapack.spec +++ b/lapack.spec @@ -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