packages: lapack/lapack-automake_support.patch, lapack/lapack.spec - update...
qboosh
qboosh at pld-linux.org
Sat Dec 31 15:56:16 CET 2011
Author: qboosh Date: Sat Dec 31 14:56:16 2011 GMT
Module: packages Tag: HEAD
---- Log message:
- updated to 3.4.0
- updated automake_support patch
- package lapacke libraries (native C interface to LAPACK)
---- Files affected:
packages/lapack:
lapack-automake_support.patch (1.18 -> 1.19) , lapack.spec (1.47 -> 1.48)
---- Diffs:
================================================================
Index: packages/lapack/lapack-automake_support.patch
diff -u packages/lapack/lapack-automake_support.patch:1.18 packages/lapack/lapack-automake_support.patch:1.19
--- packages/lapack/lapack-automake_support.patch:1.18 Sat Apr 23 20:00:28 2011
+++ packages/lapack/lapack-automake_support.patch Sat Dec 31 15:56:11 2011
@@ -1,12 +1,11 @@
-diff -Nur lapack-3.1.1.orig/BLAS/Makefile.am lapack-3.1.1/BLAS/Makefile.am
--- lapack-3.1.1.orig/BLAS/Makefile.am 1970-01-01 01:00:00.000000000 +0100
+++ lapack-3.1.1/BLAS/Makefile.am 2007-08-06 22:04:22.000000000 +0100
@@ -0,0 +1,3 @@
+SUBDIRS=SRC
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = blas.pc
---- lapack-3.3.0.orig/BLAS/SRC/Makefile.am 1970-01-01 01:00:00.000000000 +0100
-+++ lapack-3.3.0/BLAS/SRC/Makefile.am 2007-08-06 22:05:32.000000000 +0100
+--- lapack-3.4.0.orig/BLAS/SRC/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ lapack-3.4.0/BLAS/SRC/Makefile.am 2007-08-06 22:05:32.000000000 +0100
@@ -0,0 +1,31 @@
+LIBTOOL = $(SHELL) $(top_builddir)/libtool --tag=F77
+lib_LTLIBRARIES = libblas.la
@@ -39,8 +38,8 @@
+ dgemm.f dsymm.f dsyrk.f dsyr2k.f dtrmm.f dtrsm.f \
+ zgemm.f zsymm.f zsyrk.f zsyr2k.f ztrmm.f ztrsm.f \
+ zhemm.f zherk.f zher2k.f
---- lapack-3.3.0.orig/configure.in 1970-01-01 01:00:00.000000000 +0100
-+++ lapack-3.3.0/configure.in 2007-08-06 22:04:22.000000000 +0100
+--- lapack-3.4.0.orig/configure.in 1970-01-01 01:00:00.000000000 +0100
++++ lapack-3.4.0/configure.in 2007-08-06 22:04:22.000000000 +0100
@@ -0,0 +1,19 @@
+dnl Process this file with autoconf to produce a configure script.
+
@@ -49,8 +48,8 @@
+dnl klakier at pld.org.pl
+
+AC_INIT
-+AM_INIT_AUTOMAKE(lapack, 3.3.1)
-+LIBVERSION="6:1:4"
++AM_INIT_AUTOMAKE(lapack, 3.4.0)
++LIBVERSION="7:0:5"
+AC_SUBST([LIBVERSION])
+AM_CONFIG_HEADER(config.h)
+
@@ -60,17 +59,17 @@
+AC_PROG_F77
+AC_PROG_LIBTOOL
+
-+AC_OUTPUT([Makefile SRC/Makefile BLAS/Makefile BLAS/SRC/Makefile BLAS/blas.pc lapack.pc])
++AC_OUTPUT([Makefile SRC/Makefile BLAS/Makefile BLAS/SRC/Makefile lapacke/Makefile lapacke/src/Makefile BLAS/blas.pc lapack.pc])
diff -Nur lapack-3.1.1.orig/Makefile.am lapack-3.1.1/Makefile.am
--- lapack-3.1.1.orig/Makefile.am 1970-01-01 01:00:00.000000000 +0100
+++ lapack-3.1.1/Makefile.am 2007-08-06 22:04:22.000000000 +0100
@@ -0,0 +1,3 @@
-+SUBDIRS=BLAS SRC
++SUBDIRS=BLAS SRC lapacke
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = lapack.pc
---- lapack-3.3.0.orig/SRC/Makefile.am 1970-01-01 01:00:00.000000000 +0100
-+++ lapack-3.3.0/SRC/Makefile.am 2007-08-06 22:06:57.000000000 +0100
-@@ -0,0 +1,313 @@
+--- lapack-3.4.0.orig/SRC/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ lapack-3.4.0/SRC/Makefile.am 2007-08-06 22:06:57.000000000 +0100
+@@ -0,0 +1,321 @@
+LIBTOOL = $(SHELL) $(top_builddir)/libtool --tag=F77
+lib_LTLIBRARIES = liblapack.la
+liblapack_la_LDFLAGS = -version-info @LIBVERSION@
@@ -166,6 +165,8 @@
+ sgejsv.f sgesvj.f sgsvj0.f sgsvj1.f \
+ sgeequb.f ssyequb.f spoequb.f sgbequb.f \
+ sbbcsd.f slapmr.f sorbdb.f sorcsd.f \
++ sgeqrt.f sgeqrt2.f sgeqrt3.f sgemqrt.f \
++ stpqrt.f stpqrt2.f stpmqrt.f stprfb.f \
+ cbdsqr.f cgbbrd.f cgbcon.f cgbequ.f cgbrfs.f cgbsv.f cgbsvx.f \
+ cgbtf2.f cgbtrf.f cgbtrs.f cgebak.f cgebal.f cgebd2.f cgebrd.f \
+ cgecon.f cgeequ.f cgees.f cgeesx.f cgeev.f cgeevx.f \
@@ -225,6 +226,8 @@
+ ctfttr.f ctpttf.f ctpttr.f ctrttf.f ctrttp.f \
+ cgeequb.f cgbequb.f csyequb.f cpoequb.f cheequb.f \
+ cbbcsd.f clapmr.f cunbdb.f cuncsd.f \
++ cgeqrt.f cgeqrt2.f cgeqrt3.f cgemqrt.f \
++ ctpqrt.f ctpqrt2.f ctpmqrt.f ctprfb.f \
+ dgbbrd.f dgbcon.f dgbequ.f dgbrfs.f dgbsv.f \
+ dgbsvx.f dgbtf2.f dgbtrf.f dgbtrs.f dgebak.f dgebal.f dgebd2.f \
+ dgebrd.f dgecon.f dgeequ.f dgees.f dgeesx.f dgeev.f dgeevx.f \
@@ -281,6 +284,8 @@
+ dgejsv.f dgesvj.f dgsvj0.f dgsvj1.f \
+ dgeequb.f dsyequb.f dpoequb.f dgbequb.f \
+ dbbcsd.f dlapmr.f dorbdb.f dorcsd.f \
++ dgeqrt.f dgeqrt2.f dgeqrt3.f dgemqrt.f \
++ dtpqrt.f dtpqrt2.f dtpmqrt.f dtprfb.f \
+ zbdsqr.f zgbbrd.f zgbcon.f zgbequ.f zgbrfs.f zgbsv.f zgbsvx.f \
+ zgbtf2.f zgbtrf.f zgbtrs.f zgebak.f zgebal.f zgebd2.f zgebrd.f \
+ zgecon.f zgeequ.f zgees.f zgeesx.f zgeev.f zgeevx.f \
@@ -344,18 +349,20 @@
+ zhfrk.f ztfttp.f zlanhf.f zpftrf.f zpftri.f zpftrs.f ztfsm.f ztftri.f \
+ ztfttr.f ztpttf.f ztpttr.f ztrttf.f ztrttp.f \
+ zgeequb.f zgbequb.f zsyequb.f zpoequb.f zheequb.f \
-+ zbbcsd.f zlapmr.f zunbdb.f zuncsd.f
++ zbbcsd.f zlapmr.f zunbdb.f zuncsd.f \
++ zgeqrt.f zgeqrt2.f zgeqrt3.f zgemqrt.f \
++ ztpqrt.f ztpqrt2.f ztpmqrt.f ztprfb.f
+# these require XBLAS
+XBLASSRC = \
+ sgesvxx.f sgerfsx.f sla_gerfsx_extended.f sla_geamv.f \
-+ sla_gercond.f sla_rpvgrw.f ssysvxx.f ssyrfsx.f \
++ sla_gercond.f sla_gerpvgrw.f ssysvxx.f ssyrfsx.f \
+ sla_syrfsx_extended.f sla_syamv.f sla_syrcond.f sla_syrpvgrw.f \
+ sposvxx.f sporfsx.f sla_porfsx_extended.f sla_porcond.f \
+ sla_porpvgrw.f sgbsvxx.f sgbrfsx.f sla_gbrfsx_extended.f \
+ sla_gbamv.f sla_gbrcond.f sla_gbrpvgrw.f sla_lin_berr.f slarscl2.f \
+ slascl2.f sla_wwaddw.f \
+ cgesvxx.f cgerfsx.f cla_gerfsx_extended.f cla_geamv.f \
-+ cla_gercond_c.f cla_gercond_x.f cla_rpvgrw.f \
++ cla_gercond_c.f cla_gercond_x.f cla_gerpvgrw.f \
+ csysvxx.f csyrfsx.f cla_syrfsx_extended.f cla_syamv.f \
+ cla_syrcond_c.f cla_syrcond_x.f cla_syrpvgrw.f \
+ cposvxx.f cporfsx.f cla_porfsx_extended.f \
@@ -366,14 +373,14 @@
+ cla_hercond_c.f cla_hercond_x.f cla_herpvgrw.f \
+ cla_lin_berr.f clarscl2.f clascl2.f cla_wwaddw.f \
+ dgesvxx.f dgerfsx.f dla_gerfsx_extended.f dla_geamv.f \
-+ dla_gercond.f dla_rpvgrw.f dsysvxx.f dsyrfsx.f \
++ dla_gercond.f dla_gerpvgrw.f dsysvxx.f dsyrfsx.f \
+ dla_syrfsx_extended.f dla_syamv.f dla_syrcond.f dla_syrpvgrw.f \
+ dposvxx.f dporfsx.f dla_porfsx_extended.f dla_porcond.f \
+ dla_porpvgrw.f dgbsvxx.f dgbrfsx.f dla_gbrfsx_extended.f \
+ dla_gbamv.f dla_gbrcond.f dla_gbrpvgrw.f dla_lin_berr.f dlarscl2.f \
+ dlascl2.f dla_wwaddw.f \
+ zgesvxx.f zgerfsx.f zla_gerfsx_extended.f zla_geamv.f \
-+ zla_gercond_c.f zla_gercond_x.f zla_rpvgrw.f zsysvxx.f zsyrfsx.f \
++ zla_gercond_c.f zla_gercond_x.f zla_gerpvgrw.f zsysvxx.f zsyrfsx.f \
+ zla_syrfsx_extended.f zla_syamv.f zla_syrcond_c.f zla_syrcond_x.f \
+ zla_syrpvgrw.f zposvxx.f zporfsx.f zla_porfsx_extended.f \
+ zla_porcond_c.f zla_porcond_x.f zla_porpvgrw.f zgbsvxx.f zgbrfsx.f \
@@ -384,3 +391,17 @@
+
+# these sources use hacks to detect fp precision, optimization would break them
+slamch.lo dlamch.lo:: FFLAGS += -O0
+--- lapack-3.4.0.orig/lapacke/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ lapack-3.4.0/lapacke/Makefile.am 2007-08-06 22:06:57.000000000 +0100
+@@ -0,0 +1,2 @@
++SUBDIRS=src
++include_HEADERS=include/lapacke.h include/lapacke_config.h include/lapacke_utils.h
+--- lapack-3.4.0.orig/lapacke/src/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ lapack-3.4.0/lapacke/src/Makefile.am 2007-08-06 22:06:57.000000000 +0100
+@@ -0,0 +1,6 @@
++LIBTOOL = $(SHELL) $(top_builddir)/libtool
++lib_LTLIBRARIES = liblapacke.la
++liblapacke_la_CPPFLAGS = -I$(top_srcdir)/lapacke/include
++liblapacke_la_LDFLAGS = -version-info @LIBVERSION@
++liblapacke_la_LIBADD = $(top_builddir)/SRC/liblapack.la $(top_builddir)/BLAS/SRC/libblas.la
++liblapacke_la_SOURCES = @LAPACKE_FILES@
================================================================
Index: packages/lapack/lapack.spec
diff -u packages/lapack/lapack.spec:1.47 packages/lapack/lapack.spec:1.48
--- packages/lapack/lapack.spec:1.47 Sat Apr 23 20:00:28 2011
+++ packages/lapack/lapack.spec Sat Dec 31 15:56:11 2011
@@ -1,16 +1,20 @@
# $Revision$, $Date$
+# NOTE: when updating automake_support patch, look both on included
+# cmake suite and plain Makefiles - one of them is mostly outdated
+# (as of 3.4.0, cmake misses some files added in 3.4; also it
+# doesn't care about setting soname, so currently isn't worth using)
Summary: The LAPACK libraries for numerical linear algebra
Summary(pl.UTF-8): Biblioteki numeryczne LAPACK do algebry liniowej
Name: lapack
-Version: 3.3.1
-%define man_ver 3.3.1
+Version: 3.4.0
+%define man_ver 3.4.0
Release: 1
License: freely distributable
Group: Libraries
Source0: http://www.netlib.org/lapack/%{name}-%{version}.tgz
-# Source0-md5: d0d533ec9a5b74933c2a1e84eedc58b4
+# Source0-md5: 02d5706ec03ba885fc246e5fa10d8c70
Source1: http://www.netlib.org/lapack/manpages-%{man_ver}.tgz
-# Source1-md5: 0f88dbcf41bb53ef98890ee834da913e
+# Source1-md5: b9448c036dcfb174215ecbd207168fad
Patch0: %{name}-automake_support.patch
Patch1: blas-nan.patch
URL: http://www.netlib.org/lapack/
@@ -111,16 +115,65 @@
Pliki programistyczne BLAS.
%package -n blas-static
-Summary: Static BLAS libraries
-Summary(pl.UTF-8): Biblioteki statyczne BLAS
+Summary: Static BLAS library
+Summary(pl.UTF-8): Biblioteka statyczna BLAS
Group: Development/Libraries
Requires: blas-devel = %{version}-%{release}
%description -n blas-static
-Static BLAS libraries.
+Static BLAS library.
%description -n blas-static -l pl.UTF-8
-Biblioteki statyczne BLAS.
+Biblioteka statyczna BLAS.
+
+%package -n lapacke
+Summary: LAPACKE - native C interface to LAPACK library routines
+Summary(pl.UTF-8): LAPACKE - natywny interfejs C do procedur biblioteki LAPACK
+Group: Libraries
+Requires: lapack = %{version}-%{release}
+
+%description -n lapacke
+This library is a part of reference implementation for the C interface
+to LAPACK project according to the specifications described at the
+forum for the Intel(R) Math Kernel Library (Intel(R) MKL).
+
+This implementation provides a native C interface to LAPACK routines
+to facilitate usage of LAPACK functionality for C programmers.
+
+%description -n lapacke -l pl.UTF-8
+Ta bilioteka jest częścią implementacji referencyjnej interfejsu C do
+projektu LAPACK, zgodnej ze specyfikacją opisaną na forum biblioteki
+Intel(R) Math Kernel Library.
+
+Ta implementacja udostępnia natywny interfejs C do procedur biblioteki
+LAPACK, ułatwiając jej użycie programistom C.
+
+%package -n lapacke-devel
+Summary: Header files for LAPACKE - native C interface to LAPACK
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki LAPACKE - natywnego interfejsu C do biblioteki LAPACK
+Group: Development/Libraries
+Requires: lapack-devel = %{version}-%{release}
+Requires: lapacke = %{version}-%{release}
+
+%description -n lapacke-devel
+Header files for LAPACKE - native C interface to LAPACK.
+
+%description -n lapacke-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki LAPACKE - natywnego interfejsu C do
+biblioteki LAPACK.
+
+%package -n lapacke-static
+Summary: Static LAPACKE library - native C interface to LAPACK
+Summary(pl.UTF-8): Statyczna biblioteka LAPACKE - natywny interfejs C do biblioteki LAPACK
+Group: Development/Libraries
+Requires: lapacke-devel = %{version}-%{release}
+
+%description -n lapacke-static
+Static LAPACKE library - native C interface to LAPACK.
+
+%description -n lapacke-static -l pl.UTF-8
+Statyczna biblioteka LAPACKE - natywny interfejs C do biblioteki
+LAPACK.
%prep
%setup -q -a1
@@ -131,6 +184,26 @@
# copy selected routines; use INT_ETIME versions of second
cp -f INSTALLSRC/{ilaver,slamch,dlamch,second_INT_ETIME,dsecnd_INT_ETIME}.f SRC
+# fill in lapacke files, omitting matgen and xblas-dependent files
+sed -i -e "s, at LAPACKE_FILES@,$(cd lapacke/src ; ls -1 *.c ../utils/*.c | grep -Ev 'lagge|laghe|lagsy|latms|gbrfsx|gbsvxx|gerfsx|gesvxx|herfsx|hesvxx|porfsx|posvxx|syrfsx|sysvxx' |tr '\n' ' ')," lapacke/src/Makefile.am
+
+# bogus
+%{__rm} man/man3/_Users_julie_Desktop_lapack-*.3 \
+ man/man3/__*.3
+# duplicated...
+%{__rm} man/man3/{INSTALL_ilaver,INSTALL_lsame,SRC_xerbla,SRC_xerbla_array}.f.3
+# ...in BLAS and LAPACK sources; keep versions from BLAS
+mv -f man/man3/BLAS_SRC_lsame.f.3 man/man3/lsame.f.3
+mv -f man/man3/BLAS_SRC_xerbla.f.3 man/man3/xerbla.f.3
+mv -f man/man3/BLAS_SRC_xerbla_array.f.3 man/man3/xerbla_array.f.3
+sed -i -e 's,man3/INSTALL_,man3/,' man/man3/LSAME.3
+sed -i -e 's,man3/SRC_,man3/,' man/man3/{ILAVER,XERBLA,XERBLA_ARRAY}.3
+# ...in SRC and INSTALL dirs
+mv -f man/man3/SRC_ilaver.f.3 man/man3/ilaver.f.3
+# [sd]lamchf77.f is not used
+%{__rm} man/man3/{DLAMC1,DLAMC2,DLAMC4,DLAMC5,dlamchf77.f}.3
+%{__rm} man/man3/{SLAMC1,SLAMC2,SLAMC4,SLAMC5,slamchf77.f}.3
+
%build
%{__libtoolize}
%{__aclocal}
@@ -147,18 +220,30 @@
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-# present both in blas and lapack
-%{__rm} manpages/man/manl/{lsame,xerbla,xerbla_array}.l
-
+# install man pages, distributing them among blas-devel and lapack-devel
install -d $RPM_BUILD_ROOT%{_mandir}/man3
-for d in manpages/man/manl/*.l manpages/blas/man/manl/*.l ; do
- install $d $RPM_BUILD_ROOT%{_mandir}/man3/`basename $d .l`.3
-done
-
echo "%defattr(644,root,root,755)" > blasmans.list
-find manpages/blas/man/manl -name "*.l" -printf "%{_mandir}/man3/%%f\n" | sed 's/\.l/.3*/' >> blasmans.list
echo "%defattr(644,root,root,755)" > mans.list
-find manpages/man/manl -name "*.l" -printf "%{_mandir}/man3/%%f\n" | sed 's/\.l/.3*/' >> mans.list
+for f in man/man3/*.3 ; do
+ cp -p "$f" $RPM_BUILD_ROOT%{_mandir}/man3
+ bn=$(basename $f)
+ if echo "$bn" | grep '\.f\.3$' ; then
+ ffn="${bn%.3}"
+ elif grep '\.f\.3$' "$f" ; then
+ ffn=$(sed -e '1s,^\.so man3/\(.*\.f\)\.3,\1,' $f)
+ else
+ echo "Unknown manpage: $f"
+ exit 1
+ fi
+ if [ -f "BLAS/SRC/$ffn" ]; then
+ echo "%{_mandir}/man3/${bn}*" >> blasmans.list
+ elif [ -f "SRC/$ffn" -o -f "INSTALLSRC/$ffn" ]; then
+ echo "%{_mandir}/man3/${bn}*" >> mans.list
+ else
+ echo "Unknown manpage: $f (source file: $ffn)"
+ exit 1
+ fi
+done
%clean
rm -rf $RPM_BUILD_ROOT
@@ -169,6 +254,9 @@
%post -n blas -p /sbin/ldconfig
%postun -n blas -p /sbin/ldconfig
+%post -n lapacke -p /sbin/ldconfig
+%postun -n lapacke -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
%doc README
@@ -200,12 +288,33 @@
%defattr(644,root,root,755)
%{_libdir}/libblas.a
+%files -n lapacke
+%defattr(644,root,root,755)
+%doc lapacke/{LICENSE,README}
+%attr(755,root,root) %{_libdir}/liblapacke.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/liblapacke.so.2
+
+%files -n lapacke-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/liblapacke.so
+%{_libdir}/liblapacke.la
+%{_includedir}/lapacke*.h
+
+%files -n lapacke-static
+%defattr(644,root,root,755)
+%{_libdir}/liblapacke.a
+
%define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
%changelog
* %{date} PLD Team <feedback at pld-linux.org>
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.48 2011/12/31 14:56:11 qboosh
+- updated to 3.4.0
+- updated automake_support patch
+- package lapacke libraries (native C interface to LAPACK)
+
Revision 1.47 2011/04/23 18:00:28 qboosh
- updated to 3.3.1 (manpages too)
- updated automake_support patch
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/lapack/lapack-automake_support.patch?r1=1.18&r2=1.19&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/lapack/lapack.spec?r1=1.47&r2=1.48&f=u
More information about the pld-cvs-commit
mailing list