]> git.pld-linux.org Git - packages/lapack.git/blame - lapack.spec
- gcc 7.2 rebuild
[packages/lapack.git] / lapack.spec
CommitLineData
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 5Summary: The LAPACK libraries for numerical linear algebra
084ff819 6Summary(pl.UTF-8): Biblioteki numeryczne LAPACK do algebry liniowej
3c513ef3 7Name: lapack
b3147294
JB
8Version: 3.7.0
9%define man_ver 3.7.0
3fad656e 10Release: 2
b3147294 11License: BSD-like
4d771884 12Group: Libraries
a1923521 13Source0: http://www.netlib.org/lapack/%{name}-%{version}.tgz
b3147294 14# Source0-md5: 697bb8d67c7d336a0f339cc9dd0fa72f
c42e604c 15Source1: http://www.netlib.org/lapack/manpages-%{man_ver}.tgz
b3147294 16# Source1-md5: 5d538ef8b8240bf7e9895feae45428dc
448f9206 17Patch0: %{name}-automake_support.patch
8a7beb04 18Patch1: blas-nan.patch
3c513ef3 19URL: http://www.netlib.org/lapack/
b371c4ed 20BuildRequires: autoconf >= 2.50
6ec8881e 21BuildRequires: automake
a1923521 22BuildRequires: gcc-fortran
584ffaf6
JB
23BuildRequires: libtool >= 2:1.5
24Requires: blas = %{version}-%{release}
64123b99 25BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
3c513ef3 26
b371c4ed
JB
27# missing __stack_chk_fail symbol when only Fortran sources used
28%undefine _fortify_cflags
29%undefine _ssp_cflags
30
3c513ef3 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
6ec8881e
JB
42is coded in Fortran77.
43
eb8f2cff
JR
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
6ec8881e 54napisany w Fortranie 77.
3c513ef3 55
f1593bb3 56%package devel
e956dfe5
JB
57Summary: LAPACK development files
58Summary(pl.UTF-8): Pliki programistyczne LAPACK
f1593bb3 59Group: Development/Libraries
584ffaf6
JB
60Requires: %{name} = %{version}-%{release}
61Requires: blas-devel = %{version}-%{release}
1d0d5108 62Obsoletes: lapack-man
f1593bb3 63
64%description devel
e956dfe5 65LAPACK development files.
f1593bb3 66
eb8f2cff 67%description devel -l pl.UTF-8
e956dfe5 68Pliki programistyczne LAPACK.
f1593bb3 69
70%package static
6ec8881e 71Summary: Static LAPACK libraries
084ff819 72Summary(pl.UTF-8): Biblioteki statyczne LAPACK
f1593bb3 73Group: Development/Libraries
584ffaf6 74Requires: %{name}-devel = %{version}-%{release}
f1593bb3 75
76%description static
6ec8881e 77Static LAPACK libraries.
f1593bb3 78
eb8f2cff 79%description static -l pl.UTF-8
6ec8881e 80Biblioteki statyczne LAPACK.
f1593bb3 81
3c513ef3 82%package -n blas
6ec8881e 83Summary: The BLAS (Basic Linear Algebra Subprograms) library for Linux
084ff819 84Summary(pl.UTF-8): Biblioteka BLAS (Basic Linear Algebra Subprograms) dla Linuksa
4d771884 85Group: Libraries
3c513ef3 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
6ec8881e
JB
9277.
93
1599bb15
RW
94Warning: this is a reference implementation from Netlib. If possible,
95use version optimized for your architecture instead.
96
eb8f2cff
JR
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
6ec8881e 101w Fortranie 77.
3c513ef3 102
eb8f2cff
JR
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ę.
1599bb15 106
f1593bb3 107%package -n blas-devel
e956dfe5
JB
108Summary: BLAS development files
109Summary(pl.UTF-8): Pliki programistyczne BLAS
f1593bb3 110Group: Development/Libraries
584ffaf6 111Requires: blas = %{version}-%{release}
1d0d5108 112Obsoletes: blas-man
f1593bb3 113
114%description -n blas-devel
e956dfe5 115BLAS development files.
f1593bb3 116
eb8f2cff 117%description -n blas-devel -l pl.UTF-8
e956dfe5 118Pliki programistyczne BLAS.
f1593bb3 119
120%package -n blas-static
c7c26a27
JB
121Summary: Static BLAS library
122Summary(pl.UTF-8): Biblioteka statyczna BLAS
f1593bb3 123Group: Development/Libraries
584ffaf6 124Requires: blas-devel = %{version}-%{release}
f1593bb3 125
126%description -n blas-static
c7c26a27 127Static BLAS library.
f1593bb3 128
eb8f2cff 129%description -n blas-static -l pl.UTF-8
c7c26a27
JB
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.
f1593bb3 180
3c513ef3 181%prep
a1923521 182%setup -q -a1
448f9206 183%patch0 -p1
8a7beb04 184%patch1 -p1
448f9206 185# directory INSTALL conflicts with file INSTALL needed by automake
b3147294 186%{__mv} INSTALL INSTALLSRC
c42e604c
JB
187# copy selected routines; use INT_ETIME versions of second
188cp -f INSTALLSRC/{ilaver,slamch,dlamch,second_INT_ETIME,dsecnd_INT_ETIME}.f SRC
3c513ef3 189
c7c26a27 190# bogus
b3147294 191%{__rm} man/man3/{_Users_julie_Downloads_lapack-*,groups-usr.dox}.3
c7c26a27 192# duplicated...
b3147294 193%{__rm} man/man3/{SRC_xerbla,SRC_xerbla_array}.f.3
c7c26a27 194# ...in BLAS and LAPACK sources; keep versions from BLAS
b3147294
JB
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
c7c26a27 203
3c513ef3 204%build
ed70c195 205%{__libtoolize}
b3e8fdec 206%{__aclocal}
207%{__autoheader}
c3e4ee63 208%{__autoconf}
ed70c195 209%{__automake}
ea4aa0a4 210%configure
ed70c195 211
c42e604c 212%{__make}
3c513ef3 213
214%install
215rm -rf $RPM_BUILD_ROOT
64123b99 216
584ffaf6
JB
217%{__make} install \
218 DESTDIR=$RPM_BUILD_ROOT
448f9206 219
c7c26a27 220# install man pages, distributing them among blas-devel and lapack-devel
3d16712d 221install -d $RPM_BUILD_ROOT%{_mandir}/man3
e956dfe5 222echo "%defattr(644,root,root,755)" > blasmans.list
e956dfe5 223echo "%defattr(644,root,root,755)" > mans.list
b3147294
JB
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"
c7c26a27
JB
228for f in man/man3/*.3 ; do
229 cp -p "$f" $RPM_BUILD_ROOT%{_mandir}/man3
230 bn=$(basename $f)
b3147294 231 if echo "$bn" | grep '\.[cfh]\.3$' ; then
c7c26a27 232 ffn="${bn%.3}"
b3147294
JB
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)
c7c26a27
JB
239 else
240 echo "Unknown manpage: $f"
241 exit 1
242 fi
b3147294 243 if [ -f "BLAS/SRC/$ffn" ] || echo "$ffn" | grep -E "^($BLAS_ADDITIONAL)\$" ; then
c7c26a27 244 echo "%{_mandir}/man3/${bn}*" >> blasmans.list
b3147294 245 elif [ -f "SRC/$ffn" -o -f "INSTALLSRC/$ffn" ] || echo "$ffn" | grep -E "^($LAPACK_ADDITIONAL)\$"; then
c7c26a27 246 echo "%{_mandir}/man3/${bn}*" >> mans.list
b3147294
JB
247 elif [ -f "LAPACKE/include/$ffn" -o -f "LAPACKE/src/$ffn" -o -f "LAPACKE/utils/$ffn" ]; then
248 echo "%{_mandir}/man3/${bn}*" >> lapackemans.list
c7c26a27
JB
249 else
250 echo "Unknown manpage: $f (source file: $ffn)"
251 exit 1
252 fi
253done
448f9206 254
6ec8881e 255%clean
5f8b7996 256rm -rf $RPM_BUILD_ROOT
6ec8881e 257
ed70c195
JB
258%post -p /sbin/ldconfig
259%postun -p /sbin/ldconfig
1d0d5108 260
448f9206 261%post -n blas -p /sbin/ldconfig
262%postun -n blas -p /sbin/ldconfig
3c513ef3 263
c7c26a27
JB
264%post -n lapacke -p /sbin/ldconfig
265%postun -n lapacke -p /sbin/ldconfig
266
3c513ef3 267%files
268%defattr(644,root,root,755)
b3147294 269%doc LICENSE README
f1593bb3 270%attr(755,root,root) %{_libdir}/liblapack.so.*.*.*
b3147294 271%attr(755,root,root) %ghost %{_libdir}/liblapack.so.3
f1593bb3 272
1d0d5108 273%files devel -f mans.list
f1593bb3 274%defattr(644,root,root,755)
64123b99
JB
275%attr(755,root,root) %{_libdir}/liblapack.so
276%{_libdir}/liblapack.la
70328b5c 277%{_pkgconfigdir}/lapack.pc
f1593bb3 278
279%files static
280%defattr(644,root,root,755)
281%{_libdir}/liblapack.a
3c513ef3 282
ea4aa0a4 283%files -n blas
3c513ef3 284%defattr(644,root,root,755)
d51e15b2 285%attr(755,root,root) %{_libdir}/libblas.so.*.*.*
b3147294 286%attr(755,root,root) %ghost %{_libdir}/libblas.so.3
f1593bb3 287
1d0d5108 288%files -n blas-devel -f blasmans.list
f1593bb3 289%defattr(644,root,root,755)
64123b99
JB
290%attr(755,root,root) %{_libdir}/libblas.so
291%{_libdir}/libblas.la
70328b5c 292%{_pkgconfigdir}/blas.pc
f1593bb3 293
294%files -n blas-static
295%defattr(644,root,root,755)
296%{_libdir}/libblas.a
c7c26a27 297
b3147294 298%files -n lapacke -f lapackemans.list
c7c26a27 299%defattr(644,root,root,755)
b3147294 300%doc LAPACKE/{LICENSE,README}
c7c26a27 301%attr(755,root,root) %{_libdir}/liblapacke.so.*.*.*
b3147294 302%attr(755,root,root) %ghost %{_libdir}/liblapacke.so.3
c7c26a27
JB
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
971ba2bf 309%{_pkgconfigdir}/lapacke.pc
c7c26a27
JB
310
311%files -n lapacke-static
312%defattr(644,root,root,755)
313%{_libdir}/liblapacke.a
This page took 0.129421 seconds and 4 git commands to generate.