diff --git a/suitesparse.changes b/suitesparse.changes index e501164..6423a27 100644 --- a/suitesparse.changes +++ b/suitesparse.changes @@ -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 diff --git a/suitesparse.spec b/suitesparse.spec index f0a8569..295cfca 100644 --- a/suitesparse.spec +++ b/suitesparse.spec @@ -19,7 +19,7 @@ Name: suitesparse Summary: A collection of sparse matrix libraries License: GPL-2.0+ and LGPL-2.1+ -Group: Development/Libraries +Group: Development/Libraries/C and C++ Version: 4.5.5 Release: 0 Url: http://faculty.cse.tamu.edu/davis/SuiteSparse/ @@ -30,9 +30,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: gcc-c++ BuildRequires: gcc-fortran BuildRequires: lapack-devel -BuildRequires: openmpi-devel -BuildRequires: openblas-devel BuildRequires: metis-devel +BuildRequires: openblas-devel +BuildRequires: openmpi-devel %define amdver 2.4.6 %define amdso 2_4_6 %define btfver 1.2.6 @@ -82,13 +82,10 @@ BuildRequires: metis-devel suitesparse is a collection of libraries for computations involving sparse matrices. -%package devel +%package devel Summary: Development headers for SuiteSparse License: GPL-2.0+ and LGPL-2.1+ -Group: Development/Libraries -Requires: openmpi-devel -Requires: openblas-devel -Requires: metis-devel +Group: Development/Libraries/C and C++ Requires: %{amdlib} = %{amdver} Requires: %{btflib} = %{btfver} Requires: %{camdlib} = %{camdver} @@ -104,6 +101,9 @@ Requires: %{ldllib} = %{ldlver} Requires: %{rbiolib} = %{rbiover} Requires: %{spqrlib} = %{spqrver} Requires: %{umfpacklib} = %{umfpackver} +Requires: metis-devel +Requires: openblas-devel +Requires: openmpi-devel # make sure developers can find these packages Provides: suitesparse-common-devel = %{version} Obsoletes: suitesparse-common-devel < %{version} @@ -145,30 +145,16 @@ Provides: UFconfig-devel = %{configver} Obsoletes: UFconfig-devel < %{configver} %description devel -suitesparse is a collection of libraries for computations involving +suitesparse is a collection of libraries for computations involving sparse matrices. The suitesparse-devel package contains files needed for developing 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 Summary: Static version of SuiteSparse libraries License: GPL-2.0+ and LGPL-2.1+ -Group: Development/Libraries +Group: Development/Libraries/C and C++ Requires: %{name}-devel = %{version} %description devel-static @@ -180,12 +166,12 @@ Version: %{amdver} Release: 0 Summary: Symmetric Approximate Minimum Degree License: LGPL-2.1+ -Group: Development/Libraries +Group: System/Libraries %description -n %{amdlib} -AMD is a set of routines for ordering a sparse matrix prior to -Cholesky factorization (or for LU factorization with diagonal -pivoting). There are versions in both C and Fortran. A MATLAB +AMD is a set of routines for ordering a sparse matrix prior to +Cholesky factorization (or for LU factorization with diagonal +pivoting). There are versions in both C and Fortran. A MATLAB interface is provided. Note that this software has nothing to do with AMD the company. @@ -197,10 +183,10 @@ Version: %{btfver} Release: 0 Summary: Permutation to Block Triangular Form License: LGPL-2.1+ -Group: Development/Libraries +Group: System/Libraries %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- Mendelsohn decomposition). @@ -211,12 +197,12 @@ Version: %{camdver} Release: 0 Summary: Symmetric Approximate Minimum Degree License: LGPL-2.1+ -Group: Development/Libraries +Group: System/Libraries %description -n %{camdlib} -CAMD is a set of routines for ordering a sparse matrix prior to -Cholesky factorization (or for LU factorization with diagonal -pivoting). There are versions in both C and Fortran. A MATLAB +CAMD is a set of routines for ordering a sparse matrix prior to +Cholesky factorization (or for LU factorization with diagonal +pivoting). There are versions in both C and Fortran. A MATLAB interface is provided. CAMD is part of the SuiteSparse sparse matrix suite. @@ -226,10 +212,10 @@ Version: %{ccolamdver} Release: 0 Summary: Constrained Column Approximate Minimum Degree License: LGPL-2.1+ -Group: Development/Libraries +Group: System/Libraries %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 constraints. CCOLAMD is required by the CHOLMOD package. @@ -239,26 +225,26 @@ CCOLAMD is part of the SuiteSparse sparse matrix suite. Version: %{cholmodver} Release: 0 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 +License: GPL-2.0 and LGPL-2.1 +Group: System/Libraries %description -n %{cholmodlib} CHOLMOD is a set of ANSI C routines for sparse Cholesky factorization 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 -data. Comparing BCSLIB-EXT, CHOLMOD, MA57, MUMPS, Oblio, PARDISO, -SPOOLES, SPRSBLKLLT, TAUCS, UMFPACK, and WSMP, on 87 large symmetric -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 -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 -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 -and Yifan Hu also discuss the design considerations for a sparse -direct code. +data. Comparing BCSLIB-EXT, CHOLMOD, MA57, MUMPS, Oblio, PARDISO, +SPOOLES, SPRSBLKLLT, TAUCS, UMFPACK, and WSMP, on 87 large symmetric +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 +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 +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 +and Yifan Hu also discuss the design considerations for a sparse +direct code. CHOLMOD is part of the SuiteSparse sparse matrix suite. @@ -267,19 +253,19 @@ Version: %{colamdver} Release: 0 Summary: Column Approximate Minimum Degree License: LGPL-2.1+ -Group: Development/Libraries +Group: System/Libraries %description -n %{colamdlib} The COLAMD column approximate minimum degree ordering algorithm computes a permutation vector P such that the LU factorization of A (:,P) tends to be sparser than that of A. The Cholesky 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 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 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. @@ -288,24 +274,24 @@ Version: %{csparsever} Release: 0 Summary: Instructional Sparse Matrix Package License: LGPL-2.1+ -Group: Development/Libraries +Group: System/Libraries %description -n %{csparselib} CSparse is a small yet feature-rich sparse matrix package written 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 possible. CSparse is about 2,200 lines long (excluding its MATLAB -interface, demo codes, and test codes), yet it contains algorithms -(either asympotical optimal or fast in practice) for all of the -following functions described below. A MATLAB interface is included. +interface, demo codes, and test codes), yet it contains algorithms +(either asympotical optimal or fast in practice) for all of the +following functions described below. A MATLAB interface is included. Note that the LU and Cholesky factorization algorithms are not as 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 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. @@ -314,7 +300,7 @@ Version: %{cxsparsever} Release: 0 Summary: An extended version of CSparse License: LGPL-2.1+ -Group: Development/Libraries +Group: System/Libraries %description -n %{cxsparselib} CXSparse is an extended version of CSparse, with support for double @@ -327,7 +313,7 @@ Version: %{kluver} Release: 0 Summary: Sparse LU Factorization, for Circuit Simulation License: LGPL-2.1+ -Group: Development/Libraries +Group: System/Libraries %description -n %{klulib} KLU is a sparse LU factorization algorithm well-suited for use in @@ -342,18 +328,18 @@ Version: %{ldlver} Release: 0 Summary: A Simple LDL^T Factorization License: LGPL-2.1+ -Group: Development/Libraries +Group: System/Libraries %description -n %{ldllib} 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 -basic theory of sparse matrix algorithms in as concise a code as -possible, including an elegant new method of sparse symmetric -factorization that computes the factorization row-by-row but stores -it column-by-column. The entire symbolic and numeric factorization -consists of a total of only 49 lines of code. The package is written -in C, and includes a MATLAB interface. +basic theory of sparse matrix algorithms in as concise a code as +possible, including an elegant new method of sparse symmetric +factorization that computes the factorization row-by-row but stores +it column-by-column. The entire symbolic and numeric factorization +consists of a total of only 49 lines of code. The package is written +in C, and includes a MATLAB interface. LDL is part of the SuiteSparse sparse matrix suite. @@ -362,13 +348,13 @@ Version: %{rbiover} Release: 0 Summary: MATLAB Toolbox for Reading/Writing Sparse Matrices License: GPL-2.0+ -Group: Development/Libraries +Group: System/Libraries %description -n %{rbiolib} -RBio is a MATLAB toolbox for reading/writing sparse matrices in the -Rutherford/Boeing format, and for reading/writing problems in the UF -Sparse Matrix Collection from/to a set of files in a directory. -Version 2.0+ is written in C. +RBio is a MATLAB toolbox for reading/writing sparse matrices in the +Rutherford/Boeing format, and for reading/writing problems in the UF +Sparse Matrix Collection from/to a set of files in a directory. +Version 2.0+ is written in C. RBio is part of the SuiteSparse sparse matrix suite. @@ -377,16 +363,16 @@ Version: %{spqrver} Release: 0 Summary: Multifrontal Sparse QR License: GPL-2.0+ -Group: Development/Libraries +Group: System/Libraries %description -n %{spqrlib} -SuiteSparseQR is an implementation of the multifrontal sparse QR -factorization method. Parallelism is exploited both in the BLAS and -across different frontal matrices using Intel's Threading Building -Blocks, a shared-memory programming model for modern multicore -architectures. It can obtain a substantial fraction of the -theoretical peak performance of a multicore computer. The package is -written in C++ with user interfaces for MATLAB, C, and C++. +SuiteSparseQR is an implementation of the multifrontal sparse QR +factorization method. Parallelism is exploited both in the BLAS and +across different frontal matrices using Intel's Threading Building +Blocks, a shared-memory programming model for modern multicore +architectures. It can obtain a substantial fraction of the +theoretical peak performance of a multicore computer. The package is +written in C++ with user interfaces for MATLAB, C, and C++. SuiteSparseQR is part of the SuiteSparse sparse matrix suite. @@ -395,16 +381,16 @@ Version: %{umfpackver} Release: 0 Summary: Sparse Multifrontal LU Factorization License: GPL-2.0+ -Group: Development/Libraries +Group: System/Libraries %description -n %{umfpacklib} -UMFPACK is a set of routines for solving unsymmetric sparse linear -systems, Ax=b, using the Unsymmetric MultiFrontal method. Written in -ANSI/ISO C, with a MATLAB (Version 6.0 and later) interface. Appears +UMFPACK is a set of routines for solving unsymmetric sparse linear +systems, Ax=b, using the Unsymmetric MultiFrontal method. Written in +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 -ATLAB. Includes a MATLAB interface, a C-callable interface, and a -Fortran-callable interface. Note that "UMFPACK" is pronounced in two -syllables, "Umph Pack". It is not "You Em Ef Pack". +ATLAB. Includes a MATLAB interface, a C-callable interface, and a +Fortran-callable interface. Note that "UMFPACK" is pronounced in two +syllables, "Umph Pack". It is not "You Em Ef Pack". UMFPACK is part of the SuiteSparse sparse matrix suite. @@ -413,15 +399,24 @@ Version: %{configver} Release: 0 Summary: Common configurations for all packages in SuiteSparse License: GPL-2.0+ -Group: Development/Libraries +Group: System/Libraries Provides: libufconfig = %{configver} Obsoletes: libufconfig < %{configver} Provides: libUFconfig = %{configver} Obsoletes: libUFconfig < %{configver} %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 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 required by a number of sparse matrix packages, +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.