]>
Commit | Line | Data |
---|---|---|
c7c26a27 JB |
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) | |
1d0d5108 | 5 | Summary: The LAPACK libraries for numerical linear algebra |
084ff819 | 6 | Summary(pl.UTF-8): Biblioteki numeryczne LAPACK do algebry liniowej |
3c513ef3 | 7 | Name: lapack |
c7c26a27 JB |
8 | Version: 3.4.0 |
9 | %define man_ver 3.4.0 | |
320f14ae | 10 | Release: 1 |
61effd37 | 11 | License: freely distributable |
4d771884 | 12 | Group: Libraries |
a1923521 | 13 | Source0: http://www.netlib.org/lapack/%{name}-%{version}.tgz |
c7c26a27 | 14 | # Source0-md5: 02d5706ec03ba885fc246e5fa10d8c70 |
c42e604c | 15 | Source1: http://www.netlib.org/lapack/manpages-%{man_ver}.tgz |
c7c26a27 | 16 | # Source1-md5: b9448c036dcfb174215ecbd207168fad |
448f9206 | 17 | Patch0: %{name}-automake_support.patch |
8a7beb04 | 18 | Patch1: blas-nan.patch |
3c513ef3 | 19 | URL: http://www.netlib.org/lapack/ |
6ec8881e JB |
20 | BuildRequires: autoconf |
21 | BuildRequires: automake | |
a1923521 | 22 | BuildRequires: gcc-fortran |
584ffaf6 JB |
23 | BuildRequires: libtool >= 2:1.5 |
24 | Requires: blas = %{version}-%{release} | |
64123b99 | 25 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
3c513ef3 | 26 | |
27 | %description | |
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 | |
6ec8881e JB |
38 | is coded in Fortran77. |
39 | ||
eb8f2cff JR |
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 | |
6ec8881e | 50 | napisany w Fortranie 77. |
3c513ef3 | 51 | |
f1593bb3 | 52 | %package devel |
e956dfe5 JB |
53 | Summary: LAPACK development files |
54 | Summary(pl.UTF-8): Pliki programistyczne LAPACK | |
f1593bb3 | 55 | Group: Development/Libraries |
584ffaf6 JB |
56 | Requires: %{name} = %{version}-%{release} |
57 | Requires: blas-devel = %{version}-%{release} | |
1d0d5108 | 58 | Obsoletes: lapack-man |
f1593bb3 | 59 | |
60 | %description devel | |
e956dfe5 | 61 | LAPACK development files. |
f1593bb3 | 62 | |
eb8f2cff | 63 | %description devel -l pl.UTF-8 |
e956dfe5 | 64 | Pliki programistyczne LAPACK. |
f1593bb3 | 65 | |
66 | %package static | |
6ec8881e | 67 | Summary: Static LAPACK libraries |
084ff819 | 68 | Summary(pl.UTF-8): Biblioteki statyczne LAPACK |
f1593bb3 | 69 | Group: Development/Libraries |
584ffaf6 | 70 | Requires: %{name}-devel = %{version}-%{release} |
f1593bb3 | 71 | |
72 | %description static | |
6ec8881e | 73 | Static LAPACK libraries. |
f1593bb3 | 74 | |
eb8f2cff | 75 | %description static -l pl.UTF-8 |
6ec8881e | 76 | Biblioteki statyczne LAPACK. |
f1593bb3 | 77 | |
3c513ef3 | 78 | %package -n blas |
6ec8881e | 79 | Summary: The BLAS (Basic Linear Algebra Subprograms) library for Linux |
084ff819 | 80 | Summary(pl.UTF-8): Biblioteka BLAS (Basic Linear Algebra Subprograms) dla Linuksa |
4d771884 | 81 | Group: Libraries |
3c513ef3 | 82 | Obsoletes: lapack-blas |
83 | ||
84 | %description -n 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 | |
6ec8881e JB |
88 | 77. |
89 | ||
1599bb15 RW |
90 | Warning: this is a reference implementation from Netlib. If possible, |
91 | use version optimized for your architecture instead. | |
92 | ||
eb8f2cff JR |
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 | |
6ec8881e | 97 | w Fortranie 77. |
3c513ef3 | 98 | |
eb8f2cff JR |
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ę. | |
1599bb15 | 102 | |
f1593bb3 | 103 | %package -n blas-devel |
e956dfe5 JB |
104 | Summary: BLAS development files |
105 | Summary(pl.UTF-8): Pliki programistyczne BLAS | |
f1593bb3 | 106 | Group: Development/Libraries |
584ffaf6 | 107 | Requires: blas = %{version}-%{release} |
1d0d5108 | 108 | Obsoletes: blas-man |
f1593bb3 | 109 | |
110 | %description -n blas-devel | |
e956dfe5 | 111 | BLAS development files. |
f1593bb3 | 112 | |
eb8f2cff | 113 | %description -n blas-devel -l pl.UTF-8 |
e956dfe5 | 114 | Pliki programistyczne BLAS. |
f1593bb3 | 115 | |
116 | %package -n blas-static | |
c7c26a27 JB |
117 | Summary: Static BLAS library |
118 | Summary(pl.UTF-8): Biblioteka statyczna BLAS | |
f1593bb3 | 119 | Group: Development/Libraries |
584ffaf6 | 120 | Requires: blas-devel = %{version}-%{release} |
f1593bb3 | 121 | |
122 | %description -n blas-static | |
c7c26a27 | 123 | Static BLAS library. |
f1593bb3 | 124 | |
eb8f2cff | 125 | %description -n blas-static -l pl.UTF-8 |
c7c26a27 JB |
126 | Biblioteka statyczna BLAS. |
127 | ||
128 | %package -n lapacke | |
129 | Summary: LAPACKE - native C interface to LAPACK library routines | |
130 | Summary(pl.UTF-8): LAPACKE - natywny interfejs C do procedur biblioteki LAPACK | |
131 | Group: Libraries | |
132 | Requires: lapack = %{version}-%{release} | |
133 | ||
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). | |
138 | ||
139 | This implementation provides a native C interface to LAPACK routines | |
140 | to facilitate usage of LAPACK functionality for C programmers. | |
141 | ||
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. | |
146 | ||
147 | Ta implementacja udostępnia natywny interfejs C do procedur biblioteki | |
148 | LAPACK, ułatwiając jej użycie programistom C. | |
149 | ||
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} | |
156 | ||
157 | %description -n lapacke-devel | |
158 | Header files for LAPACKE - native C interface to LAPACK. | |
159 | ||
160 | %description -n lapacke-devel -l pl.UTF-8 | |
161 | Pliki nagłówkowe biblioteki LAPACKE - natywnego interfejsu C do | |
162 | biblioteki LAPACK. | |
163 | ||
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} | |
169 | ||
170 | %description -n lapacke-static | |
171 | Static LAPACKE library - native C interface to LAPACK. | |
172 | ||
173 | %description -n lapacke-static -l pl.UTF-8 | |
174 | Statyczna biblioteka LAPACKE - natywny interfejs C do biblioteki | |
175 | LAPACK. | |
f1593bb3 | 176 | |
3c513ef3 | 177 | %prep |
a1923521 | 178 | %setup -q -a1 |
448f9206 | 179 | %patch0 -p1 |
8a7beb04 | 180 | %patch1 -p1 |
448f9206 | 181 | # directory INSTALL conflicts with file INSTALL needed by automake |
c42e604c JB |
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 | |
3c513ef3 | 185 | |
c7c26a27 JB |
186 | # fill in lapacke files, omitting matgen and xblas-dependent files |
187 | sed -i -e "s,@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 | |
188 | ||
189 | # bogus | |
190 | %{__rm} man/man3/_Users_julie_Desktop_lapack-*.3 \ | |
191 | man/man3/__*.3 | |
192 | # duplicated... | |
193 | %{__rm} man/man3/{INSTALL_ilaver,INSTALL_lsame,SRC_xerbla,SRC_xerbla_array}.f.3 | |
194 | # ...in BLAS and LAPACK sources; keep versions from BLAS | |
195 | mv -f man/man3/BLAS_SRC_lsame.f.3 man/man3/lsame.f.3 | |
196 | mv -f man/man3/BLAS_SRC_xerbla.f.3 man/man3/xerbla.f.3 | |
197 | mv -f man/man3/BLAS_SRC_xerbla_array.f.3 man/man3/xerbla_array.f.3 | |
198 | sed -i -e 's,man3/INSTALL_,man3/,' man/man3/LSAME.3 | |
199 | sed -i -e 's,man3/SRC_,man3/,' man/man3/{ILAVER,XERBLA,XERBLA_ARRAY}.3 | |
200 | # ...in SRC and INSTALL dirs | |
201 | mv -f man/man3/SRC_ilaver.f.3 man/man3/ilaver.f.3 | |
202 | # [sd]lamchf77.f is not used | |
203 | %{__rm} man/man3/{DLAMC1,DLAMC2,DLAMC4,DLAMC5,dlamchf77.f}.3 | |
204 | %{__rm} man/man3/{SLAMC1,SLAMC2,SLAMC4,SLAMC5,slamchf77.f}.3 | |
205 | ||
3c513ef3 | 206 | %build |
ed70c195 | 207 | %{__libtoolize} |
b3e8fdec | 208 | %{__aclocal} |
209 | %{__autoheader} | |
c3e4ee63 | 210 | %{__autoconf} |
ed70c195 | 211 | %{__automake} |
ea4aa0a4 | 212 | %configure |
ed70c195 | 213 | |
c42e604c | 214 | %{__make} |
3c513ef3 | 215 | |
216 | %install | |
217 | rm -rf $RPM_BUILD_ROOT | |
64123b99 | 218 | |
584ffaf6 JB |
219 | %{__make} install \ |
220 | DESTDIR=$RPM_BUILD_ROOT | |
448f9206 | 221 | |
c7c26a27 | 222 | # install man pages, distributing them among blas-devel and lapack-devel |
3d16712d | 223 | install -d $RPM_BUILD_ROOT%{_mandir}/man3 |
e956dfe5 | 224 | echo "%defattr(644,root,root,755)" > blasmans.list |
e956dfe5 | 225 | echo "%defattr(644,root,root,755)" > mans.list |
c7c26a27 JB |
226 | for f in man/man3/*.3 ; do |
227 | cp -p "$f" $RPM_BUILD_ROOT%{_mandir}/man3 | |
228 | bn=$(basename $f) | |
229 | if echo "$bn" | grep '\.f\.3$' ; then | |
230 | ffn="${bn%.3}" | |
231 | elif grep '\.f\.3$' "$f" ; then | |
232 | ffn=$(sed -e '1s,^\.so man3/\(.*\.f\)\.3,\1,' $f) | |
233 | else | |
234 | echo "Unknown manpage: $f" | |
235 | exit 1 | |
236 | fi | |
237 | if [ -f "BLAS/SRC/$ffn" ]; then | |
238 | echo "%{_mandir}/man3/${bn}*" >> blasmans.list | |
239 | elif [ -f "SRC/$ffn" -o -f "INSTALLSRC/$ffn" ]; then | |
240 | echo "%{_mandir}/man3/${bn}*" >> mans.list | |
241 | else | |
242 | echo "Unknown manpage: $f (source file: $ffn)" | |
243 | exit 1 | |
244 | fi | |
245 | done | |
448f9206 | 246 | |
6ec8881e | 247 | %clean |
5f8b7996 | 248 | rm -rf $RPM_BUILD_ROOT |
6ec8881e | 249 | |
ed70c195 JB |
250 | %post -p /sbin/ldconfig |
251 | %postun -p /sbin/ldconfig | |
1d0d5108 | 252 | |
448f9206 | 253 | %post -n blas -p /sbin/ldconfig |
254 | %postun -n blas -p /sbin/ldconfig | |
3c513ef3 | 255 | |
c7c26a27 JB |
256 | %post -n lapacke -p /sbin/ldconfig |
257 | %postun -n lapacke -p /sbin/ldconfig | |
258 | ||
3c513ef3 | 259 | %files |
260 | %defattr(644,root,root,755) | |
ed70c195 | 261 | %doc README |
f1593bb3 | 262 | %attr(755,root,root) %{_libdir}/liblapack.so.*.*.* |
e956dfe5 | 263 | %attr(755,root,root) %ghost %{_libdir}/liblapack.so.2 |
f1593bb3 | 264 | |
1d0d5108 | 265 | %files devel -f mans.list |
f1593bb3 | 266 | %defattr(644,root,root,755) |
64123b99 JB |
267 | %attr(755,root,root) %{_libdir}/liblapack.so |
268 | %{_libdir}/liblapack.la | |
70328b5c | 269 | %{_pkgconfigdir}/lapack.pc |
f1593bb3 | 270 | |
271 | %files static | |
272 | %defattr(644,root,root,755) | |
273 | %{_libdir}/liblapack.a | |
3c513ef3 | 274 | |
ea4aa0a4 | 275 | %files -n blas |
3c513ef3 | 276 | %defattr(644,root,root,755) |
d51e15b2 | 277 | %attr(755,root,root) %{_libdir}/libblas.so.*.*.* |
e956dfe5 | 278 | %attr(755,root,root) %ghost %{_libdir}/libblas.so.2 |
f1593bb3 | 279 | |
1d0d5108 | 280 | %files -n blas-devel -f blasmans.list |
f1593bb3 | 281 | %defattr(644,root,root,755) |
64123b99 JB |
282 | %attr(755,root,root) %{_libdir}/libblas.so |
283 | %{_libdir}/libblas.la | |
70328b5c | 284 | %{_pkgconfigdir}/blas.pc |
f1593bb3 | 285 | |
286 | %files -n blas-static | |
287 | %defattr(644,root,root,755) | |
288 | %{_libdir}/libblas.a | |
c7c26a27 JB |
289 | |
290 | %files -n lapacke | |
291 | %defattr(644,root,root,755) | |
292 | %doc lapacke/{LICENSE,README} | |
293 | %attr(755,root,root) %{_libdir}/liblapacke.so.*.*.* | |
294 | %attr(755,root,root) %ghost %{_libdir}/liblapacke.so.2 | |
295 | ||
296 | %files -n lapacke-devel | |
297 | %defattr(644,root,root,755) | |
298 | %attr(755,root,root) %{_libdir}/liblapacke.so | |
299 | %{_libdir}/liblapacke.la | |
300 | %{_includedir}/lapacke*.h | |
301 | ||
302 | %files -n lapacke-static | |
303 | %defattr(644,root,root,755) | |
304 | %{_libdir}/liblapacke.a |