- 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

OBS-URL: https://build.opensuse.org/package/show/science/suitesparse?expand=0&rev=56
This commit is contained in:
2024-10-29 07:16:22 +00:00
committed by Git OBS Bridge
commit 6d0b40cbce
46 changed files with 4741 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

BIN
1138_bus.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
494_bus.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
662_bus.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
685_bus.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Erdos992.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
G42.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
LF10000.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,12 @@
Before commiting content to devel project, you must first update the tests sources.
The script `list-mongoose-test-sources.py` is a modified version of the `runTests` python script
located at `Mongoose/Tests/`. Please read the script and modify it as needed
e.g. change of min id default or max id default or reading the IDs indicated from the
the tests section of Mongoose's CMakeLists.txt.
Check if there are new sources and if there are, add it as new content sources for the RPM specfile.
Check that the specfile has those new sources copied to `Mongoose/Tests/Matrix` and `Mongoose/Matrix`. As for `ssstats.csv`, that should
be in `Mongoose/Tests/`.

3
SuiteSparse-7.5.1.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dccfb5f75aa83fe2edb4eb2462fc984a086c82bad8433f63c31048d84b565d74
size 85459098

3
SuiteSparse-7.8.3.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ce39b28d4038a09c14f21e02c664401be73c0cb96a9198418d6a98a7db73a259
size 87356354

BIN
USpowerGrid.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

31
_constraints Normal file
View File

@@ -0,0 +1,31 @@
<constraints>
<hardware>
<physicalmemory>
<size unit="G">7</size>
</physicalmemory>
<disk>
<size unit="G">40</size>
</disk>
</hardware>
<overwrite>
<conditions>
<arch>aarch64</arch>
</conditions>
<hardware>
<cpu>
<flag>asimdrdm</flag>
</cpu>
</hardware>
</overwrite>
<overwrite>
<conditions>
<arch>riscv64</arch>
</conditions>
<hardware>
<disk>
<size unit="G">14</size>
</disk>
</hardware>
</overwrite>
</constraints>

