]> git.pld-linux.org Git - packages/lapack.git/blob - lapack.spec
72a160154caf075de9fa8c97c0fa75767e821cd1
[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.5.0
9 %define man_ver 3.5.0
10 Release:        2
11 License:        freely distributable
12 Group:          Libraries
13 Source0:        http://www.netlib.org/lapack/%{name}-%{version}.tgz
14 # Source0-md5:  b1d3e3e425b2e44a06760ff173104bdf
15 Source1:        http://www.netlib.org/lapack/manpages-%{man_ver}.tgz
16 # Source1-md5:  275687b7e06498798e88b1ca8481b3e2
17 Patch0:         %{name}-automake_support.patch
18 Patch1:         blas-nan.patch
19 URL:            http://www.netlib.org/lapack/
20 BuildRequires:  autoconf >= 2.50
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 # missing __stack_chk_fail symbol when only Fortran sources used
28 %undefine       _fortify_cflags
29 %undefine       _ssp_cflags
30
31 %description
32 LAPACK (Linear Algebra PACKage) is a standard library for numerical
33 linear algebra. LAPACK provides routines for solving systems of
34 simultaneous linear equations, least-squares solutions of linear
35 systems of equations, eigenvalue problems, and singular value
36 problems. Associated matrix factorizations (LU, Cholesky, QR, SVD,
37 Schur, and generalized Schur) and related computations (i.e.,
38 reordering of Schur factorizations and estimating condition numbers)
39 are also included. LAPACK can handle dense and banded matrices, but
40 not general sparse matrices. Similar functionality is provided for
41 real and complex matrices in both single and double precision. LAPACK
42 is coded in Fortran77.
43
44 %description -l pl.UTF-8
45 LAPACK (Linear Algebra PACKage) jest standardową biblioteką numeryczną
46 do algebry liniowej. Dostarcza funkcje rozwiązywania: układów równań
47 liniowych, układów równań metodą najmniejszych kwadratów, problemów
48 własnych. Zawiera algorytmy faktoryzacji macierzy (LU, Cholesky'ego,
49 QR, SVD, Schura, uogólnioną Schura) i związanych z tym obliczeń (np.
50 przenumerowywanie w faktoryzacji Schura i estymację uwarunkowania).
51 LAPACK może obsługiwać macierze blokowe i pasmowe, ale nie rzadkie w
52 ogólnym przypadku. Zapewnia funkcjonalność dla macierzy rzeczywistych
53 i zespolonych, dla liczb pojedynczej i podwójnej precyzji. LAPACK jest
54 napisany w Fortranie 77.
55
56 %package devel
57 Summary:        LAPACK development files
58 Summary(pl.UTF-8):      Pliki programistyczne LAPACK
59 Group:          Development/Libraries
60 Requires:       %{name} = %{version}-%{release}
61 Requires:       blas-devel = %{version}-%{release}
62 Obsoletes:      lapack-man
63
64 %description devel
65 LAPACK development files.
66
67 %description devel -l pl.UTF-8
68 Pliki programistyczne LAPACK.
69
70 %package static
71 Summary:        Static LAPACK libraries
72 Summary(pl.UTF-8):      Biblioteki statyczne LAPACK
73 Group:          Development/Libraries
74 Requires:       %{name}-devel = %{version}-%{release}
75
76 %description static
77 Static LAPACK libraries.
78
79 %description static -l pl.UTF-8
80 Biblioteki statyczne LAPACK.
81
82 %package -n blas
83 Summary:        The BLAS (Basic Linear Algebra Subprograms) library for Linux
84 Summary(pl.UTF-8):      Biblioteka BLAS (Basic Linear Algebra Subprograms) dla Linuksa
85 Group:          Libraries
86 Obsoletes:      lapack-blas
87
88 %description -n blas
89 BLAS (Basic Linear Algebra Subprograms) is a standard library for
90 numerical algebra. BLAS provides a number of basic algorithms for
91 linear algebra. BLAS is fast and well-tested, was written in FORTRAN
92 77.
93
94 Warning: this is a reference implementation from Netlib. If possible,
95 use version optimized for your architecture instead.
96
97 %description -n blas -l pl.UTF-8
98 BLAS (Basic Linear Algebra Subprograms) jest standardową biblioteką
99 numeryczną algebry. Dostarcza wiele podstawowych algorytmów dla
100 algebry liniowej. Jest szybka i dobrze przetestowana, została napisana
101 w Fortranie 77.
102
103 Ostrzeżenie: to jest implementacja przykładowa z repozytorium Netlib.
104 Jeżeli to możliwe, należy używać zamiast niej wersji zoptymalizowanej
105 pod daną architekturę.
106
107 %package -n blas-devel
108 Summary:        BLAS development files
109 Summary(pl.UTF-8):      Pliki programistyczne BLAS
110 Group:          Development/Libraries
111 Requires:       blas = %{version}-%{release}
112 Obsoletes:      blas-man
113
114 %description -n blas-devel
115 BLAS development files.
116
117 %description -n blas-devel -l pl.UTF-8
118 Pliki programistyczne BLAS.
119
120 %package -n blas-static
121 Summary:        Static BLAS library
122 Summary(pl.UTF-8):      Biblioteka statyczna BLAS
123 Group:          Development/Libraries
124 Requires:       blas-devel = %{version}-%{release}
125
126 %description -n blas-static
127 Static BLAS library.
128
129 %description -n blas-static -l pl.UTF-8
130 Biblioteka statyczna BLAS.
131
132 %package -n lapacke
133 Summary:        LAPACKE - native C interface to LAPACK library routines
134 Summary(pl.UTF-8):      LAPACKE - natywny interfejs C do procedur biblioteki LAPACK
135 Group:          Libraries
136 Requires:       lapack = %{version}-%{release}
137
138 %description -n lapacke
139 This library is a part of reference implementation for the C interface
140 to LAPACK project according to the specifications described at the
141 forum for the Intel(R) Math Kernel Library (Intel(R) MKL).
142
143 This implementation provides a native C interface to LAPACK routines
144 to facilitate usage of LAPACK functionality for C programmers.
145
146 %description -n lapacke -l pl.UTF-8
147 Ta bilioteka jest częścią implementacji referencyjnej interfejsu C do
148 projektu LAPACK, zgodnej ze specyfikacją opisaną na forum biblioteki
149 Intel(R) Math Kernel Library.
150
151 Ta implementacja udostępnia natywny interfejs C do procedur biblioteki
152 LAPACK, ułatwiając jej użycie programistom C.
153
154 %package -n lapacke-devel
155 Summary:        Header files for LAPACKE - native C interface to LAPACK
156 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki LAPACKE - natywnego interfejsu C do biblioteki LAPACK
157 Group:          Development/Libraries
158 Requires:       lapack-devel = %{version}-%{release}
159 Requires:       lapacke = %{version}-%{release}
160
161 %description -n lapacke-devel
162 Header files for LAPACKE - native C interface to LAPACK.
163
164 %description -n lapacke-devel -l pl.UTF-8
165 Pliki nagłówkowe biblioteki LAPACKE - natywnego interfejsu C do
166 biblioteki LAPACK.
167
168 %package -n lapacke-static
169 Summary:        Static LAPACKE library - native C interface to LAPACK
170 Summary(pl.UTF-8):      Statyczna biblioteka LAPACKE - natywny interfejs C do biblioteki LAPACK
171 Group:          Development/Libraries
172 Requires:       lapacke-devel = %{version}-%{release}
173
174 %description -n lapacke-static
175 Static LAPACKE library - native C interface to LAPACK.
176
177 %description -n lapacke-static -l pl.UTF-8
178 Statyczna biblioteka LAPACKE - natywny interfejs C do biblioteki
179 LAPACK.
180
181 %prep
182 %setup -q -a1
183 %patch0 -p1
184 %patch1 -p1
185 # directory INSTALL conflicts with file INSTALL needed by automake
186 mv -f INSTALL INSTALLSRC
187 # copy selected routines; use INT_ETIME versions of second
188 cp -f INSTALLSRC/{ilaver,slamch,dlamch,second_INT_ETIME,dsecnd_INT_ETIME}.f SRC
189
190 # bogus
191 %{__rm} man/man3/_Users_julie_Documents_Boulot_lapack-dev_lapack_trunk_*.3 \
192         man/man3/__*.3
193 # duplicated...
194 %{__rm} man/man3/{INSTALL_ilaver,INSTALL_lsame,SRC_xerbla,SRC_xerbla_array}.f.3
195 # ...in BLAS and LAPACK sources; keep versions from BLAS
196 mv -f man/man3/BLAS_SRC_lsame.f.3 man/man3/lsame.f.3
197 mv -f man/man3/BLAS_SRC_xerbla.f.3 man/man3/xerbla.f.3
198 mv -f man/man3/BLAS_SRC_xerbla_array.f.3 man/man3/xerbla_array.f.3
199 sed -i -e 's,man3/INSTALL_,man3/,' man/man3/lsame.3
200 sed -i -e 's,man3/SRC_,man3/,' man/man3/{ilaver,xerbla,xerbla_array}.3
201 # ...in SRC and INSTALL dirs
202 mv -f man/man3/SRC_ilaver.f.3 man/man3/ilaver.f.3
203 # [sd]lamchf77.f is not used
204 %{__rm} man/man3/{dlamc1,dlamc2,dlamc4,dlamc5,dlamchf77.f}.3
205 %{__rm} man/man3/{slamc1,slamc2,slamc4,slamc5,slamchf77.f}.3
206
207 %build
208 %{__libtoolize}
209 %{__aclocal}
210 %{__autoheader}
211 %{__autoconf}
212 %{__automake}
213 %configure
214
215 %{__make}
216
217 %install
218 rm -rf $RPM_BUILD_ROOT
219
220 %{__make} install \
221         DESTDIR=$RPM_BUILD_ROOT
222
223 # install man pages, distributing them among blas-devel and lapack-devel
224 install -d $RPM_BUILD_ROOT%{_mandir}/man3
225 echo "%defattr(644,root,root,755)" > blasmans.list
226 echo "%defattr(644,root,root,755)" > mans.list
227 for f in man/man3/*.3 ; do
228         cp -p "$f" $RPM_BUILD_ROOT%{_mandir}/man3
229         bn=$(basename $f)
230         if echo "$bn" | grep '\.f\.3$' ; then
231                 ffn="${bn%.3}"
232         elif grep '\.f\.3$' "$f" ; then
233                 ffn=$(sed -e '1s,^\.so man3/\(.*\.f\)\.3,\1,' $f)
234         else
235                 echo "Unknown manpage: $f"
236                 exit 1
237         fi
238         if [ -f "BLAS/SRC/$ffn" ]; then
239                 echo "%{_mandir}/man3/${bn}*" >> blasmans.list
240         elif [ -f "SRC/$ffn" -o -f "INSTALLSRC/$ffn" ]; then
241                 echo "%{_mandir}/man3/${bn}*" >> mans.list
242         else
243                 echo "Unknown manpage: $f (source file: $ffn)"
244                 exit 1
245         fi
246 done
247
248 %clean
249 rm -rf $RPM_BUILD_ROOT
250
251 %post   -p /sbin/ldconfig
252 %postun -p /sbin/ldconfig
253
254 %post   -n blas -p /sbin/ldconfig
255 %postun -n blas -p /sbin/ldconfig
256
257 %post   -n lapacke -p /sbin/ldconfig
258 %postun -n lapacke -p /sbin/ldconfig
259
260 %files
261 %defattr(644,root,root,755)
262 %doc README
263 %attr(755,root,root) %{_libdir}/liblapack.so.*.*.*
264 %attr(755,root,root) %ghost %{_libdir}/liblapack.so.2
265
266 %files devel -f mans.list
267 %defattr(644,root,root,755)
268 %attr(755,root,root) %{_libdir}/liblapack.so
269 %{_libdir}/liblapack.la
270 %{_pkgconfigdir}/lapack.pc
271
272 %files static
273 %defattr(644,root,root,755)
274 %{_libdir}/liblapack.a
275
276 %files -n blas
277 %defattr(644,root,root,755)
278 %attr(755,root,root) %{_libdir}/libblas.so.*.*.*
279 %attr(755,root,root) %ghost %{_libdir}/libblas.so.2
280
281 %files -n blas-devel -f blasmans.list
282 %defattr(644,root,root,755)
283 %attr(755,root,root) %{_libdir}/libblas.so
284 %{_libdir}/libblas.la
285 %{_pkgconfigdir}/blas.pc
286
287 %files -n blas-static
288 %defattr(644,root,root,755)
289 %{_libdir}/libblas.a
290
291 %files -n lapacke
292 %defattr(644,root,root,755)
293 %doc lapacke/{LICENSE,README}
294 %attr(755,root,root) %{_libdir}/liblapacke.so.*.*.*
295 %attr(755,root,root) %ghost %{_libdir}/liblapacke.so.2
296
297 %files -n lapacke-devel
298 %defattr(644,root,root,755)
299 %attr(755,root,root) %{_libdir}/liblapacke.so
300 %{_libdir}/liblapacke.la
301 %{_includedir}/lapacke*.h
302 %{_pkgconfigdir}/lapacke.pc
303
304 %files -n lapacke-static
305 %defattr(644,root,root,755)
306 %{_libdir}/liblapacke.a
This page took 0.36561 seconds and 2 git commands to generate.