liblapack/liblapack.spec
2024-01-06 04:57:15 +01:00

242 lines
8.5 KiB
RPMSpec

%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.9.0
Release: 1mamba
Summary: LAPACK - Linear Algebra PACKage
Group: System/Libraries
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://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
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%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
* Sun Mar 29 2020 Ercole 'ercolinux' Carpanetto <ercole69@gmail.com> 3.9.0-1mamba
- update to 3.9.0
* Sat Mar 24 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 3.8.0-1mamba
- update to 3.8.0
* Sun Mar 02 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 3.5.0-1mamba
- update to 3.5.0
* Mon Aug 26 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 3.4.2-5mamba
- rebuilt using cmake to fix linking with xblas
- moved man pages to liblapack-apidocs
-
* Mon Aug 26 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 3.4.2-4mamba
- rebuilt with extended precision support (requires libxblas-devel)
* Thu Aug 22 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 3.4.2-3mamba
- rebuilt static library required to build libatlas
* Wed Aug 21 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 3.4.2-2mamba
- moved man 3 pages to -devel packages
* Thu Oct 11 2012 Automatic Build System <autodist@mambasoft.it> 3.4.2-1mamba
- automatic version update by autodist
* Mon Jul 02 2012 Automatic Build System <autodist@mambasoft.it> 3.4.1-1mamba
- automatic version update by autodist
* Sun May 30 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 3.2.1-4mamba
- support cross platform gfortran compiler
* Tue Mar 02 2010 gil <puntogil@libero.it> 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 <puntogil@libero.it> 3.2.1-2mamba
- added manpages
* Sun Jul 26 2009 Automatic Build System <autodist@mambasoft.it> 3.2.1-1mamba
- automatic update by autodist
* Thu Jun 04 2009 Automatic Build System <autodist@mambasoft.it> 3.2-1mamba
- automatic update by autodist
* Fri Sep 12 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.1-2mamba
- rebuilt against gcc-fortran 4.3.2
* Sat May 19 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.1-1mamba
- update to 3.1.1
* Sun Feb 18 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.0-2qilnx
- rebuilt
* Tue Nov 21 2006 Stefano Cotta Ramusino <stefano.cotta@qilinux.it> 3.1.0-1qilnx
- package created by autospec