BIN
arc130.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
ash292.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
ash85.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
bcspwr01.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
bcspwr02.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
bcspwr03.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
bcspwr09.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
bcsstk17.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
bcsstm02.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
c-38.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
c-43.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
crystm01.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
delaunay_n13.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
fxm3_6.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
jagmesh7.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,42 @@
diff -ruN SuiteSparse-7.5.0.orig/Mongoose/CMakeLists.txt SuiteSparse-7.5.0/Mongoose/CMakeLists.txt
--- SuiteSparse-7.5.0.orig/Mongoose/CMakeLists.txt 2024-01-15 06:06:06.714855174 +0800
+++ SuiteSparse-7.5.0/Mongoose/CMakeLists.txt 2024-01-15 06:08:20.629179796 +0800
@@ -316,13 +316,13 @@
RUNTIME_OUTPUT_DIRECTORY ${TESTING_OUTPUT_PATH} )
add_test ( NAME Mongoose_Edge_Separator_Test
- COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/Tests/runTests -min 1 -max 15 -t edgesep )
+ COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/Tests/runTests -min 1 -max 15 -t edgesep -k )
add_test ( NAME Mongoose_Edge_Separator_Test_2
- COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/Tests/runTests -t edgesep -i 21 39 191 1557 1562 353 2468 1470 1380 505 182 201 2331 760 1389 2401 2420 242 250 1530 1533 360 1437 )
+ COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/Tests/runTests -t edgesep -i 21 39 191 1557 1562 353 2468 1470 1380 505 182 201 2331 760 1389 2401 2420 242 250 1530 1533 360 1437 -k )
add_test ( NAME Mongoose_Weighted_Edge_Separator_Test
- COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/Tests/runTests -t edgesep -i 2624 )
+ COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/Tests/runTests -t edgesep -i 2624 -k )
add_test ( NAME Mongoose_Target_Split_Test
- COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/Tests/runTests -min 1 -max 15 -t edgesep -s 0.3 )
+ COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/Tests/runTests -min 1 -max 15 -t edgesep -s 0.3 -k )
# Memory Tests
add_executable ( mongoose_test_memory
@@ -338,7 +338,7 @@
RUNTIME_OUTPUT_DIRECTORY ${TESTING_OUTPUT_PATH} )
add_test ( NAME Mongoose_Memory_Test
- COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/Tests/runTests -min 1 -max 15 -t memory )
+ COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/Tests/runTests -min 1 -max 15 -t memory -k )
# Performance Test
add_executable ( mongoose_test_performance
@@ -354,9 +354,9 @@
RUNTIME_OUTPUT_DIRECTORY ${TESTING_OUTPUT_PATH} )
add_test ( NAME Mongoose_Performance_Test
- COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/Tests/runTests -min 1 -max 15 -t performance -p )
+ COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/Tests/runTests -min 1 -max 15 -t performance -k )
add_test ( NAME Mongoose_Performance_Test_2
- COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/Tests/runTests -t performance -i 21 39 1557 1562 353 2468 1470 1380 505 182 201 2331 760 1389 2401 2420 242 250 1530 1533 -p )
+ COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/Tests/runTests -t performance -i 21 39 1557 1562 353 2468 1470 1380 505 182 201 2331 760 1389 2401 2420 242 250 1530 1533 -k )
if ( WIN32 AND BUILD_SHARED_LIBS )
set_tests_properties ( Mongoose_IO_Test

View File

@@ -0,0 +1,79 @@
from subprocess import call, check_output
import os # For filesystem access
import sys # For sys.exit()
import argparse # For parsing command-line arguments
import urllib.request, urllib.parse, urllib.error # For downloading the ssget index
import ssl
import tarfile # For un-tar/unzipping matrix files
import csv # For reading the ssget index
import shutil # For using 'which'
import platform
# We only need the following matrix ids:
MATRIX_IDs = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 21, 39, 57, 182, 191, 201, 242, 250, 353, 360, 505, 760, 1380, 1389, 1437, 1470, 1530, 1533, 1557, 1562, 2331, 2401, 2420, 2468, 2624]
def getMatrixDirectory():
matrix_dir = "."
if (not os.path.exists(matrix_dir)):
os.makedirs(matrix_dir)
return matrix_dir
def downloadStatsFile(matrix_dir):
stats_file = "ssstats.csv"
url = "http://sparse.tamu.edu/files/ssstats.csv"
with urllib.request.urlopen(url) as response, open(stats_file, 'wb') as out_file:
shutil.copyfileobj(response, out_file)
return stats_file
def runTests():
# Create or locate matrix temporary storage directory
matrix_dir = getMatrixDirectory()
# Download the matrix stats csv file
stats_file = downloadStatsFile(matrix_dir)
with open(stats_file, 'r') as f:
reader = csv.reader(f)
# Matrix IDs are not listed in the stats file - we just have to keep count
matrix_id = 0
sources_initial_num = 4
for row in reader:
if len(row) == 13: # Only rows with 13 elements represent matrix data
matrix_id += 1
# Check if the matrix ID is in the proper range and
# that the matrix is real and symmetric
isInBounds = ((matrix_id >= 1) and (matrix_id <= 2757))
isSquare = (row[2] == row[3])
isReal = (row[5] == '1')
if (isInBounds and isSquare and isReal):
if True:
matrix_name = row[0] + '/' + row[1] + '.tar.gz'
gzip_path = matrix_dir + row[0] + '_' + row[1] + '.tar.gz'
matrix_path = matrix_dir + row[1] + '/' + row[1] + ".mtx"
# print("matrix_name: " + matrix_name)
# print("gzip_path: " + gzip_path)
# print("matrix_path: " + matrix_path)
matrix_exists = os.path.isfile(gzip_path)
if False:
print("matrix exists at gzip_path")
tar = tarfile.open(gzip_path, mode='r:gz')
matrix_files = tar.getnames()
print(matrix_files)
else:
# Download matrix if it doesn't exist
if matrix_id in MATRIX_IDs:
sources_initial_num += 1
try:
url = "https://sparse.tamu.edu/MM/" + matrix_name
print("Source" + str(sources_initial_num) + ": " + url)
except:
url = "http://sparse.tamu.edu/MM/" + matrix_name
print("Source" + str(sources_initial_num) + ": " + url)
runTests()

BIN
lnsp3937.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
lshp3466.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
minnesota.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
msc04515.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
nasa4704.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
net25.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
netscience.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
netz4504.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
sherman1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

2906
ssstats.csv Normal file

File diff suppressed because it is too large Load Diff

BIN
sstmodel.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

653
suitesparse.changes Normal file
View File

