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