]> git.pld-linux.org Git - packages/lapack.git/blob - lapack.spec
- updated to 3.4.2
[packages/lapack.git] / lapack.spec
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
7 Name:           lapack
8 Version:        3.4.2
9 %define man_ver 3.4.2
10 Release:        1
11 License:        freely distributable
12 Group:          Libraries
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)
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
38 is coded in Fortran77.
39
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.
51
52 %package devel
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}
58 Obsoletes:      lapack-man
59
60 %description devel
61 LAPACK development files.
62
63 %description devel -l pl.UTF-8
64 Pliki programistyczne LAPACK.
65
66 %package static
67 Summary:        Static LAPACK libraries
68 Summary(pl.UTF-8):      Biblioteki statyczne LAPACK
69 Group:          Development/Libraries
70 Requires:       %{name}-devel = %{version}-%{release}
71
72 %description static
73 Static LAPACK libraries.
74
75 %description static -l pl.UTF-8
76 Biblioteki statyczne LAPACK.
77
78 %package -n blas
79 Summary:        The BLAS (Basic Linear Algebra Subprograms) library for Linux
80 Summary(pl.UTF-8):      Biblioteka BLAS (Basic Linear Algebra Subprograms) dla Linuksa
81 Group:          Libraries
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
88 77.
89
90 Warning: this is a reference implementation from Netlib. If possible,
91 use version optimized for your architecture instead.
92
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
97 w Fortranie 77.
98
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ę.
102
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}
108 Obsoletes:      blas-man
109
110 %description -n blas-devel
111 BLAS development files.
112
113 %description -n blas-devel -l pl.UTF-8
114 Pliki programistyczne BLAS.
115
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}
121
122 %description -n blas-static
123 Static BLAS library.
124
125 %description -n blas-static -l pl.UTF-8
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.
176
177 %prep
178 %setup -q -a1
179 %patch0 -p1
180 %patch1 -p1
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
185
186 # bogus
187 %{__rm} man/man3/_Users_julie_Documents_Boulot_lapack-dev_lapack_branches_lapack-*.3 \
188         man/man3/__*.3
189 # duplicated...
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
202
203 %build
204 %{__libtoolize}
205 %{__aclocal}
206 %{__autoheader}
207 %{__autoconf}
208 %{__automake}
209 %configure
210
211 %{__make}
212
213 %install
214 rm -rf $RPM_BUILD_ROOT
215
216 %{__make} install \
217         DESTDIR=$RPM_BUILD_ROOT
218
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
225         bn=$(basename $f)
226         if echo "$bn" | grep '\.f\.3$' ; then
227                 ffn="${bn%.3}"
228         elif grep '\.f\.3$' "$f" ; then
229                 ffn=$(sed -e '1s,^\.so man3/\(.*\.f\)\.3,\1,' $f)
230         else
231                 echo "Unknown manpage: $f"
232                 exit 1
233         fi
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
238         else
239                 echo "Unknown manpage: $f (source file: $ffn)"
240                 exit 1
241         fi
242 done
243
244 %clean
245 rm -rf $RPM_BUILD_ROOT
246
247 %post   -p /sbin/ldconfig
248 %postun -p /sbin/ldconfig
249
250 %post   -n blas -p /sbin/ldconfig
251 %postun -n blas -p /sbin/ldconfig
252
253 %post   -n lapacke -p /sbin/ldconfig
254 %postun -n lapacke -p /sbin/ldconfig
255
256 %files
257 %defattr(644,root,root,755)
258 %doc README
259 %attr(755,root,root) %{_libdir}/liblapack.so.*.*.*
260 %attr(755,root,root) %ghost %{_libdir}/liblapack.so.2
261
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
267
268 %files static
269 %defattr(644,root,root,755)
270 %{_libdir}/liblapack.a
271
272 %files -n blas
273 %defattr(644,root,root,755)
274 %attr(755,root,root) %{_libdir}/libblas.so.*.*.*
275 %attr(755,root,root) %ghost %{_libdir}/libblas.so.2
276
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
282
283 %files -n blas-static
284 %defattr(644,root,root,755)
285 %{_libdir}/libblas.a
286
287 %files -n lapacke
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
292
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
299
300 %files -n lapacke-static
301 %defattr(644,root,root,755)
302 %{_libdir}/liblapacke.a
This page took 0.166526 seconds and 3 git commands to generate.