@@ -0,0 +1,653 @@
-------------------------------------------------------------------
Sat Oct 26 06:34:09 UTC 2024 - Christoph G <foss@grueninger.de>
- 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 10:10:31 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- 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 13:39:23 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
- 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 11:25:21 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- 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 15:00:16 UTC 2023 - David Anes <david.anes@suse.com>
- Adjust licenses in SPEC files (bsc#1210879)
-------------------------------------------------------------------
Wed Nov 30 16:55:52 UTC 2022 - Andreas Schwab <schwab@suse.de>
- Update constraints for riscv64
-------------------------------------------------------------------
Sun Sep 4 20:45:29 UTC 2022 - Christoph G <foss@grueninger.de>
- 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 08:41:01 UTC 2022 - David Anes <david.anes@suse.com>
- 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 14:16:51 UTC 2022 - David Anes <david.anes@suse.com>
- 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 13:59:58 UTC 2022 - Dirk Müller <dmueller@suse.com>
- build parallel to reduce build time by ~ 30%
-------------------------------------------------------------------
Thu Aug 5 08:13:50 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Use asimdrdm CPU flag for aarch64 to select only more powerful
buildhosts to avoid hanging builds.
-------------------------------------------------------------------
Mon Jul 26 14:34:36 UTC 2021 - Andreas Schwab <schwab@suse.de>
- Enable openblas on riscv64
-------------------------------------------------------------------
Wed May 26 18:23:49 UTC 2021 - Christoph G <foss@grueninger.de>
- Update to version 5.10.1
- Drop disable-Wmisleading-indentation.patch which is no longer
required due to an upstream fix
-------------------------------------------------------------------
Wed May 19 21:29:18 UTC 2021 - Christoph G <foss@grueninger.de>
- Update to version 5.10.0
* GraphBLAS upgraded to 5.0.4: many new features, much faster
performance
-------------------------------------------------------------------
Wed Apr 7 06:18:07 UTC 2021 - Martin Liška <mliska@suse.cz>
- 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 07:34:25 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Disable LTO on %arm as it consumes too much memory
-------------------------------------------------------------------
Mon Mar 15 19:04:22 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Update _constraints to avoid OOM
-------------------------------------------------------------------
Sun Mar 7 08:43:38 UTC 2021 - Christoph G <foss@grueninger.de>
- 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 07:36:34 UTC 2020 - Pedro Monreal <pmonreal@suse.com>
- 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 15:52:29 UTC 2020 - Michel Normand <normand@linux.vnet.ibm.com>
- 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 22:49:23 UTC 2020 - Christoph G <foss@grueninger.de>
- 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 08:38:31 UTC 2019 - Ana Guerrero Lopez <aguerrero@suse.com>
- Update URL and Source to use GitHub.
-------------------------------------------------------------------
Tue Oct 29 23:12:34 UTC 2019 - Christoph G <foss@grueninger.de>
- Update to SuiteSparse 5.6.0
*GraphBlas 3.1.1: with OpenMP parallelism, and MATLAB interface
-------------------------------------------------------------------
Fri Aug 2 08:23:49 UTC 2019 - Martin Liška <mliska@suse.cz>
- Use FAT LTO objects in order to provide proper static library.
-------------------------------------------------------------------
Sat Apr 6 12:04:27 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Trim future visions from descriptions.
-------------------------------------------------------------------
Tue Apr 2 09:24:03 UTC 2019 - Christoph G <foss@grueninger.de>
- 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 23:23:47 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Remove openmpi BuildRequires, all SuiteSparse libraries are MPI
agnostic.
-------------------------------------------------------------------
Wed Jun 27 00:38:48 UTC 2018 - stefan.bruens@rwth-aachen.de
- Fix conditional to select the right gcc-c++ package, also for the
devel subpackge
-------------------------------------------------------------------
Mon Feb 26 19:58:00 UTC 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 10:36:16 UTC 2018 - schwab@suse.de
- Make openblas optional, using lapack instead
-------------------------------------------------------------------
Mon Oct 16 13:53:59 UTC 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 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
- 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 13:40:52 UTC 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 21:43:05 UTC 2015 - foss@grueninger.de
- Package forgotten C++ includes (*.hpp), too.
- Adjust download link
-------------------------------------------------------------------
Wed Sep 23 08:26:49 UTC 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 11:57:58 UTC 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 11:18:35 UTC 2015 - dmitry_r@opensuse.org
- Fix linking config
- Add linking tests
-------------------------------------------------------------------
Tue Jan 20 19:27:14 UTC 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 06:30:46 UTC 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 14:19:33 UTC 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 06:49:20 UTC 2014 - dmitry_r@opensuse.org
- Fix libraries linking [bnc#883683]
-------------------------------------------------------------------
Sun Nov 10 16:14:00 UTC 2013 - p.drouand@gmail.com
- Update to version 4.2.1
+ no changelog available
- Fix Groups to respect new standards
-------------------------------------------------------------------
Fri Nov 2 15:50:19 UTC 2012 - jengelh@inai.de
- shlib naming: libsuitesparseconfig-4_0_2, not -4.0.2
-------------------------------------------------------------------
Thu Aug 23 16:07:47 UTC 2012 - Rene.vanPaassen@gmail.com
- need to escape % in comments -- Fedora builds choked on them
-------------------------------------------------------------------
Thu Aug 16 19:33:14 UTC 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 02:51:27 UTC 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 17:57:45 UTC 2012 - i@marguerite.su
- Update to version 4.0.2
* no changelog available.
-------------------------------------------------------------------
Wed Jun 6 12:05:34 UTC 2012 - i@marguerite.su
- fix bnc#751746.
-------------------------------------------------------------------
Mon Jun 4 13:45:07 UTC 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 06:41:09 UTC 2012 - i@marguerite.su
- fix timestamp error in changelog, dont know why it omit zero in
time format.
-------------------------------------------------------------------
Sat Feb 18 16:15:32 UTC 2012 - jengelh@medozas.de
- add rpmlintrc to shut up false positives (after inquiry by
MargueriteSu)
-------------------------------------------------------------------
Fri Feb 17 14:01:01 UTC 2012 - i@marguerite.su
- fix libraries version tags of suitesparse-devel requires.
-------------------------------------------------------------------
Wed Feb 15 07:36:47 UTC 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 17:10:48 UTC 2012 - jengelh@medozas.de
- Apply shared library policy
http://en.opensuse.org/openSUSE:Shared_library_packaging_policy
-------------------------------------------------------------------
Sat Feb 4 11:38:15 UTC 2012 - i@marguerite.su
- update to version 3.7.0
-------------------------------------------------------------------
Sun Dec 21 00:00:00 UTC 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 00:00:00 UTC 2008 - coyoyeuser@gmail.com
- Initial release

883
suitesparse.spec Normal file
View File

@@ -0,0 +1,883 @@
#
# spec file for package suitesparse
#
# Copyright (c) 2024 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.8.3
Release: 0
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 9
%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
%post -n %{amdlib} -p /sbin/ldconfig
%postun -n %{amdlib} -p /sbin/ldconfig
%post -n %{btflib} -p /sbin/ldconfig
%postun -n %{btflib} -p /sbin/ldconfig
%post -n %{camdlib} -p /sbin/ldconfig
%postun -n %{camdlib} -p /sbin/ldconfig
%post -n %{ccolamdlib} -p /sbin/ldconfig
%postun -n %{ccolamdlib} -p /sbin/ldconfig
%post -n %{cholmodlib} -p /sbin/ldconfig
%postun -n %{cholmodlib} -p /sbin/ldconfig
%post -n %{colamdlib} -p /sbin/ldconfig
%postun -n %{colamdlib} -p /sbin/ldconfig
%post -n %{cxsparselib} -p /sbin/ldconfig
%postun -n %{cxsparselib} -p /sbin/ldconfig
%post -n %{graphblaslib} -p /sbin/ldconfig
%postun -n %{graphblaslib} -p /sbin/ldconfig
%post -n %{klulib} -p /sbin/ldconfig
%postun -n %{klulib} -p /sbin/ldconfig
%post -n %{ldllib} -p /sbin/ldconfig
%postun -n %{ldllib} -p /sbin/ldconfig
%post -n %{suitesparse_mongooselib} -p /sbin/ldconfig
%postun -n %{suitesparse_mongooselib} -p /sbin/ldconfig
%post -n %{rbiolib} -p /sbin/ldconfig
%postun -n %{rbiolib} -p /sbin/ldconfig
%post -n %{spexlib} -p /sbin/ldconfig
%postun -n %{spexlib} -p /sbin/ldconfig
%post -n %{spqrlib} -p /sbin/ldconfig
%postun -n %{spqrlib} -p /sbin/ldconfig
%post -n %{umfpacklib} -p /sbin/ldconfig
%postun -n %{umfpacklib} -p /sbin/ldconfig
%post -n %{lagraphlib} -p /sbin/ldconfig
%postun -n %{lagraphlib} -p /sbin/ldconfig
%post -n %{lagraphxlib} -p /sbin/ldconfig
%postun -n %{lagraphxlib} -p /sbin/ldconfig
%post -n %{parulib} -p /sbin/ldconfig
%postun -n %{parulib} -p /sbin/ldconfig
%post -n %{klu_cholmodlib} -p /sbin/ldconfig
%postun -n %{klu_cholmodlib} -p /sbin/ldconfig
%post -n %{configlib} -p /sbin/ldconfig
%postun -n %{configlib} -p /sbin/ldconfig
%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

BIN
tx2010.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
yeast.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.