# # spec file for package suitesparse # # Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %ifarch %{arm} aarch64 %define _lto_cflags %{nil} %endif %ifarch m68k %bcond_with openblas %else %bcond_without openblas %endif Name: suitesparse Summary: A collection of sparse matrix libraries License: BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later Version: 7.10.1 Release: 1.1 Group: Development/Libraries/C and C++ URL: https://people.engr.tamu.edu/davis/suitesparse.html Source0: https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v%{version}.tar.gz#/SuiteSparse-%{version}.tar.gz Source1: https://sparse.tamu.edu/files/ssstats.csv # Add our manually written for-convenience python script that lists all other sources # This script is basically a modification of the runTests script # https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/dev/Mongoose/Tests/runTests Source2: list-mongoose-test-sources.py Source3: README-suse-maintenance.md # Sources needed for tests, numbered starting from 100 Source100: https://sparse.tamu.edu/MM/HB/1138_bus.tar.gz Source101: https://sparse.tamu.edu/MM/HB/494_bus.tar.gz Source102: https://sparse.tamu.edu/MM/HB/662_bus.tar.gz Source103: https://sparse.tamu.edu/MM/HB/685_bus.tar.gz Source104: https://sparse.tamu.edu/MM/HB/arc130.tar.gz Source105: https://sparse.tamu.edu/MM/HB/ash292.tar.gz Source106: https://sparse.tamu.edu/MM/HB/ash85.tar.gz Source107: https://sparse.tamu.edu/MM/HB/bcspwr01.tar.gz Source108: https://sparse.tamu.edu/MM/HB/bcspwr02.tar.gz Source109: https://sparse.tamu.edu/MM/HB/bcspwr03.tar.gz Source110: https://sparse.tamu.edu/MM/HB/bcspwr09.tar.gz Source111: https://sparse.tamu.edu/MM/HB/bcsstk17.tar.gz Source112: https://sparse.tamu.edu/MM/HB/bcsstm02.tar.gz Source113: https://sparse.tamu.edu/MM/HB/jagmesh7.tar.gz Source114: https://sparse.tamu.edu/MM/HB/lnsp3937.tar.gz Source115: https://sparse.tamu.edu/MM/HB/lshp3466.tar.gz Source116: https://sparse.tamu.edu/MM/HB/sherman1.tar.gz Source117: https://sparse.tamu.edu/MM/HB/sstmodel.tar.gz Source118: https://sparse.tamu.edu/MM/Boeing/crystm01.tar.gz Source119: https://sparse.tamu.edu/MM/Boeing/msc04515.tar.gz Source120: https://sparse.tamu.edu/MM/Gset/G42.tar.gz Source121: https://sparse.tamu.edu/MM/Nasa/nasa4704.tar.gz Source122: https://sparse.tamu.edu/MM/Andrianov/fxm3_6.tar.gz Source123: https://sparse.tamu.edu/MM/Andrianov/net25.tar.gz Source124: https://sparse.tamu.edu/MM/Oberwolfach/LF10000.tar.gz Source125: https://sparse.tamu.edu/MM/Pajek/Erdos992.tar.gz Source126: https://sparse.tamu.edu/MM/Pajek/USpowerGrid.tar.gz Source127: https://sparse.tamu.edu/MM/Pajek/yeast.tar.gz Source128: https://sparse.tamu.edu/MM/Schenk_IBMNA/c-38.tar.gz Source129: https://sparse.tamu.edu/MM/Schenk_IBMNA/c-43.tar.gz Source130: https://sparse.tamu.edu/MM/Gleich/minnesota.tar.gz Source131: https://sparse.tamu.edu/MM/Newman/netscience.tar.gz Source132: https://sparse.tamu.edu/MM/AG-Monien/netz4504.tar.gz Source133: https://sparse.tamu.edu/MM/DIMACS10/delaunay_n13.tar.gz Source134: https://sparse.tamu.edu/MM/DIMACS10/tx2010.tar.gz # This patch is to keep our test sources since upstream has to likely update # their sources for tests. This is not a fix for upstream but to adapt with # how open build service works since it disallows network connections during # the build. Patch1: keep-mongoose-test-sources.patch BuildRequires: cmake >= 3.22 BuildRequires: fdupes BuildRequires: gcc >= 4.9 BuildRequires: gcc-c++ >= 4.9 BuildRequires: gcc-fortran BuildRequires: gmp-devel BuildRequires: lapack-devel BuildRequires: make BuildRequires: memory-constraints BuildRequires: metis-devel BuildRequires: mpfr-devel BuildRequires: tbb-devel BuildRequires: valgrind %if %{with openblas} BuildRequires: openblas-devel %else BuildRequires: blas-devel %endif %define amd_sover 3 %define btf_sover 2 %define camd_sover 3 %define ccolamd_sover 3 %define cholmod_sover 5 %define colamd_sover 3 %define config_sover 7 %define csparse_sover 4 %define cxsparse_sover 4 %define graphblas_sover 10 %define klu_sover 2 %define ldl_sover 3 %define lagraph_sover 1 %define lagraphx_sover 1 %define paru_sover 1 %define mongoose_sover 3 %define suitesparse_mongoose_sover 3 %define rbio_sover 4 %define sliplu_sover 1 %define spex_sover 3 %define spqr_sover 4 %define umfpack_sover 6 %define klu_cholmod_sover 2 %define amdlib libamd%{amd_sover} %define btflib libbtf%{btf_sover} %define camdlib libcamd%{camd_sover} %define ccolamdlib libccolamd%{ccolamd_sover} %define cholmodlib libcholmod%{cholmod_sover} %define colamdlib libcolamd%{colamd_sover} %define configlib libsuitesparseconfig%{config_sover} %define csparselib libcsparse%{csparse_sover} %define cxsparselib libcxsparse%{cxsparse_sover} %define graphblaslib libgraphblas%{graphblas_sover} %define suitesparse_mongooselib libsuitesparse_mongoose%{suitesparse_mongoose_sover} %define parulib libparu%{paru_sover} %define lagraphlib liblagraph%{lagraph_sover} %define lagraphxlib liblagraphx%{lagraphx_sover} %define klulib libklu%{klu_sover} %define ldllib libldl%{ldl_sover} %define mongooselib libmongoose%{mongoose_sover} %define rbiolib librbio%{rbio_sover} %define spexlib libspex%{spex_sover} %define spqrlib libspqr%{spqr_sover} %define umfpacklib libumfpack%{umfpack_sover} %define klu_cholmodlib libklu_cholmod%{klu_cholmod_sover} %{?suse_build_hwcaps_libs} %description suitesparse is a collection of libraries for computations involving sparse matrices. %package devel Summary: Development headers for SuiteSparse License: BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later Group: Development/Libraries/C and C++ Requires: %{amdlib} = %{version} Requires: %{btflib} = %{version} Requires: %{camdlib} = %{version} Requires: %{ccolamdlib} = %{version} Requires: %{cholmodlib} = %{version} Requires: %{colamdlib} = %{version} Requires: %{configlib} = %{version} Requires: %{configlib} = %{version} Requires: %{cxsparselib} = %{version} Requires: %{graphblaslib} = %{version} Requires: %{klu_cholmodlib} = %{version} Requires: %{klu_cholmodlib} = %{version} Requires: %{klulib} = %{version} Requires: %{lagraphlib} = %{version} Requires: %{lagraphxlib} = %{version} Requires: %{ldllib} = %{version} Requires: %{parulib} = %{version} Requires: %{rbiolib} = %{version} Requires: %{spexlib} = %{version} Requires: %{spqrlib} = %{version} Requires: %{suitesparse_mongooselib} = %{version} Requires: %{umfpacklib} = %{version} Requires: gcc-c++ >= 4.9 Requires: metis-devel %if %{with openblas} Requires: openblas-devel %else Requires: blas-devel %endif Requires: tbb-devel %description devel 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. %package -n %{amdlib} Summary: Symmetric Approximate Minimum Degree License: BSD-3-Clause 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 interface is provided. Note that this software has nothing to do with AMD the company. AMD is part of the SuiteSparse sparse matrix suite. %package -n libamd-doc Summary: Documentation for libamd License: BSD-3-Clause Group: Documentation/Other BuildArch: noarch %description -n libamd-doc Documentation for libamd. %package -n %{btflib} Summary: Permutation to Block Triangular Form License: LGPL-2.1-or-later Group: System/Libraries %description -n %{btflib} BTF permutes an unsymmetric matrix (square or rectangular) into its block upper triangular form (more precisely, it computes a Dulmage- Mendelsohn decomposition). BTF is part of the SuiteSparse sparse matrix suite. %package -n %{camdlib} Summary: Symmetric Approximate Minimum Degree License: BSD-3-Clause 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 interface is provided. CAMD is part of the SuiteSparse sparse matrix suite. %package -n libcamd-doc Summary: Documentation for libcamd License: BSD-3-Clause Group: Documentation/Other BuildArch: noarch %description -n libcamd-doc Documentation for libcam. %package -n %{ccolamdlib} Summary: Constrained Column Approximate Minimum Degree License: BSD-3-Clause Group: System/Libraries %description -n %{ccolamdlib} 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. CCOLAMD is part of the SuiteSparse sparse matrix suite. %package -n %{cholmodlib} Summary: Supernodal Sparse Cholesky Factorization and Update/Downdate License: GPL-2.0-only AND LGPL-2.1-only Group: System/Libraries #bnc746867 cholmod from suitesparse should be GPL-2.0 and/or LGPL-2.0 licensed %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 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. CHOLMOD is part of the SuiteSparse sparse matrix suite. %package -n %{colamdlib} Summary: Column Approximate Minimum Degree License: BSD-3-Clause 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 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. COLAMD is part of the SuiteSparse sparse matrix suite. %package -n %{cxsparselib} Summary: An extended version of CSparse License: LGPL-2.1-or-later Group: System/Libraries %description -n %{cxsparselib} CXSparse is an extended version of CSparse, with support for double or complex matrices, with int or long integers. CXSparse is part of the SuiteSparse sparse matrix suite. %package -n %{graphblaslib} Summary: An implementation of the GraphBLAS standard License: Apache-2.0 Group: System/Libraries %description -n %{graphblaslib} GraphBLAS is an full implementation of the GraphBLAS standard, which defines a set of sparse matrix operations on an extended algebra of semirings using an almost unlimited variety of operators and types. When applied to sparse adjacency matrices, these algebraic operations are equivalent to computations on graphs. GraphBLAS provides a powerful and expressive framework for creating graph algorithms based on the elegant mathematics of sparse matrix operations on a semiring. GraphBLAS is part of the SuiteSparse sparse matrix suite. %package -n %{klulib} Summary: Sparse LU Factorization, for Circuit Simulation License: LGPL-2.1-or-later Group: System/Libraries %description -n %{klulib} KLU is a sparse LU factorization algorithm well-suited for use in circuit simulation. It was highlighted in the May 2007 issue of SIAM News, Sparse Matrix Algorithm Drives SPICE Performance Gains. It is the "fast sparse-matrix solver" mentioned in the article. KLU is part of the SuiteSparse sparse matrix suite. %package -n libklu-doc Summary: Documentation for libklu License: LGPL-2.1-or-later Group: Documentation/Other BuildArch: noarch %description -n libklu-doc Documentation for libklu. %package -n %{ldllib} Summary: A Simple LDL^T Factorization License: LGPL-2.1-or-later 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 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. LDL is part of the SuiteSparse sparse matrix suite. %package -n libldl-doc Summary: Documentation for libldl License: LGPL-2.1-or-later Group: Documentation/Other BuildArch: noarch %description -n libldl-doc Documentation for libldl. %package -n %{rbiolib} Summary: MATLAB Toolbox for Reading/Writing Sparse Matrices License: GPL-2.0-or-later 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 part of the SuiteSparse sparse matrix suite. %package -n %{spexlib} Summary: SPEX, A SParse EXact Algebra Factorizations License: GPL-2.0-or-later AND LGPL-3.0-or-later Group: System/Libraries %description -n %{spexlib} SPEX is software package used to solve a sparse systems of linear equations and replaces SLIP LU. SPEX Util is a software package containing utility and auxiliary functions for the SPEX factorizations. Additionally, SPEX Util provides a wrapper class for the GNU Multiple Precision Arithmetic (GMP) and GNU Multiple Precision Floating Point Reliable (MPFR) libraries that prevent memory leaks and improve the overall stability of these external libraries. SPEX Util is written in ANSI C. SPEX operates on matrices stored in any of the following 15 combinations of matrix formats and entry data-types SPEX and SPEX Utils are part of the SuiteSparse sparse matrix suite. %package -n libspex-doc Summary: SPEX, A SParse EXact Algebra Factorizations License: GPL-2.0-or-later AND LGPL-3.0-or-later Group: Documentation/Other BuildArch: noarch %description -n libspex-doc Documentation for libspex. SPEX is software package used to solve a sparse systems of linear equations and replaces SLIP LU. SPEX Util is a software package containing utility and auxiliary functions for the SPEX factorizations. Additionally, SPEX Util provides a wrapper class for the GNU Multiple Precision Arithmetic (GMP) and GNU Multiple Precision Floating Point Reliable (MPFR) libraries that prevent memory leaks and improve the overall stability of these external libraries. SPEX Util is written in ANSI C. %package -n %{spqrlib} Summary: Multifrontal Sparse QR License: GPL-2.0-or-later 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 part of the SuiteSparse sparse matrix suite. %package -n %{umfpacklib} Summary: Sparse Multifrontal LU Factorization License: GPL-2.0-or-later 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 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". UMFPACK is part of the SuiteSparse sparse matrix suite. %package -n libumfpack-doc Summary: Documentation for libumfpack License: GPL-2.0-or-later Group: Documentation/Other BuildArch: noarch %description -n libumfpack-doc Documentation for libumfpack. %package -n %{klu_cholmodlib} Summary: Helpers for GPU accelerated runtimes License: GPL-2.0-or-later Group: System/Libraries %description -n %{klu_cholmodlib} This package provides the helper functions for the GPU for SuiteSparse.. KLU x CHOLMOD is part of the SuiteSparse sparse matrix suite. %package -n %{lagraphlib} Summary: Community effort collection of algorithms on top of GraphBLAS License: GPL-2.0-or-later Group: System/Libraries %description -n %{lagraphlib} This package provides a collection of graph algorithms built on top of GraphBLAS. LAGraph is part of the SuiteSparse sparse matrix suite. %package -n %{lagraphxlib} Summary: Community effort collection of algorithms on top of GraphBLAS License: GPL-2.0-or-later Group: System/Libraries %description -n %{lagraphxlib} This package provides an extended collection of graph algorithms built on top of GraphBLAS. LAGraphX is part of the SuiteSparse sparse matrix suite. %package -n %{suitesparse_mongooselib} Summary: Graph partitioning library License: GPL-3.0-only Group: System/Libraries %description -n %{suitesparse_mongooselib} Mongoose is a graph partitioning library. Currently, Mongoose only supports edge partitioning. mongoose is part of the SuiteSparse sparse matrix suite. %package -n libsuitesparse_mongoose-doc Summary: Documentation for libsuitesparse_mongoose License: GPL-3.0-only Group: Documentation/Other BuildArch: noarch %description -n libsuitesparse_mongoose-doc Documentation for libsuitesparse_mongoose. Mongoose is a graph partitioning library. Currently, Mongoose only supports edge partitioning. mongoose is part of the SuiteSparse sparse matrix suite. %package -n suitesparse_mongoose Summary: Binary executable for suitesparse mongoose License: GPL-3.0-only %description -n suitesparse_mongoose Binary executable for suitesparse_mongoose. Mongoose is a graph partitioning library. Currently, Mongoose only supports edge partitioning. mongoose is part of the SuiteSparse sparse matrix suite. %package -n %{parulib} Summary: Multifrontal sparse LU factorization methods License: GPL-3.0-only Group: System/Libraries %description -n %{parulib} ParU is an implementation of the multifrontal sparse LU factorization method. Parallelis is exploited both in the BLAS and across different frontal matrices using OpenMP tasking and shared-memory programming model for modern multicore architectures. ParU is part of the SuiteSparse sparse matrix suite. %package -n %{configlib} Summary: Common configurations for all packages in SuiteSparse License: GPL-2.0-or-later Group: System/Libraries %description -n %{configlib} 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 packages. Mongoose uses SuiteSparse_config, if available but works also without it. 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. %prep %autosetup -p1 -n SuiteSparse-%{version} mv SPQR/Doc/README.txt SPQR/Doc/README_2.txt # bnc#751746 rm CHOLMOD/Doc/IA3_2014_Workshop_Rennich_Stosic_Davis_preprint.pdf rm KLU/Doc/palamadai_e.pdf rm MATLAB_Tools/Factorize/Doc/factorize_article.pdf rm SPQR/Doc/algo_spqr.pdf rm SPQR/Doc/qrgpu_paper.pdf rm SPQR/Doc/spqr.pdf cp %{SOURCE1} Mongoose/Tests/ %(for src in "$(seq 100 134)"; do tar xvf %{SOURCE$src} --strip-components=1 -C Mongoose/Matrix; tar xvf %{SOURCE$src} --strip-components=1 -C Mongoose/Tests/Matrix; end) %build %limit_build -m 1500 %if %{with openblas} export BLAS=-lopenblas %else export BLAS=-lblas %endif %ifarch %{arm} aarch64 %define build_ldflags -latomic -lm %else %define build_ldflags -lm # Better performance with -flto unset MALLOC_CHECK_ unset MALLOC_PERTURB_ %endif # GraphBlas demos: avoid writing to root dir export GRAPHBLAS_CACHE_PATH=$(mktemp -d GraphBlas_JIT_cache_XXX) # export CMAKE_OPTIONS='-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ %if %{with openblas} -DBLA_VENDOR=OpenBLAS \ %endif -DCMAKE_INSTALL_BINDIR:PATH=%{_bindir} \ -DCMAKE_INSTALL_SBINDIR:PATH=%{_sbindir} \ -DCMAKE_INSTALL_LIBEXECDIR:PATH=%{_libexecdir} \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \ -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=%{_sharedstatedir} \ -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=%{_localstatedir} \ -DCMAKE_INSTALL_RUNSTATEDIR:PATH=%{_rundir} \ -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \ -DCMAKE_INSTALL_INCLUDEDIR:PATH=%{_includedir} \ -DCMAKE_INSTALL_DATAROOTDIR:PATH=%{_datadir} \ -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON \ -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \ -DLIB_INSTALL_DIR:PATH=%{_libdir} \ -DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \ -DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_C_FLAGS="${CFLAGS:-%optflags}" \ -DCMAKE_CXX_FLAGS="${CXXFLAGS:-%optflags}" \ -DCMAKE_Fortran_FLAGS="${FFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" \ -DCMAKE_EXE_LINKER_FLAGS="%{?build_ldflags} -Wl,--as-needed -Wl,-z,now" \ -DCMAKE_MODULE_LINKER_FLAGS="%{?build_ldflags} -Wl,--as-needed" \ -DCMAKE_SHARED_LINKER_FLAGS="%{?build_ldflags} -Wl,--as-needed -Wl,-z,now" \ %if "%{?_lib}" == "lib64" -DLIB_SUFFIX=64 \ %endif -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DBUILD_STATIC_LIBS:BOOL=OFF \ -DCMAKE_COLOR_MAKEFILE:BOOL=OFF \ -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \ -DCMAKE_MODULES_INSTALL_DIR=%{_libdir}/cmake/%{name} \ -DSUITESPARSE_DEMOS=ON \ -DBUILD_TESTING=ON' export JOBS="%(echo %{?_smp_mflags} | cut -c 3-)" %make_build library %install %make_install %fdupes %{buildroot}%{_datadir} %fdupes %{buildroot}%{_libdir} %check # GraphBlas demos: avoid writing to root dir export GRAPHBLAS_CACHE_PATH=$(mktemp -d GraphBlas_JIT_cache_XXX) # # Demos also include checks. These runs demos and their respective test suites. export JOBS="%(echo %{?_smp_mflags} | cut -c 3-)" %make_build demos %ldconfig_scriptlets -n %{amdlib} %ldconfig_scriptlets -n %{btflib} %ldconfig_scriptlets -n %{camdlib} %ldconfig_scriptlets -n %{ccolamdlib} %ldconfig_scriptlets -n %{cholmodlib} %ldconfig_scriptlets -n %{colamdlib} %ldconfig_scriptlets -n %{cxsparselib} %ldconfig_scriptlets -n %{graphblaslib} %ldconfig_scriptlets -n %{klulib} %ldconfig_scriptlets -n %{ldllib} %ldconfig_scriptlets -n %{suitesparse_mongooselib} %ldconfig_scriptlets -n %{rbiolib} %ldconfig_scriptlets -n %{spexlib} %ldconfig_scriptlets -n %{spqrlib} %ldconfig_scriptlets -n %{umfpacklib} %ldconfig_scriptlets -n %{lagraphlib} %ldconfig_scriptlets -n %{lagraphxlib} %ldconfig_scriptlets -n %{parulib} %ldconfig_scriptlets -n %{klu_cholmodlib} %ldconfig_scriptlets -n %{configlib} %files devel %doc ChangeLog README.md %license LICENSE.txt %{_includedir}/* %{_libdir}/pkgconfig/*.pc %{_libdir}/*.so %{_libdir}/cmake/* %files -n %{amdlib} %doc AMD/README.txt %doc AMD/Doc/ChangeLog %license AMD/Doc/License.txt %{_libdir}/libamd.so.* %files -n libamd-doc %doc AMD/Doc/AMD_UserGuide.pdf %files -n %{btflib} %doc BTF/README.txt %doc BTF/Doc/ChangeLog %license BTF/Doc/License.txt BTF/Doc/lesser.txt %{_libdir}/libbtf.so.* %files -n %{camdlib} %doc CAMD/README.txt %doc CAMD/Doc/ChangeLog %license CAMD/Doc/License.txt %{_libdir}/libcamd.so.* %files -n libcamd-doc %doc CAMD/Doc/CAMD_UserGuide.pdf %files -n %{ccolamdlib} %doc CCOLAMD/README.txt %doc CCOLAMD/Doc/ChangeLog %license CCOLAMD/Doc/License.txt %{_libdir}/libccolamd.so.* %files -n %{cholmodlib} %doc CHOLMOD/README.txt %doc CHOLMOD/Doc/CHOLMOD_UserGuide.pdf %license CHOLMOD/Doc/ChangeLog CHOLMOD/Doc/License.txt %license CHOLMOD/Cholesky/lesser.txt %license CHOLMOD/MatrixOps/gpl.txt %{_libdir}/libcholmod.so.* %files -n %{colamdlib} %doc COLAMD/README.txt %doc COLAMD/Doc/ChangeLog %license COLAMD/Doc/License.txt %{_libdir}/libcolamd.so.* %files -n %{cxsparselib} %doc CXSparse/README.txt %doc CXSparse/Doc/ChangeLog %license CXSparse/Doc/License.txt CXSparse/Doc/lesser.txt %{_libdir}/libcxsparse.so.* %files -n %{graphblaslib} %doc GraphBLAS/README.md %doc GraphBLAS/Doc/GraphBLAS_UserGuide.pdf %license GraphBLAS/Doc/ChangeLog GraphBLAS/LICENSE %{_libdir}/libgraphblas.so.* %files -n %{klulib} %doc KLU/README.txt %doc KLU/Doc/ChangeLog %license KLU/Doc/License.txt KLU/Doc/lesser.txt %{_libdir}/libklu.so.* %files -n libklu-doc %doc KLU/Doc/KLU_UserGuide.pdf %files -n %{ldllib} %doc LDL/README.txt %doc LDL/Doc/ChangeLog %license LDL/Doc/License.txt LDL/Doc/lesser.txt %{_libdir}/libldl.so.* %files -n libldl-doc %doc LDL/Doc/ldl_userguide.pdf %files -n %{suitesparse_mongooselib} %doc Mongoose/README.md %license Mongoose/Doc/License.txt %{_libdir}/libsuitesparse_mongoose.so.* %files -n libsuitesparse_mongoose-doc %doc Mongoose/Doc/Mongoose_UserGuide.pdf %files -n suitesparse_mongoose %{_bindir}/suitesparse_mongoose %files -n %{rbiolib} %doc RBio/README.txt %doc RBio/Doc/ChangeLog %license RBio/Doc/License.txt RBio/Doc/gpl.txt %{_libdir}/librbio.so.* %files -n %{spexlib} %license SPEX/LICENSE.txt %license SPEX/SPEX_Utilities/License/license.txt SPEX/SPEX_Utilities/License/GPLv2.txt %license SPEX/SPEX_Utilities/License/lesserv3.txt SPEX/SPEX_Utilities/License/CONTRIBUTOR-LICENSE.txt %{_libdir}/libspex.so.* %{_libdir}/libspexpython.so.* %files -n libspex-doc %doc SPEX/README.md %doc SPEX/Doc/SPEX_UserGuide.pdf %files -n %{spqrlib} %doc SPQR/README.txt %doc SPQR/Doc/spqr_user_guide.pdf SPQR/Doc/ChangeLog SPQR/Doc/README_2.txt %license SPQR/Doc/License.txt SPQR/Doc/gpl.txt %{_libdir}/libspqr.so.* %files -n %{umfpacklib} %license UMFPACK/Doc/License.txt UMFPACK/Doc/gpl.txt %{_libdir}/libumfpack.so.* %files -n libumfpack-doc %doc UMFPACK/README.txt %doc UMFPACK/Doc/UMFPACK_QuickStart.pdf UMFPACK/Doc/UMFPACK_UserGuide.pdf UMFPACK/Doc/ChangeLog %files -n %{lagraphlib} %doc LAGraph/README.md LAGraph/Acknowledgments.txt %license LAGraph/LICENSE %{_libdir}/liblagraph.so.* %files -n %{lagraphxlib} %doc LAGraph/README.md LAGraph/Acknowledgments.txt %license LAGraph/LICENSE %{_libdir}/liblagraphx.so.* %files -n %{parulib} %doc ParU/README.md %license ParU/LICENSE.txt %{_libdir}/libparu.so.* %files -n %{klu_cholmodlib} %doc KLU/README.txt %doc KLU/Doc/ChangeLog %license KLU/Doc/License.txt KLU/Doc/lesser.txt %{_libdir}/libklu_cholmod.so.* %files -n %{configlib} %doc SuiteSparse_config/README.txt %license LICENSE.txt %{_libdir}/libsuitesparseconfig.so.* %changelog * Sun Mar 23 2025 Christoph G - update to version 7.10.1 * GraphBLAS v10.0.1: bug fix, when using user-defined monoids in GrB_mxm - update to version 7.10 * GraphBLAS v10.0.0: major upgrade, now supporting 32-bit/ 64-bit integer indices. - update to version 7.9 * GraphBLAS v9.4.5: Added the GxB_IndexBinaryOp. Added new JIT kernels. * Mon Feb 24 2025 Jan Engelhardt - Modernize specfile * Sat Oct 26 2024 Christoph G - update to version 7.8.3 * ParU 1.0.0: first stable release. No change since last version - update to version 7.8.2 * LAGraph 1.1.4: bug fix for LAGraph_MMWrite when matrix is dense - update to version 7.8.1 * GraphBLAS 9.3.1: bug fix in creation of JIT package - update to version 7.8.0 * ParU 0.2.0: many changes; nearing a stable release. * CHOLMOD 5.3.0: added cholmod_query, and #define's in cholmod.h, to query which Modules and features have been configured. - update to version 7.7.0 * SPEX 3.1.0: major revision to API, new methods. Added SPEX_Cholesky, SPEX_Backslash, and python interface. * Example 1.7.0: revised for change in SPEX API * GraphBLAS 9.1.0: revised defn of C11 complex type, bug fix * CXSparse 4.4.0: revise malloc/calloc/realloc/free wrappers - update to version 7.6.1 * GraphBLAS 9.0.3: performance bug fix (JIT kernels were not compiled with OpenMP, since v8.3.1), and fix to Makefile ("make static") - update to version 7.6.0 * CHOLMOD 5.2.0: bug fix (restore ABI compatibility with 5.0.x, i.e., 5.2.0 is ABI incompatible to 5.1.x) * SPQR 4.3.2: remove unused parameters * Fri Feb 9 2024 Soc Virnyl Estela - Cleanup specfile * Inform that keep-mongoose-test-sources.patch is not for upstream * Inform that the python file is for convenience for fetching test sources. See README-suse-maintenance.md. * Wed Jan 24 2024 Atri Bhattacharya - Set up cmake options just once -- during %%build alone. - Drop usage of cmake internal macros when specifying install paths. - CMake >= 3.22 is now required for build; this automatically drops support for openSUSE < 1650 (i.e. Leap 15.x). - Drop conditionals for old unsupported distro versions, they cannot support builds on account of the previous change anyway. - Drop use of '-ffat-lto-objects' when building with LTO: this is only needed for static libs, not built here. - Only unset MALLOC_* when LTO is being used. - Use once consistent version for all libraries, set to source tarball. - Drop more than five-year old Obsoletes/Provides; developers should use pkgconfig based (Build)Requires or directly use %%{name}-devel. - Drop suitesparse-rpmlintrc and make -doc packages noarch. * Tue Jan 16 2024 Soc Virnyl Estela - Update to version 7.5.1 (boo#1208165): * SuiteSparse_config: bug fix to SUITESPARSE__VERCODE macro. * Example 1.6.1: add tests for *__VERSION macros. - Changes introduced since 7.5.0: * Suitesparse_config: 7.5.0, to reflect the addition of GraphBLAS 9.0.0. * Minor updates to build system, including bug fixes when specifying a specific BLAS/LAPACK library, and configuration of *.pc files. * GraphBLAS 9.0.0: supporting the v2.1 C API; see https://github.com/GraphBLAS/graphblas-api-c * Example 1.6.0: using GraphBLAS 9.0.0 and SuiteSparse_config 7.5.0, * Remove explicit dependencies on OpenMP, libm, GMP, and MPFR. * Add programs to test the *Config.cmake of each package. * All other packages (except CSparse): minor updates to build system. * Package versions in this release: - SuiteSparse_config 7.5.0 - AMD 3.3.1 - BTF 2.3.1 - CAMD 3.3.1 - CCOLAMD 3.3.1 - CHOLMOD 5.1.1 - COLAMD 3.3.1 - CSparse 4.3.0 (unchanged from SuiteSparse 7.4.0) - CXSparse 4.3.1 - Example 1.6.0 - GraphBLAS 9.0.0 - KLU 2.3.1 - LDL 3.3.1 - LAGraph 1.1.1 - SuiteSparse_Mongoose 3.3.1 - ParU 0.1.1 - RBio 4.3.1 - SPEX 2.3.1 - SPQR 4.3.1 - UMFPACK 6.3.1 - Changes introduced since 7.4.0: * Major change to build system: - Includes a top-level CMakeLists.txt that builds all packages. - Support for pkg-config. * LAGraph 1.1.0: new package: graph algorithms based on GraphBLAS * ParU 0.1.0: new package: parallel unsymmetric multifrontal method. * CHOLMOD 5.1.0: full support for sparse single precision matrices, bug fixes in the GPU Module. * AMD 3.3.0: minor change for CHOLMOD 5.1.0 tests * CAMD 3.3.0: minor change for CHOLMOD 5.1.0 tests * SuiteSparse_config 7.4.0: added wrappers for single-precision BLAS/LAPACK, added SUITESPARSE_TIME macro. * *_version: added methods to all package that didn't have them: AMD, CAMD, COLAMD, CCOLAMD, BTF, CSparse, CXSparse, KLU, BTF, RBio, SPEX, SPQR, and UMFPACK. - Add new subpackage suitesparse_mongoose, an executable for Mongoose. - Specfile now runs patchelf for broken RPATHs. - Add keep-mongoose-test-sources.patch. This avoids test sources getting deleted. - Remove not needed patchsets: * build_csparse_shared.patch * bnc775418-enable-SuiteSparse_time-symbol.patch - Use BLAS environment variable when choosing over -lopenblas and -lblas - Add list-mongoose-test-sources.py: a helper script to list matrix ids mentioned in the test step of the build of Mongoose's CMakeLists.txt - Add new test tarballs for mongoose from list-mongoose-test-sources.py: * 1138_bus.tar.gz * 494_bus.tar.gz * 662_bus.tar.gz * 685_bus.tar.gz * arc130.tar.gz * ash292.tar.gz * ash85.tar.gz * bcspwr01.tar.gz * bcspwr02.tar.gz * bcspwr03.tar.gz * bcspwr09.tar.gz * bcsstk17.tar.gz * bcsstm02.tar.gz * jagmesh7.tar.gz * lnsp3937.tar.gz * lshp3466.tar.gz * sherman1.tar.gz * sstmodel.tar.gz * crystm01.tar.gz * msc04515.tar.gz * G42.tar.gz * nasa4704.tar.gz * fxm3_6.tar.gz * net25.tar.gz * LF10000.tar.gz * Erdos992.tar.gz * USpowerGrid.tar.gz * yeast.tar.gz * c-38.tar.gz * c-43.tar.gz * minnesota.tar.gz * netscience.tar.gz * netz4504.tar.gz * delaunay_n13.tar.gz * tx2010.tar.gz - _constraints: Increase disk size to 40G - Add README-suse-maintenance.md * Wed Apr 26 2023 David Anes - Adjust licenses in SPEC files (bsc#1210879) * Wed Nov 30 2022 Andreas Schwab - Update constraints for riscv64 * Sun Sep 4 2022 Christoph G - update to 5.13.0 * GraphBLAS v7.2.0: see GraphBLAS/Doc/ChangeLog for details. - performance: more compact serialization (ZSTD added, now the default compression method). - MATLAB interface: faster linear indexing, reshape, bandwidth, istril, istriu, isbanded, isdiag. C(I,J)=A can now grow the size of C. - features: reshape methods, cube root operator, isStoredElement - bugs: a minor bug; user-defined types were incorrectly limited to 128 bytes in size in v7.0.3. - remove unused rules from rpmlintrc * Wed Apr 13 2022 David Anes - update to 5.12.0: * GraphBLAS v7.0.3: see GraphBLAS/Doc/ChangeLog for details. - performance: GrB_mxm, GrB_assign, and transpose - bug fix: vector iterator for bitmap - revised ACM TOMS submission: Doc/toms_parallel_grb2.pdf - spec bug: GrB_Matrix_diag was implemented incorrectly, thus requiring a version v7.x * Tue Mar 15 2022 David Anes - Fix bundled library versions: * libmongoose: 2.0.3 -> 2.0.4 * libspqr: 2.0.9 -> 2.1.0 * libumfpack: 5.7.8 -> 5.7.9 - Update to 5.11.0: * GraphBLAS v6.2.5: see GraphBLAS/Doc/ChangeLog for changes. Primary ones highlighted here: - v2.0 API: v6.x complies with the v2.0 C API of the GraphBLAS Spec. Note that GrB_wait, GrB_Info are now different than in the v1.3 C API Specification (and in v5.x of SuiteSparse:GraphBLAS). - GxB_Iterator: to iterate over rows/cols/entries of a matrix or vector - GxB_eWiseUnion: like eWiseAdd but with the op always applied - GxB_Matrix/Vector_sort: to sort the vectors of a matrix - better performance: for sparse-times-dense and dense-times-sparse, in particular; also other cases for GrB_mxm, up to 10x faster. - Apple Silicon: port @GrB to Octave 7 (thanks to Gabor Szarnyas) - added cpu_features: by Google - added LZ4/LZ4HC: compression library, http://www.lz4.org (BSD 2), v1.9.3, Copyright (c) 2011-2016, Yann Collet, All Rights Reserved. - iso-valued matrices and vectors: to exploit the common case of an unweighted graph - bug fixes: 4 bugs fixed since SuiteSparse 5.10.1 with GraphBLAS v5.0.5. 12 other bugs appeared in the interim but appeared in versions after v5.0.5 but fixed before ever affecting SuiteSparse itself. * Thu Feb 24 2022 Dirk Müller - build parallel to reduce build time by ~ 30%% * Thu Aug 5 2021 Guillaume GARDET - Use asimdrdm CPU flag for aarch64 to select only more powerful buildhosts to avoid hanging builds. * Mon Jul 26 2021 Andreas Schwab - Enable openblas on riscv64 * Wed May 26 2021 Christoph G - Update to version 5.10.1 - Drop disable-Wmisleading-indentation.patch which is no longer required due to an upstream fix * Wed May 19 2021 Christoph G - Update to version 5.10.0 * GraphBLAS upgraded to 5.0.4: many new features, much faster performance * Wed Apr 7 2021 Martin Liška - Add disable-Wmisleading-indentation.patch as a temporary workaround for https://github.com/DrTimothyAldenDavis/SuiteSparse/issues/84 that will be fixed in the next release (boo#1183575). * Tue Mar 16 2021 Guillaume GARDET - Disable LTO on %%arm as it consumes too much memory * Mon Mar 15 2021 Guillaume GARDET - Update _constraints to avoid OOM * Sun Mar 7 2021 Christoph G - Update to SuiteSparse 5.9.0 * GraphBLAS upgraded from v3.3 to v4.0.3 with many new features, and increased performance. Betweeness Centrality about 2x faster, and now faster than the GAP benchmark for larger matrices. BFS about 5x faster. * Tue Sep 1 2020 Pedro Monreal - Update to SuiteSparse 5.8.1 * SLIP_LU v1.0.2: resolved issue #51: build error with clang 10 * GraphBLAS v3.3.3: bug fix (GraphBLAS issue #13) * SLIP_LU v1.0.1 added: for solving Ax=b exactly. Requires the GNU GMP and MPRF libraries. * GraphBLAS v3.3.1: see the GraphBLAS/Doc/Changlog * replaced UFget with ssget: affects nearly all packages: UMFPACK, KLU, CHOLMOD, CXSparse/CSparse, etc, but their version numbers are left unchanged since it affects the MATLAB tests only, not the compiled libraries. * ssget v2.2.0: better URL redirects * updates to SuiteSparse build system * Tue Aug 18 2020 Michel Normand - Call %%limit_build macro in spec to avoid oom build failure for ppc64le and aarch64 - Add _constraints with default 5GB min physicalmemory and 7GB for ppc64/ppc64le * Thu Mar 19 2020 Christoph G - Update to SuiteSparse 5.7.1 * GraphBLAS 3.2.0: better performance, new ANY and PAIR operators, structural mask, GrB_DESC_* from 1.3 C API Specification. * CHOLMOD 3.0.14: minor update to cholmod_check to print a matrix * Wed Nov 6 2019 Ana Guerrero Lopez - Update URL and Source to use GitHub. * Tue Oct 29 2019 Christoph G - Update to SuiteSparse 5.6.0 * GraphBlas 3.1.1: with OpenMP parallelism, and MATLAB interface * Fri Aug 2 2019 Martin Liška - Use FAT LTO objects in order to provide proper static library. * Sat Apr 6 2019 Jan Engelhardt - Trim future visions from descriptions. * Tue Apr 2 2019 Christoph G - Update to SuiteSparse 5.4.0 * GraphBLAS 2.2.2: many upgrades and new features, a few bug fixes - Update to SuiteSparse 5.3.0 * new package: Mongoose (version 2.0.2) - doc packages for AMD, CAMD, KLU, LDL, and Mongoose. * Wed Mar 20 2019 Stefan Brüns - Remove openmpi BuildRequires, all SuiteSparse libraries are MPI agnostic. * Wed Jun 27 2018 stefan.bruens@rwth-aachen.de - Fix conditional to select the right gcc-c++ package, also for the devel subpackge * Mon Feb 26 2018 toddrme2178@gmail.com - Update to SuiteSparse 5.2.0 * GraphBLAS 2.0.1: bug fix to GxB_kron * SuiteSparse_config: corrected back to SO_VERSION 5 * GraphBLAS 2.0.0: with changes to API to conform to the latest specification. The SO_VERSION of GraphBLAS must change, as a result, since this affects both the ABI and API interface. * CHOLMOD 3.1.12: bug fix (no change to the CHOLMOD ABI or API) * KLU 1.3.9: minor edit, not a bug fix, but code is more clear now - Update to SuiteSparse 5.1.2 * improved build process for GraphBLAS * minor change to CSparse/Lib/Makefile, no change in CSparse version - Update to SuiteSparse 5.1.1 * GraphBLAS added to top-level SuiteSparse/Makefile * GraphBLAS 1.1.1: bug fix to *assign, split AxB for faster compile, added memory usage statistics, AxB performance improvment * minor update to [AMD CAMD KLU]/Doc/Makefile's, no change to version numbers of AMD, CAMD, or KLU - Update to SuiteSparse 5.1.0 * GraphBLAS 1.1.0 * minor update to SPQR Makefile (version remains unchanged; no change to source) - Update to SuiteSparse 5.0.0 * added GraphBLAS Version 1.0.0 * replaced UFget with ssget - Use build-in build system instead of manually building everything - Simplify spec file - Add build_csparse_shared.patch to build CSparse as a shared library * Wed Feb 14 2018 schwab@suse.de - Make openblas optional, using lapack instead * Mon Oct 16 2017 dimstar@opensuse.org - Fix csparselib define: libcsparse-%%{csparseso}. This results in the (wrongly named) package libcsparsever-3_1_9 being renamed to libcsparse-3_1_9, matching the content of the package. The old name is, exceptionally, obsoleted by the new package name (not provided, as nothing but the -devel package should ever have referenced the package by name). The obsolete is guarded to no longer apply, should the version change. * Mon Jul 10 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 2017 toddrme2178@gmail.com - Update to version 4.5.5 * minor fix to SuiteSparse/Makefile for 'make install' - Update to version 4.5.4 * minor update to SPQR for ACM TOMS submission - Update to version 4.5.3 * minor changes to Makefiles - Update to version 4.5.2 * licensing simplified (no other change); refer to PACKAGE/Doc/License.txt for the license for each package. - Update to version 4.5.1 * update to Makefiles. Version 4.5.0 is broken on the Mac. That version also compiles *.so libraries on Linux with underlinked dependencies to other libraries in SuiteSparse. For example, AMD requires SuiteSparse_config. The links to required libraries are now explicitly included in each library, in SuiteSparse 4.5.1. * minor change to CHOLMOD/Check/cholmod_write.c, when compiling with options that disable specific modules - Update to version 4.5.0 * better Makefiles for creating and installing shared libraries * CHOLMOD now uses METIS 5.1.0, which is distributed with SuiteSparse * fix for MATLAB R2015b, which changed how it creates empty matrices, as compared to prior versions of MATLAB. This change in MATLAB breaks many of the mexFunctions in prior versions of SuiteSparse. If you use MATLAB R2015b, you must upgrade to SuiteSparse 4.5.0 or later. - Update to version 4.4.7 * note that this minor update fails on the Mac, so its listed on my web page as a 'beta' release. * Improved the Makefiles of all packages. They now create *.so shared libraries (*.dylib on the Mac). Also, there is now only a single SuiteSparse_config.mk file. It now determines your system automatically, and whether or not you have METIS and CUDA. It also automatically detects if you have the Intel compiler or not, and uses it if it finds it. There should be no need to edit this file for most cases, but you may need to for your particular system. With this release, there are almost no changes to the source code, except for the VERSION numbers defined in the various include *.h files for each package. - Use faster openblas. * Remove blas-instead-of-openblas-SuiteSparse_config_mk.patch - Remove upstream-included no-removal-of-suitesparse_config-output.patch * Sat Dec 5 2015 foss@grueninger.de - Update to version 4.4.6 * SPQR 2.0.2: changed default tol when A has infs, from inf to realmax (~1e308) * Wed Nov 18 2015 foss@grueninger.de - Package forgotten C++ includes (*.hpp), too. - Adjust download link * Wed Sep 23 2015 foss@grueninger.de - Update to version 4.4.5 + CHOLMOD 3.0.6: * minor fix to CHOLMOD (-DNGPL did not work as expected) * added MATLAB interface for row add/delete (lurowmod) + KLU 1.3.3: Fix for klu_dump.c (debugging case only) + UFcollection: added additional stats for matrix collection + AMD: changed the license. Was LGPL only, now either LGPL or BSD, at the user's option. See AMD/Doc/License.txt for details. * Wed Apr 1 2015 foss@grueninger.de - Update to version 4.4.4 + CHOLMOD version number corrected. In 4.4.3, the CHOLMOD_SUBSUB_VERSION string was left at '4' (it should have been '5', for CHOLMOD 3.0.5). This version of SuiteSparse corrects this glitch. + Minor changes to comments in SuiteSparse_config. + SPQR version 2.0.1 released (minor update to documentation) * Tue Jan 27 2015 dmitry_r@opensuse.org - Fix linking config - Add linking tests * Tue Jan 20 2015 foss@grueninger.de - Update to version 4.4.3 + CHOLMOD 3.0.5: minor bug fix to MatrixOps/cholmod_symmetry - Update to version 4.4.2 + CHOLMOD 3.0.4: serious bug fix in supernodal factorization, introduced in CHOLMOD 3.0.0 (SuiteSparse 4.3.0). Can cause segfault, and has no user workaround. - Upstream SuiteSparse preferes OpenBLAS, added patch blas-instead-of-openblas-SuiteSparse_config_mk.patch to use BLAS as SuiteSparse 4.4.1 did * Mon Nov 10 2014 foss@grueninger.de - Update to version 4.4.1 + Minor update: two bug fixes (affecting Windows only) for CHOLMOD and KLU * Wed Oct 22 2014 foss@grueninger.de - Update to version 4.4.0 + (added GPU acceleration to CHOLMOD and SPQR. Up to 10x faster than a multicore CPU.) Not yet working in the package + changed to a consistent method for all of SuiteSparse, for malloc/calloc/realloc, and printf, using SuiteSparse_config. * Sun Jun 22 2014 dmitry_r@opensuse.org - Fix libraries linking [bnc#883683] * Sun Nov 10 2013 p.drouand@gmail.com - Update to version 4.2.1 + no changelog available - Fix Groups to respect new standards * Fri Nov 2 2012 jengelh@inai.de - shlib naming: libsuitesparseconfig-4_0_2, not -4.0.2 * Thu Aug 23 2012 Rene.vanPaassen@gmail.com - need to escape %% in comments -- Fedora builds choked on them * Thu Aug 16 2012 i@marguerite.su - also re-fix bnc#746867: * cholmod from suitesparse should be GPL-2.0 and/or LGPL-2.0 licensed * Wed Aug 15 2012 i@marguerite.su - fix bnc#775418: SuiteSparse does not ship library which contains the symbol SuiteSparse_time * it's because latest SuiteSparse prefers NTIMER.(try to depreciate) so when there's NTIMER avaiable, tic/toc will not be enabled. * easy solution is to use "-lSuiteSparse" in the UMFPACK_LIBS variable in the affected packages like Octave. * but this seems to affect many packages in science repo, so I just add a patch comment #IF NTIMER off. * http://comments.gmane.org/gmane.comp.gnu.octave.general/42837 - add sub-package libsuitesparse_config which is formly known as UFconfig. * also add provides/obsoltes of UFconfig. * add patch0 to prevent removal of .o after .a is built. we still need .o to make shared libsuitesparseconfig.so * Tue Jul 31 2012 i@marguerite.su - Update to version 4.0.2 * no changelog available. * Wed Jun 6 2012 i@marguerite.su - fix bnc#751746. * Mon Jun 4 2012 toddrme2178@gmail.com - Update to version 4.0.0. Major changes: * added GPU support for CHOLMOD * Renamed UFconfig to SuiteSparse_config - Fix licenses (some libraries are LGPL-2.1+, some are GPL-2.0+, and one is both). - Change descriptions to upstream versions - Build csparse package - Clean up spec file * Remove hard-coded library versions everywhere. Each library version only needs to be changed in two places, which are right next to each other - Move README to -devel package and remove now-empty base package - Changed group to match lapack/blas group (which this package is essentially an extension of) * Sun Feb 19 2012 i@marguerite.su - fix timestamp error in changelog, dont know why it omit zero in time format. * Sat Feb 18 2012 jengelh@medozas.de - add rpmlintrc to shut up false positives (after inquiry by MargueriteSu) * Fri Feb 17 2012 i@marguerite.su - fix libraries version tags of suitesparse-devel requires. * Wed Feb 15 2012 i@marguerite.su - fix bug#746867. cholmod is licensed under GPL-2.0 and LGPL-2.0 only, GPL-2.0 only prevents other components to be licensed under a high version of the same license. * Tue Feb 7 2012 jengelh@medozas.de - Apply shared library policy http://en.opensuse.org/openSUSE:Shared_library_packaging_policy * Sat Feb 4 2012 i@marguerite.su - update to version 3.7.0 * Wed Dec 21 2011 coyoteuser@gmail.com - updated to latest version 3.2.0 - added gcc4.3.2 fix for spqr.hpp - changed source to bz2 archive * Mon Dec 8 2008 coyoyeuser@gmail.com - Initial release