Dominique Leuenberger 2017-07-21 20:35:38 +00:00 committed by Git OBS Bridge
commit b3ad24fa06
2 changed files with 94 additions and 91 deletions

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Mon Jul 10 23:33:01 UTC 2017 - jengelh@inai.de
- Fix RPM groups.
- Trim pointless trailing line whitespace from descriptions.
% must be encoded as %%.
- Trim past-time history from suistesparse_config description.
------------------------------------------------------------------- -------------------------------------------------------------------
Sun Jun 11 01:49:03 UTC 2017 - toddrme2178@gmail.com Sun Jun 11 01:49:03 UTC 2017 - toddrme2178@gmail.com

View File

@ -19,7 +19,7 @@
Name: suitesparse Name: suitesparse
Summary: A collection of sparse matrix libraries Summary: A collection of sparse matrix libraries
License: GPL-2.0+ and LGPL-2.1+ License: GPL-2.0+ and LGPL-2.1+
Group: Development/Libraries Group: Development/Libraries/C and C++
Version: 4.5.5 Version: 4.5.5
Release: 0 Release: 0
Url: http://faculty.cse.tamu.edu/davis/SuiteSparse/ Url: http://faculty.cse.tamu.edu/davis/SuiteSparse/
@ -30,9 +30,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gcc-fortran BuildRequires: gcc-fortran
BuildRequires: lapack-devel BuildRequires: lapack-devel
BuildRequires: openmpi-devel
BuildRequires: openblas-devel
BuildRequires: metis-devel BuildRequires: metis-devel
BuildRequires: openblas-devel
BuildRequires: openmpi-devel
%define amdver 2.4.6 %define amdver 2.4.6
%define amdso 2_4_6 %define amdso 2_4_6
%define btfver 1.2.6 %define btfver 1.2.6
@ -82,13 +82,10 @@ BuildRequires: metis-devel
suitesparse is a collection of libraries for computations involving sparse suitesparse is a collection of libraries for computations involving sparse
matrices. matrices.
%package devel %package devel
Summary: Development headers for SuiteSparse Summary: Development headers for SuiteSparse
License: GPL-2.0+ and LGPL-2.1+ License: GPL-2.0+ and LGPL-2.1+
Group: Development/Libraries Group: Development/Libraries/C and C++
Requires: openmpi-devel
Requires: openblas-devel
Requires: metis-devel
Requires: %{amdlib} = %{amdver} Requires: %{amdlib} = %{amdver}
Requires: %{btflib} = %{btfver} Requires: %{btflib} = %{btfver}
Requires: %{camdlib} = %{camdver} Requires: %{camdlib} = %{camdver}
@ -104,6 +101,9 @@ Requires: %{ldllib} = %{ldlver}
Requires: %{rbiolib} = %{rbiover} Requires: %{rbiolib} = %{rbiover}
Requires: %{spqrlib} = %{spqrver} Requires: %{spqrlib} = %{spqrver}
Requires: %{umfpacklib} = %{umfpackver} Requires: %{umfpacklib} = %{umfpackver}
Requires: metis-devel
Requires: openblas-devel
Requires: openmpi-devel
# make sure developers can find these packages # make sure developers can find these packages
Provides: suitesparse-common-devel = %{version} Provides: suitesparse-common-devel = %{version}
Obsoletes: suitesparse-common-devel < %{version} Obsoletes: suitesparse-common-devel < %{version}
@ -145,30 +145,16 @@ Provides: UFconfig-devel = %{configver}
Obsoletes: UFconfig-devel < %{configver} Obsoletes: UFconfig-devel < %{configver}
%description devel %description devel
suitesparse is a collection of libraries for computations involving suitesparse is a collection of libraries for computations involving
sparse matrices. sparse matrices.
The suitesparse-devel package contains files needed for developing The suitesparse-devel package contains files needed for developing
applications which use the suitesparse libraries. applications which use the suitesparse libraries.
It also includes SuiteSparse_config, which is required by nearly all
sparse matrix packages that I author or co-author. These include
SuiteSparseQR, AMD, COLAMD, CCOLAMD, CHOLMOD, KLU, BTF, LDL,
CXSparse, RBio, and UMFPACK. It is not required by CSparse, which is
a stand-alone package. SuiteSparse_config (prior to version 4.0.0)
was named UFconfig.
SuiteSparse_config contains a configuration file for "make"
(SuiteSparse_config.mk) and an include file (SuiteSparse_config.h).
Also included in SuiteSparse_config is a replacement for the
BLAS/LAPACK xerbla routine that does not print a warning message
(helpful if you don't want to link the entire Fortran I/O library
into a C application).
%package devel-static %package devel-static
Summary: Static version of SuiteSparse libraries Summary: Static version of SuiteSparse libraries
License: GPL-2.0+ and LGPL-2.1+ License: GPL-2.0+ and LGPL-2.1+
Group: Development/Libraries Group: Development/Libraries/C and C++
Requires: %{name}-devel = %{version} Requires: %{name}-devel = %{version}
%description devel-static %description devel-static
@ -180,12 +166,12 @@ Version: %{amdver}
Release: 0 Release: 0
Summary: Symmetric Approximate Minimum Degree Summary: Symmetric Approximate Minimum Degree
License: LGPL-2.1+ License: LGPL-2.1+
Group: Development/Libraries Group: System/Libraries
%description -n %{amdlib} %description -n %{amdlib}
AMD is a set of routines for ordering a sparse matrix prior to AMD is a set of routines for ordering a sparse matrix prior to
Cholesky factorization (or for LU factorization with diagonal Cholesky factorization (or for LU factorization with diagonal
pivoting). There are versions in both C and Fortran. A MATLAB pivoting). There are versions in both C and Fortran. A MATLAB
interface is provided. interface is provided.
Note that this software has nothing to do with AMD the company. Note that this software has nothing to do with AMD the company.
@ -197,10 +183,10 @@ Version: %{btfver}
Release: 0 Release: 0
Summary: Permutation to Block Triangular Form Summary: Permutation to Block Triangular Form
License: LGPL-2.1+ License: LGPL-2.1+
Group: Development/Libraries Group: System/Libraries
%description -n %{btflib} %description -n %{btflib}
BTF permutes an unsymmetric matrix (square or rectangular) into its BTF permutes an unsymmetric matrix (square or rectangular) into its
block upper triangular form (more precisely, it computes a Dulmage- block upper triangular form (more precisely, it computes a Dulmage-
Mendelsohn decomposition). Mendelsohn decomposition).
@ -211,12 +197,12 @@ Version: %{camdver}
Release: 0 Release: 0
Summary: Symmetric Approximate Minimum Degree Summary: Symmetric Approximate Minimum Degree
License: LGPL-2.1+ License: LGPL-2.1+
Group: Development/Libraries Group: System/Libraries
%description -n %{camdlib} %description -n %{camdlib}
CAMD is a set of routines for ordering a sparse matrix prior to CAMD is a set of routines for ordering a sparse matrix prior to
Cholesky factorization (or for LU factorization with diagonal Cholesky factorization (or for LU factorization with diagonal
pivoting). There are versions in both C and Fortran. A MATLAB pivoting). There are versions in both C and Fortran. A MATLAB
interface is provided. interface is provided.
CAMD is part of the SuiteSparse sparse matrix suite. CAMD is part of the SuiteSparse sparse matrix suite.
@ -226,10 +212,10 @@ Version: %{ccolamdver}
Release: 0 Release: 0
Summary: Constrained Column Approximate Minimum Degree Summary: Constrained Column Approximate Minimum Degree
License: LGPL-2.1+ License: LGPL-2.1+
Group: Development/Libraries Group: System/Libraries
%description -n %{ccolamdlib} %description -n %{ccolamdlib}
CCOLAMD computes an column approximate minimum degree ordering CCOLAMD computes an column approximate minimum degree ordering
algorithm, (like COLAMD), but it can also be given a set of ordering algorithm, (like COLAMD), but it can also be given a set of ordering
constraints. CCOLAMD is required by the CHOLMOD package. constraints. CCOLAMD is required by the CHOLMOD package.
@ -239,26 +225,26 @@ CCOLAMD is part of the SuiteSparse sparse matrix suite.
Version: %{cholmodver} Version: %{cholmodver}
Release: 0 Release: 0
Summary: Supernodal Sparse Cholesky Factorization and Update/Downdate Summary: Supernodal Sparse Cholesky Factorization and Update/Downdate
License: GPL-2.0 and LGPL-2.1
Group: Development/Libraries
#bnc746867 cholmod from suitesparse should be GPL-2.0 and/or LGPL-2.0 licensed #bnc746867 cholmod from suitesparse should be GPL-2.0 and/or LGPL-2.0 licensed
License: GPL-2.0 and LGPL-2.1
Group: System/Libraries
%description -n %{cholmodlib} %description -n %{cholmodlib}
CHOLMOD is a set of ANSI C routines for sparse Cholesky factorization CHOLMOD is a set of ANSI C routines for sparse Cholesky factorization
and update/downdate. A MATLAB interface is provided. and update/downdate. A MATLAB interface is provided.
The performance of CHOLMOD was compared with 10 other codes in a The performance of CHOLMOD was compared with 10 other codes in a
paper by Nick Gould, Yifan Hu, and Jennifer Scott. see also their raw paper by Nick Gould, Yifan Hu, and Jennifer Scott. see also their raw
data. Comparing BCSLIB-EXT, CHOLMOD, MA57, MUMPS, Oblio, PARDISO, data. Comparing BCSLIB-EXT, CHOLMOD, MA57, MUMPS, Oblio, PARDISO,
SPOOLES, SPRSBLKLLT, TAUCS, UMFPACK, and WSMP, on 87 large symmetric SPOOLES, SPRSBLKLLT, TAUCS, UMFPACK, and WSMP, on 87 large symmetric
positive definite matrices, they found CHOLMOD to be fastest for 42 positive definite matrices, they found CHOLMOD to be fastest for 42
of the 87 matrices. Its run time is either fastest or within 10% of of the 87 matrices. Its run time is either fastest or within 10%% of
the fastest for 73 out of 87 matrices. Considering just the larger the fastest for 73 out of 87 matrices. Considering just the larger
matrices, it is either the fastest or within 10% of the fastest for matrices, it is either the fastest or within 10%% of the fastest for
40 out of 42 matrices. It uses the least amount of memory (or within 40 out of 42 matrices. It uses the least amount of memory (or within
10% of the least) for 35 of the 42 larger matrices. Jennifer Scott 10%% of the least) for 35 of the 42 larger matrices. Jennifer Scott
and Yifan Hu also discuss the design considerations for a sparse and Yifan Hu also discuss the design considerations for a sparse
direct code. direct code.
CHOLMOD is part of the SuiteSparse sparse matrix suite. CHOLMOD is part of the SuiteSparse sparse matrix suite.
@ -267,19 +253,19 @@ Version: %{colamdver}
Release: 0 Release: 0
Summary: Column Approximate Minimum Degree Summary: Column Approximate Minimum Degree
License: LGPL-2.1+ License: LGPL-2.1+
Group: Development/Libraries Group: System/Libraries
%description -n %{colamdlib} %description -n %{colamdlib}
The COLAMD column approximate minimum degree ordering algorithm The COLAMD column approximate minimum degree ordering algorithm
computes a permutation vector P such that the LU factorization of computes a permutation vector P such that the LU factorization of
A (:,P) tends to be sparser than that of A. The Cholesky A (:,P) tends to be sparser than that of A. The Cholesky
factorization of (A (:,P))'*(A (:,P)) will also tend to be sparser factorization of (A (:,P))'*(A (:,P)) will also tend to be sparser
than that of A'*A. SYMAMD is a symmetric minimum degree ordering than that of A'*A. SYMAMD is a symmetric minimum degree ordering
method based on COLAMD, available as a MATLAB-callable function. It method based on COLAMD, available as a MATLAB-callable function. It
constructs a matrix M such that M'*M has the same pattern as A, and constructs a matrix M such that M'*M has the same pattern as A, and
then uses COLAMD to compute a column ordering of M. Colamd and symamd then uses COLAMD to compute a column ordering of M. Colamd and symamd
tend to be faster and generate better orderings than their MATLAB tend to be faster and generate better orderings than their MATLAB
counterparts, colmmd and symmmd. counterparts, colmmd and symmmd.
COLAMD is part of the SuiteSparse sparse matrix suite. COLAMD is part of the SuiteSparse sparse matrix suite.
@ -288,24 +274,24 @@ Version: %{csparsever}
Release: 0 Release: 0
Summary: Instructional Sparse Matrix Package Summary: Instructional Sparse Matrix Package
License: LGPL-2.1+ License: LGPL-2.1+
Group: Development/Libraries Group: System/Libraries
%description -n %{csparselib} %description -n %{csparselib}
CSparse is a small yet feature-rich sparse matrix package written CSparse is a small yet feature-rich sparse matrix package written
specifically for a book. The purpose of the package is to demonstrate specifically for a book. The purpose of the package is to demonstrate
a wide range of sparse matrix algorithms in as concise a code as a wide range of sparse matrix algorithms in as concise a code as
possible. CSparse is about 2,200 lines long (excluding its MATLAB possible. CSparse is about 2,200 lines long (excluding its MATLAB
interface, demo codes, and test codes), yet it contains algorithms interface, demo codes, and test codes), yet it contains algorithms
(either asympotical optimal or fast in practice) for all of the (either asympotical optimal or fast in practice) for all of the
following functions described below. A MATLAB interface is included. following functions described below. A MATLAB interface is included.
Note that the LU and Cholesky factorization algorithms are not as Note that the LU and Cholesky factorization algorithms are not as
fast as UMFPACK or CHOLMOD. Other functions have comparable fast as UMFPACK or CHOLMOD. Other functions have comparable
performance as their MATLAB equivalents (some are faster). performance as their MATLAB equivalents (some are faster).
Documentation is very terse in the code; it is fully documented in Documentation is very terse in the code; it is fully documented in
the book. Some indication of how to call the C functions in CSparse the book. Some indication of how to call the C functions in CSparse
is given by the CSparse/MATLAB/*.m help files. is given by the CSparse/MATLAB/*.m help files.
CSparse is part of the SuiteSparse sparse matrix suite. CSparse is part of the SuiteSparse sparse matrix suite.
@ -314,7 +300,7 @@ Version: %{cxsparsever}
Release: 0 Release: 0
Summary: An extended version of CSparse Summary: An extended version of CSparse
License: LGPL-2.1+ License: LGPL-2.1+
Group: Development/Libraries Group: System/Libraries
%description -n %{cxsparselib} %description -n %{cxsparselib}
CXSparse is an extended version of CSparse, with support for double CXSparse is an extended version of CSparse, with support for double
@ -327,7 +313,7 @@ Version: %{kluver}
Release: 0 Release: 0
Summary: Sparse LU Factorization, for Circuit Simulation Summary: Sparse LU Factorization, for Circuit Simulation
License: LGPL-2.1+ License: LGPL-2.1+
Group: Development/Libraries Group: System/Libraries
%description -n %{klulib} %description -n %{klulib}
KLU is a sparse LU factorization algorithm well-suited for use in KLU is a sparse LU factorization algorithm well-suited for use in
@ -342,18 +328,18 @@ Version: %{ldlver}
Release: 0 Release: 0
Summary: A Simple LDL^T Factorization Summary: A Simple LDL^T Factorization
License: LGPL-2.1+ License: LGPL-2.1+
Group: Development/Libraries Group: System/Libraries
%description -n %{ldllib} %description -n %{ldllib}
LDL is a set of concise routines for factorizing symmetric positive- LDL is a set of concise routines for factorizing symmetric positive-
definite sparse matrices, with some applicability to symmetric definite sparse matrices, with some applicability to symmetric
indefinite matrices. Its primary purpose is to illustrate much of the indefinite matrices. Its primary purpose is to illustrate much of the
basic theory of sparse matrix algorithms in as concise a code as basic theory of sparse matrix algorithms in as concise a code as
possible, including an elegant new method of sparse symmetric possible, including an elegant new method of sparse symmetric
factorization that computes the factorization row-by-row but stores factorization that computes the factorization row-by-row but stores
it column-by-column. The entire symbolic and numeric factorization it column-by-column. The entire symbolic and numeric factorization
consists of a total of only 49 lines of code. The package is written consists of a total of only 49 lines of code. The package is written
in C, and includes a MATLAB interface. in C, and includes a MATLAB interface.
LDL is part of the SuiteSparse sparse matrix suite. LDL is part of the SuiteSparse sparse matrix suite.
@ -362,13 +348,13 @@ Version: %{rbiover}
Release: 0 Release: 0
Summary: MATLAB Toolbox for Reading/Writing Sparse Matrices Summary: MATLAB Toolbox for Reading/Writing Sparse Matrices
License: GPL-2.0+ License: GPL-2.0+
Group: Development/Libraries Group: System/Libraries
%description -n %{rbiolib} %description -n %{rbiolib}
RBio is a MATLAB toolbox for reading/writing sparse matrices in the RBio is a MATLAB toolbox for reading/writing sparse matrices in the
Rutherford/Boeing format, and for reading/writing problems in the UF Rutherford/Boeing format, and for reading/writing problems in the UF
Sparse Matrix Collection from/to a set of files in a directory. Sparse Matrix Collection from/to a set of files in a directory.
Version 2.0+ is written in C. Version 2.0+ is written in C.
RBio is part of the SuiteSparse sparse matrix suite. RBio is part of the SuiteSparse sparse matrix suite.
@ -377,16 +363,16 @@ Version: %{spqrver}
Release: 0 Release: 0
Summary: Multifrontal Sparse QR Summary: Multifrontal Sparse QR
License: GPL-2.0+ License: GPL-2.0+
Group: Development/Libraries Group: System/Libraries
%description -n %{spqrlib} %description -n %{spqrlib}
SuiteSparseQR is an implementation of the multifrontal sparse QR SuiteSparseQR is an implementation of the multifrontal sparse QR
factorization method. Parallelism is exploited both in the BLAS and factorization method. Parallelism is exploited both in the BLAS and
across different frontal matrices using Intel's Threading Building across different frontal matrices using Intel's Threading Building
Blocks, a shared-memory programming model for modern multicore Blocks, a shared-memory programming model for modern multicore
architectures. It can obtain a substantial fraction of the architectures. It can obtain a substantial fraction of the
theoretical peak performance of a multicore computer. The package is theoretical peak performance of a multicore computer. The package is
written in C++ with user interfaces for MATLAB, C, and C++. written in C++ with user interfaces for MATLAB, C, and C++.
SuiteSparseQR is part of the SuiteSparse sparse matrix suite. SuiteSparseQR is part of the SuiteSparse sparse matrix suite.
@ -395,16 +381,16 @@ Version: %{umfpackver}
Release: 0 Release: 0
Summary: Sparse Multifrontal LU Factorization Summary: Sparse Multifrontal LU Factorization
License: GPL-2.0+ License: GPL-2.0+
Group: Development/Libraries Group: System/Libraries
%description -n %{umfpacklib} %description -n %{umfpacklib}
UMFPACK is a set of routines for solving unsymmetric sparse linear UMFPACK is a set of routines for solving unsymmetric sparse linear
systems, Ax=b, using the Unsymmetric MultiFrontal method. Written in systems, Ax=b, using the Unsymmetric MultiFrontal method. Written in
ANSI/ISO C, with a MATLAB (Version 6.0 and later) interface. Appears ANSI/ISO C, with a MATLAB (Version 6.0 and later) interface. Appears
as a built-in routine (for lu, backslash, and forward slash) in M as a built-in routine (for lu, backslash, and forward slash) in M
ATLAB. Includes a MATLAB interface, a C-callable interface, and a ATLAB. Includes a MATLAB interface, a C-callable interface, and a
Fortran-callable interface. Note that "UMFPACK" is pronounced in two Fortran-callable interface. Note that "UMFPACK" is pronounced in two
syllables, "Umph Pack". It is not "You Em Ef Pack". syllables, "Umph Pack". It is not "You Em Ef Pack".
UMFPACK is part of the SuiteSparse sparse matrix suite. UMFPACK is part of the SuiteSparse sparse matrix suite.
@ -413,15 +399,24 @@ Version: %{configver}
Release: 0 Release: 0
Summary: Common configurations for all packages in SuiteSparse Summary: Common configurations for all packages in SuiteSparse
License: GPL-2.0+ License: GPL-2.0+
Group: Development/Libraries Group: System/Libraries
Provides: libufconfig = %{configver} Provides: libufconfig = %{configver}
Obsoletes: libufconfig < %{configver} Obsoletes: libufconfig < %{configver}
Provides: libUFconfig = %{configver} Provides: libUFconfig = %{configver}
Obsoletes: libUFconfig < %{configver} Obsoletes: libUFconfig < %{configver}
%description -n %{configlib} %description -n %{configlib}
SuiteSparse_config is required by nearly all sparse matrix packages that I author or co-author. These include SuiteSparseQR, AMD, COLAMD, CCOLAMD, CHOLMOD, KLU, BTF, LDL, CXSparse, RBio, and UMFPACK. It is not required by CSparse, which is a stand-alone package. SuiteSparse_config (prior to version 4.0.0) was named UFconfig. SuiteSparse_config is required by a number of sparse matrix packages,
SuiteSparse_config contains a configuration file for "make" (SuiteSparse_config.mk) and an include file (SuiteSparse_config.h). Also included in SuiteSparse_config is a replacement for the BLAS/LAPACK xerbla routine that does not print a warning message (helpful if you don't want to link the entire Fortran I/O library into a C application). including SuiteSparseQR, AMD, COLAMD, CCOLAMD, CHOLMOD, KLU, BTF,
LDL, CXSparse, RBio, and UMFPACK. It is not required by CSparse,
which is a stand-alone package.
SuiteSparse_config contains a configuration file for "make"
(SuiteSparse_config.mk) and an include file (SuiteSparse_config.h).
Also included in SuiteSparse_config is a replacement for the
BLAS/LAPACK xerbla routine that does not print a warning message
(helpful if you don't want to link the entire Fortran I/O library
into a C application).
SuiteSparse_config is part of the SuiteSparse sparse matrix suite. SuiteSparse_config is part of the SuiteSparse sparse matrix suite.