1 # NOTE: when updating automake_support patch, look both on included
2 # cmake suite and plain Makefiles - one of them is mostly outdated
3 # (as of 3.4.0, cmake misses some files added in 3.4; also it
4 # doesn't care about setting soname, so currently isn't worth using)
5 Summary: The LAPACK libraries for numerical linear algebra
6 Summary(pl.UTF-8): Biblioteki numeryczne LAPACK do algebry liniowej
11 License: freely distributable
13 Source0: http://www.netlib.org/lapack/%{name}-%{version}.tgz
14 # Source0-md5: 61bf1a8a4469d4bdb7604f5897179478
15 Source1: http://www.netlib.org/lapack/manpages-%{man_ver}.tgz
16 # Source1-md5: 5e6b576f13115f653ecd4526bfdbb78f
17 Patch0: %{name}-automake_support.patch
18 Patch1: blas-nan.patch
19 URL: http://www.netlib.org/lapack/
20 BuildRequires: autoconf
21 BuildRequires: automake
22 BuildRequires: gcc-fortran
23 BuildRequires: libtool >= 2:1.5
24 Requires: blas = %{version}-%{release}
25 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28 LAPACK (Linear Algebra PACKage) is a standard library for numerical
29 linear algebra. LAPACK provides routines for solving systems of
30 simultaneous linear equations, least-squares solutions of linear
31 systems of equations, eigenvalue problems, and singular value
32 problems. Associated matrix factorizations (LU, Cholesky, QR, SVD,
33 Schur, and generalized Schur) and related computations (i.e.,
34 reordering of Schur factorizations and estimating condition numbers)
35 are also included. LAPACK can handle dense and banded matrices, but
36 not general sparse matrices. Similar functionality is provided for
37 real and complex matrices in both single and double precision. LAPACK
38 is coded in Fortran77.
40 %description -l pl.UTF-8
41 LAPACK (Linear Algebra PACKage) jest standardową biblioteką numeryczną
42 do algebry liniowej. Dostarcza funkcje rozwiązywania: układów równań
43 liniowych, układów równań metodą najmniejszych kwadratów, problemów
44 własnych. Zawiera algorytmy faktoryzacji macierzy (LU, Cholesky'ego,
45 QR, SVD, Schura, uogólnioną Schura) i związanych z tym obliczeń (np.
46 przenumerowywanie w faktoryzacji Schura i estymację uwarunkowania).
47 LAPACK może obsługiwać macierze blokowe i pasmowe, ale nie rzadkie w
48 ogólnym przypadku. Zapewnia funkcjonalność dla macierzy rzeczywistych
49 i zespolonych, dla liczb pojedynczej i podwójnej precyzji. LAPACK jest
50 napisany w Fortranie 77.
53 Summary: LAPACK development files
54 Summary(pl.UTF-8): Pliki programistyczne LAPACK
55 Group: Development/Libraries
56 Requires: %{name} = %{version}-%{release}
57 Requires: blas-devel = %{version}-%{release}
61 LAPACK development files.
63 %description devel -l pl.UTF-8
64 Pliki programistyczne LAPACK.
67 Summary: Static LAPACK libraries
68 Summary(pl.UTF-8): Biblioteki statyczne LAPACK
69 Group: Development/Libraries
70 Requires: %{name}-devel = %{version}-%{release}
73 Static LAPACK libraries.
75 %description static -l pl.UTF-8
76 Biblioteki statyczne LAPACK.
79 Summary: The BLAS (Basic Linear Algebra Subprograms) library for Linux
80 Summary(pl.UTF-8): Biblioteka BLAS (Basic Linear Algebra Subprograms) dla Linuksa
82 Obsoletes: lapack-blas
85 BLAS (Basic Linear Algebra Subprograms) is a standard library for
86 numerical algebra. BLAS provides a number of basic algorithms for
87 linear algebra. BLAS is fast and well-tested, was written in FORTRAN
90 Warning: this is a reference implementation from Netlib. If possible,
91 use version optimized for your architecture instead.
93 %description -n blas -l pl.UTF-8
94 BLAS (Basic Linear Algebra Subprograms) jest standardową biblioteką
95 numeryczną algebry. Dostarcza wiele podstawowych algorytmów dla
96 algebry liniowej. Jest szybka i dobrze przetestowana, została napisana
99 Ostrzeżenie: to jest implementacja przykładowa z repozytorium Netlib.
100 Jeżeli to możliwe, należy używać zamiast niej wersji zoptymalizowanej
101 pod daną architekturę.
103 %package -n blas-devel
104 Summary: BLAS development files
105 Summary(pl.UTF-8): Pliki programistyczne BLAS
106 Group: Development/Libraries
107 Requires: blas = %{version}-%{release}
110 %description -n blas-devel
111 BLAS development files.
113 %description -n blas-devel -l pl.UTF-8
114 Pliki programistyczne BLAS.
116 %package -n blas-static
117 Summary: Static BLAS library
118 Summary(pl.UTF-8): Biblioteka statyczna BLAS
119 Group: Development/Libraries
120 Requires: blas-devel = %{version}-%{release}
122 %description -n blas-static
125 %description -n blas-static -l pl.UTF-8
126 Biblioteka statyczna BLAS.
129 Summary: LAPACKE - native C interface to LAPACK library routines
130 Summary(pl.UTF-8): LAPACKE - natywny interfejs C do procedur biblioteki LAPACK
132 Requires: lapack = %{version}-%{release}
134 %description -n lapacke
135 This library is a part of reference implementation for the C interface
136 to LAPACK project according to the specifications described at the
137 forum for the Intel(R) Math Kernel Library (Intel(R) MKL).
139 This implementation provides a native C interface to LAPACK routines
140 to facilitate usage of LAPACK functionality for C programmers.
142 %description -n lapacke -l pl.UTF-8
143 Ta bilioteka jest częścią implementacji referencyjnej interfejsu C do
144 projektu LAPACK, zgodnej ze specyfikacją opisaną na forum biblioteki
145 Intel(R) Math Kernel Library.
147 Ta implementacja udostępnia natywny interfejs C do procedur biblioteki
148 LAPACK, ułatwiając jej użycie programistom C.
150 %package -n lapacke-devel
151 Summary: Header files for LAPACKE - native C interface to LAPACK
152 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki LAPACKE - natywnego interfejsu C do biblioteki LAPACK
153 Group: Development/Libraries
154 Requires: lapack-devel = %{version}-%{release}
155 Requires: lapacke = %{version}-%{release}
157 %description -n lapacke-devel
158 Header files for LAPACKE - native C interface to LAPACK.
160 %description -n lapacke-devel -l pl.UTF-8
161 Pliki nagłówkowe biblioteki LAPACKE - natywnego interfejsu C do
164 %package -n lapacke-static
165 Summary: Static LAPACKE library - native C interface to LAPACK
166 Summary(pl.UTF-8): Statyczna biblioteka LAPACKE - natywny interfejs C do biblioteki LAPACK
167 Group: Development/Libraries
168 Requires: lapacke-devel = %{version}-%{release}
170 %description -n lapacke-static
171 Static LAPACKE library - native C interface to LAPACK.
173 %description -n lapacke-static -l pl.UTF-8
174 Statyczna biblioteka LAPACKE - natywny interfejs C do biblioteki
181 # directory INSTALL conflicts with file INSTALL needed by automake
182 mv -f INSTALL INSTALLSRC
183 # copy selected routines; use INT_ETIME versions of second
184 cp -f INSTALLSRC/{ilaver,slamch,dlamch,second_INT_ETIME,dsecnd_INT_ETIME}.f SRC
187 %{__rm} man/man3/_Users_julie_Documents_Boulot_lapack-dev_lapack_branches_lapack-*.3 \
190 %{__rm} man/man3/{INSTALL_ilaver,INSTALL_lsame,SRC_xerbla,SRC_xerbla_array}.f.3
191 # ...in BLAS and LAPACK sources; keep versions from BLAS
192 mv -f man/man3/BLAS_SRC_lsame.f.3 man/man3/lsame.f.3
193 mv -f man/man3/BLAS_SRC_xerbla.f.3 man/man3/xerbla.f.3
194 mv -f man/man3/BLAS_SRC_xerbla_array.f.3 man/man3/xerbla_array.f.3
195 sed -i -e 's,man3/INSTALL_,man3/,' man/man3/LSAME.3
196 sed -i -e 's,man3/SRC_,man3/,' man/man3/{ILAVER,XERBLA,XERBLA_ARRAY}.3
197 # ...in SRC and INSTALL dirs
198 mv -f man/man3/SRC_ilaver.f.3 man/man3/ilaver.f.3
199 # [sd]lamchf77.f is not used
200 %{__rm} man/man3/{DLAMC1,DLAMC2,DLAMC4,DLAMC5,dlamchf77.f}.3
201 %{__rm} man/man3/{SLAMC1,SLAMC2,SLAMC4,SLAMC5,slamchf77.f}.3
214 rm -rf $RPM_BUILD_ROOT
217 DESTDIR=$RPM_BUILD_ROOT
219 # install man pages, distributing them among blas-devel and lapack-devel
220 install -d $RPM_BUILD_ROOT%{_mandir}/man3
221 echo "%defattr(644,root,root,755)" > blasmans.list
222 echo "%defattr(644,root,root,755)" > mans.list
223 for f in man/man3/*.3 ; do
224 cp -p "$f" $RPM_BUILD_ROOT%{_mandir}/man3
226 if echo "$bn" | grep '\.f\.3$' ; then
228 elif grep '\.f\.3$' "$f" ; then
229 ffn=$(sed -e '1s,^\.so man3/\(.*\.f\)\.3,\1,' $f)
231 echo "Unknown manpage: $f"
234 if [ -f "BLAS/SRC/$ffn" ]; then
235 echo "%{_mandir}/man3/${bn}*" >> blasmans.list
236 elif [ -f "SRC/$ffn" -o -f "INSTALLSRC/$ffn" ]; then
237 echo "%{_mandir}/man3/${bn}*" >> mans.list
239 echo "Unknown manpage: $f (source file: $ffn)"
245 rm -rf $RPM_BUILD_ROOT
247 %post -p /sbin/ldconfig
248 %postun -p /sbin/ldconfig
250 %post -n blas -p /sbin/ldconfig
251 %postun -n blas -p /sbin/ldconfig
253 %post -n lapacke -p /sbin/ldconfig
254 %postun -n lapacke -p /sbin/ldconfig
257 %defattr(644,root,root,755)
259 %attr(755,root,root) %{_libdir}/liblapack.so.*.*.*
260 %attr(755,root,root) %ghost %{_libdir}/liblapack.so.2
262 %files devel -f mans.list
263 %defattr(644,root,root,755)
264 %attr(755,root,root) %{_libdir}/liblapack.so
265 %{_libdir}/liblapack.la
266 %{_pkgconfigdir}/lapack.pc
269 %defattr(644,root,root,755)
270 %{_libdir}/liblapack.a
273 %defattr(644,root,root,755)
274 %attr(755,root,root) %{_libdir}/libblas.so.*.*.*
275 %attr(755,root,root) %ghost %{_libdir}/libblas.so.2
277 %files -n blas-devel -f blasmans.list
278 %defattr(644,root,root,755)
279 %attr(755,root,root) %{_libdir}/libblas.so
280 %{_libdir}/libblas.la
281 %{_pkgconfigdir}/blas.pc
283 %files -n blas-static
284 %defattr(644,root,root,755)
288 %defattr(644,root,root,755)
289 %doc lapacke/{LICENSE,README}
290 %attr(755,root,root) %{_libdir}/liblapacke.so.*.*.*
291 %attr(755,root,root) %ghost %{_libdir}/liblapacke.so.2
293 %files -n lapacke-devel
294 %defattr(644,root,root,755)
295 %attr(755,root,root) %{_libdir}/liblapacke.so
296 %{_libdir}/liblapacke.la
297 %{_includedir}/lapacke*.h
298 %{_pkgconfigdir}/lapacke.pc
300 %files -n lapacke-static
301 %defattr(644,root,root,755)
302 %{_libdir}/liblapacke.a