%define epoch 0 %define name cxsparse %define NAME CXSparse %define version 3.1.1 %define release %mkrel 2 %define major %{version} %define libname %mklibname %{name} %{major} %define develname %mklibname %{name} -d Name: %{name} Version: %{version} Release: %{release} Epoch: %{epoch} Summary: Direct methods for sparse linear systems Group: System/Libraries License: LGPL URL: http://www.cise.ufl.edu/research/sparse/CXSparse/ Source0: http://www.cise.ufl.edu/research/sparse/CXSparse/%{NAME}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version} BuildRequires: suitesparse-common-devel >= 3.2.0-2 %description CSparse is a package of direct methods for sparse linear systems written to complement the book "Direct Methods for Sparse Linear Systems", by Timothy A. Davis. The algorithms in CSparse have been chosen with five goals in mind: (1) they must embody much of the theory behind sparse matrix algorithms, (2) they must be either asymptotically optimal in their run time and memory usage or be fast in practice, (3) they must be concise so as to be easily understood and short enough to print in the book, (4) they must cover a wide spectrum of matrix operations, and (5) they must be accurate and robust. The focus is on direct methods; iterative methods and solvers for eigenvalue problems are beyond the scope of this package. CXSparse is a version of CSparse that operates on both real and complex matrices, using either int or UF_long integers. %package -n %{libname} Summary: Library of direct methods for sparse linear systems Group: System/Libraries Provides: %{libname} = %{epoch}:%{version}-%{release} Obsoletes: %mklibname %{name} 2 Obsoletes: %mklibname %{name} 2.2.1 %description -n %{libname} CSparse is a package of direct methods for sparse linear systems written to complement the book "Direct Methods for Sparse Linear Systems", by Timothy A. Davis. The algorithms in CSparse have been chosen with five goals in mind: (1) they must embody much of the theory behind sparse matrix algorithms, (2) they must be either asymptotically optimal in their run time and memory usage or be fast in practice, (3) they must be concise so as to be easily understood and short enough to print in the book, (4) they must cover a wide spectrum of matrix operations, and (5) they must be accurate and robust. The focus is on direct methods; iterative methods and solvers for eigenvalue problems are beyond the scope of this package. CXSparse is a version of CSparse that operates on both real and complex matrices, using either int or UF_long integers. This package contains the library needed to run programs dynamically linked against %{NAME}. %package -n %{develname} Summary: C direct methods for sparse linear systems Group: Development/C Requires: suitesparse-common-devel >= 3.2.0-2 Requires: %{libname} = %{epoch}:%{version}-%{release} Provides: %{name}-devel = %{epoch}:%{version}-%{release} Obsoletes: %mklibname %name 2 -d Obsoletes: %mklibname %name 2 -d -s %description -n %{develname} CSparse is a package of direct methods for sparse linear systems written to complement the book "Direct Methods for Sparse Linear Systems", by Timothy A. Davis. The algorithms in CSparse have been chosen with five goals in mind: (1) they must embody much of the theory behind sparse matrix algorithms, (2) they must be either asymptotically optimal in their run time and memory usage or be fast in practice, (3) they must be concise so as to be easily understood and short enough to print in the book, (4) they must cover a wide spectrum of matrix operations, and (5) they must be accurate and robust. The focus is on direct methods; iterative methods and solvers for eigenvalue problems are beyond the scope of this package. CXSparse is a version of CSparse that operates on both real and complex matrices, using either int or UF_long integers. This package contains the files needed to develop applications which use %{name}. %prep %setup -q -c %setup -q -D -n %{name}-%{version}/%{NAME} mkdir ../SuiteSparse_config ln -sf %{_includedir}/suitesparse/SuiteSparse_config.* ../SuiteSparse_config %build pushd Lib %make -f Makefile CC=%__cc CFLAGS="%{optflags} -fPIC -I%{_includedir}/suitesparse" INC= %__cc -shared -Wl,-soname,lib%{name}.so.%{major} -o lib%{name}.so.%{version} -lm *.o popd %install %__rm -rf %{buildroot} %__install -d -m 755 %{buildroot}%{_libdir} %__install -d -m 755 %{buildroot}%{_includedir}/suitesparse for f in Lib/*.so*; do %__install -m 755 $f %{buildroot}%{_libdir}/`basename $f` done for f in Lib/*.a; do %__install -m 644 $f %{buildroot}%{_libdir}/`basename $f` done for f in Include/*.h; do %__install -m 644 $f %{buildroot}%{_includedir}/suitesparse/`basename $f` done %__ln_s lib%{name}.so.%{version} %{buildroot}%{_libdir}/lib%{name}.so %__install -d -m 755 %{buildroot}%{_docdir}/%{name} %__install -m 644 README.txt Doc/*.txt Doc/ChangeLog %{buildroot}%{_docdir}/%{name} %clean %__rm -rf %{buildroot} %files -n %{libname} %defattr(-,root,root) %{_libdir}/*.so.* %files -n %{develname} %defattr(-,root,root) %{_docdir}/%{name} %{_includedir}/* %{_libdir}/*.so %{_libdir}/*.a %changelog * Fri Jan 11 2013 umeabot <umeabot> 0:3.1.1-2.mga3 + Revision: 348528 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Sat Sep 22 2012 grenoya <grenoya> 0:3.1.1-1.mga3 + Revision: 296622 -new version 3.0.1 - adapt spec to new suitesparse-common-devel * Tue Apr 12 2011 grenoya <grenoya> 0:2.2.5-1.mga1 + Revision: 83824 - clean old Mdv syntax - imported package cxsparse