%define majver %(echo %version | cut -d. -f 1-2) %define MAJversion %(echo %version | cut -d. -f 1) %define blasversion %version %define blasmajversion %MAJversion Name: liblapack Version: 3.10.0 Release: 1mamba Summary: LAPACK - Linear Algebra PACKage Group: System/Libraries Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: https://www.netlib.org/lapack/ Source: https://github.com/Reference-LAPACK/lapack.git/v%{version}/lapack-%{version}.tar.bz2 #Source: http://www.netlib.org/lapack/lapack-%{version}.tar.gz Source1: http://www.netlib.org/lapack/lapackqref.ps Source2: http://www.netlib.org/blas/blasqr.ps Source3: http://www.netlib.org/lapack/manpages.tgz # http://tianyangma.blogspot.it/2012/03/linux-easiest-way-to-compile-lapack.html #Source4: http://users.wfu.edu/cottrell/lapack/lapack-%{majver}.0-autoconf.tar.gz Patch0: %{name}-3.1.1-intrinsec_etime.patch Patch1: liblapack-3.1.1-make.inc.patch Patch2: liblapack-3.4.2-cmake-sover.patch Patch3: liblapack-3.4.2-lib64.patch License: BSD ## AUTOBUILDREQ-BEGIN BuildRequires: gcc-fortran BuildRequires: glibc-devel BuildRequires: libgcc %ifnarch arm aarch64 BuildRequires: libquadmath-devel %endif BuildRequires: libxblas-devel ## AUTOBUILDREQ-END %description LAPACK is written in Fortran77 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. The associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are also provided, as are related computations such as reordering of the Schur factorizations and estimating condition numbers. Dense and banded matrices are handled, but not general sparse matrices. In all areas, similar functionality is provided for real and complex matrices, in both single and double precision. %package devel Group: Development/Libraries Summary: Static libraries and headers for %{name} Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description devel LAPACK is written in Fortran77 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. The associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are also provided, as are related computations such as reordering of the Schur factorizations and estimating condition numbers. Dense and banded matrices are handled, but not general sparse matrices. In all areas, similar functionality is provided for real and complex matrices, in both single and double precision. This package contains static libraries and header files need for development. %package -n libblas Group: System/Libraries Summary: BLAS - Basic Linear Algebra Subprograms %description -n libblas The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations. The Level 1 BLAS perform scalar, vector and vector-vector operations, the Level 2 BLAS perform matrix-vector operations, and the Level 3 BLAS perform matrix-matrix operations. Because the BLAS are efficient, portable, and widely available, they are commonly used in the development of high quality linear algebra software, LAPACK for example. %package -n libblas-devel Group: Development/Libraries Summary: Static libraries and headers for libblas Requires: libblas = %{?epoch:%epoch:}%{version}-%{release} %description -n libblas-devel The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations. The Level 1 BLAS perform scalar, vector and vector-vector operations, the Level 2 BLAS perform matrix-vector operations, and the Level 3 BLAS perform matrix-matrix operations. Because the BLAS are efficient, portable, and widely available, they are commonly used in the development of high quality linear algebra software, LAPACK for example. This package contains static libraries and header files need for development. %package apidocs Group: Documentation Summary: %{name} API documentation Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description apidocs This package includes the %{name} API documentation. %debug_package %prep %setup -q -n lapack-%{version} -a3 #% setup -q -n lapack-%{version} -D -T #:<< _EOF #-a 4 %patch0 -p1 #%patch2 -p1 #%patch3 -p1 cp %{S:1} lapackqref.ps cp %{S:2} blasqr.ps %build %cmake -d build \ -DUSE_XBLAS=ON \ -DBUILD_STATIC_LIBS=ON \ -DBUILD_SHARED_LIBS=OFF \ -DBUILD_TESTING=OFF \ -DCMAKE_Fortran_COMPILER_FORCED=ON \ -DCMAKE_SHARED_LINKER_FLAGS=-lgfortran \ %ifarch x86_64 -DXBLAS_LIBRARY=%{_libdir}/libxblas.so \ -DLIB_SUFFIX=64 %endif %make cd .. %cmake -d build \ -DUSE_XBLAS=ON \ -DBUILD_STATIC_LIBS=OFF \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_TESTING=OFF \ -DCMAKE_Fortran_COMPILER_FORCED=ON \ -DCMAKE_SHARED_LINKER_FLAGS=-lgfortran \ %ifarch x86_64 -DXBLAS_LIBRARY=%{_libdir}/libxblas.so \ -DLIB_SUFFIX=64 %endif %make %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %makeinstall -C build install -m0644 build/lib/*.a %{buildroot}%{_libdir}/ ### install manfiles ## duplicated #rm -f manpages/man/manl/lsame.l* #rm -f manpages/man/manl/xerbla.l* mkdir -p %{buildroot}%{_mandir}/man3 for manfile in man/man3/* ; do filename=$(basename $manfile .l).3 install -m 644 -p $manfile \ %{buildroot}%{_mandir}/man3/$filename echo "%{_mandir}/man3/$filename.gz" >> %{name}mans done %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" rm -f .*mans %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %post -n libblas -p /sbin/ldconfig %postun -n libblas -p /sbin/ldconfig %files %defattr(-,root,root) %{_libdir}/%{name}.so.* %files devel %defattr(-,root,root) %dir %{_libdir}/cmake/lapack-%{version} %{_libdir}/cmake/lapack-%{version}/lapack-*.cmake %{_libdir}/liblapack.a %{_libdir}/liblapack.so %{_libdir}/pkgconfig/lapack.pc #%doc README %files -n libblas %defattr(-,root,root) %{_libdir}/libblas.so.* %files apidocs -f %{name}mans %defattr(-,root,root) %doc lapackqref.ps blasqr.ps %files -n libblas-devel %defattr(-,root,root) %{_libdir}/libblas.a %{_libdir}/libblas.so %{_libdir}/pkgconfig/blas.pc %changelog * Tue Jun 29 2021 Automatic Build System 3.10.0-1mamba - automatic version update by autodist * Tue May 11 2021 Automatic Build System 3.9.1-1mamba - automatic version update by autodist * Sun Mar 29 2020 Ercole 'ercolinux' Carpanetto 3.9.0-1mamba - update to 3.9.0 * Sat Mar 24 2018 Silvan Calarco 3.8.0-1mamba - update to 3.8.0 * Sun Mar 02 2014 Silvan Calarco 3.5.0-1mamba - update to 3.5.0 * Mon Aug 26 2013 Silvan Calarco 3.4.2-5mamba - rebuilt using cmake to fix linking with xblas - moved man pages to liblapack-apidocs - * Mon Aug 26 2013 Silvan Calarco 3.4.2-4mamba - rebuilt with extended precision support (requires libxblas-devel) * Thu Aug 22 2013 Silvan Calarco 3.4.2-3mamba - rebuilt static library required to build libatlas * Wed Aug 21 2013 Silvan Calarco 3.4.2-2mamba - moved man 3 pages to -devel packages * Thu Oct 11 2012 Automatic Build System 3.4.2-1mamba - automatic version update by autodist * Mon Jul 02 2012 Automatic Build System 3.4.1-1mamba - automatic version update by autodist * Sun May 30 2010 Silvan Calarco 3.2.1-4mamba - support cross platform gfortran compiler * Tue Mar 02 2010 gil 3.2.1-3mamba - see http://mail.scipy.org/pipermail/scipy-user/2007-July/012968.html - rebuilt with fedora Makefiles support * Mon Mar 01 2010 gil 3.2.1-2mamba - added manpages * Sun Jul 26 2009 Automatic Build System 3.2.1-1mamba - automatic update by autodist * Thu Jun 04 2009 Automatic Build System 3.2-1mamba - automatic update by autodist * Fri Sep 12 2008 Silvan Calarco 3.1.1-2mamba - rebuilt against gcc-fortran 4.3.2 * Sat May 19 2007 Silvan Calarco 3.1.1-1mamba - update to 3.1.1 * Sun Feb 18 2007 Silvan Calarco 3.1.0-2qilnx - rebuilt * Tue Nov 21 2006 Stefano Cotta Ramusino 3.1.0-1qilnx - package created by autospec