Sync from SUSE:SLFO:Main suitesparse revision 02b6be8d99013be4e346ed4d81bdfed0
This commit is contained in:
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal 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
|
BIN
SuiteSparse-5.13.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
SuiteSparse-5.13.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
27
_constraints
Normal file
27
_constraints
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<constraints>
|
||||||
|
<hardware>
|
||||||
|
<physicalmemory>
|
||||||
|
<size unit="G">7</size>
|
||||||
|
</physicalmemory>
|
||||||
|
</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>
|
19
bnc775418-enable-SuiteSparse_time-symbol.patch
Normal file
19
bnc775418-enable-SuiteSparse_time-symbol.patch
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
diff -urN SuiteSparse.orig/SuiteSparse_config/SuiteSparse_config.h SuiteSparse/SuiteSparse_config/SuiteSparse_config.h
|
||||||
|
--- SuiteSparse.orig/SuiteSparse_config/SuiteSparse_config.h 2014-10-10 00:19:51.000000000 +0200
|
||||||
|
+++ SuiteSparse/SuiteSparse_config/SuiteSparse_config.h 2014-10-22 09:40:49.041061515 +0200
|
||||||
|
@@ -153,13 +153,13 @@
|
||||||
|
) ;
|
||||||
|
|
||||||
|
/* determine which timer to use, if any */
|
||||||
|
-#ifndef NTIMER
|
||||||
|
+/*#ifndef NTIMER*/
|
||||||
|
#ifdef _POSIX_C_SOURCE
|
||||||
|
#if _POSIX_C_SOURCE >= 199309L
|
||||||
|
#define SUITESPARSE_TIMER_ENABLED
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
-#endif
|
||||||
|
+/*#endif*/
|
||||||
|
|
||||||
|
/* SuiteSparse printf macro */
|
||||||
|
#define SUITESPARSE_PRINTF(params) \
|
193
build_csparse_shared.patch
Normal file
193
build_csparse_shared.patch
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
From: toddrme2178@gmail.com
|
||||||
|
Date: 2018-03-07
|
||||||
|
Subject: Build shared CSparse
|
||||||
|
|
||||||
|
Upstream does not support installing CSparse as a shared library.
|
||||||
|
We need it is a shared library. This patch modifies the
|
||||||
|
makefil to make sure it is installed correctly.
|
||||||
|
|
||||||
|
|
||||||
|
--- a/CSparse/Demo/Makefile
|
||||||
|
+++ b/CSparse/Demo/Makefile
|
||||||
|
@@ -1,36 +1,48 @@
|
||||||
|
-CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O
|
||||||
|
-I = -I../Include
|
||||||
|
+# CC = cc
|
||||||
|
+# CF = -O
|
||||||
|
+
|
||||||
|
+default: all
|
||||||
|
+
|
||||||
|
+include ../../SuiteSparse_config/SuiteSparse_config.mk
|
||||||
|
|
||||||
|
LDLIBS += -lm
|
||||||
|
-CS = $(LDFLAGS) ../Lib/libcsparse.a $(LDLIBS)
|
||||||
|
|
||||||
|
-all: lib cs_demo1 cs_demo2 cs_demo3
|
||||||
|
+I = -I../../include
|
||||||
|
+
|
||||||
|
+CS = $(LDFLAGS) -L../../lib -lcsparse $(LDLIBS)
|
||||||
|
+
|
||||||
|
+all: library cs_demo1 cs_demo2 cs_demo3 \
|
||||||
|
+ tests
|
||||||
|
+
|
||||||
|
+library:
|
||||||
|
+ ( cd ../Lib ; $(MAKE) )
|
||||||
|
+
|
||||||
|
+tests: library test
|
||||||
|
+
|
||||||
|
+test: cs_demo1 cs_demo2 cs_demo3
|
||||||
|
- ./cs_demo1 < ../Matrix/t1
|
||||||
|
- ./cs_demo2 < ../Matrix/t1
|
||||||
|
- - ./cs_demo2 < ../Matrix/ash219
|
||||||
|
- - ./cs_demo2 < ../Matrix/bcsstk01
|
||||||
|
- ./cs_demo2 < ../Matrix/fs_183_1
|
||||||
|
- - ./cs_demo2 < ../Matrix/mbeacxc
|
||||||
|
- ./cs_demo2 < ../Matrix/west0067
|
||||||
|
- ./cs_demo2 < ../Matrix/lp_afiro
|
||||||
|
- - ./cs_demo2 < ../Matrix/bcsstk16
|
||||||
|
+ - ./cs_demo2 < ../Matrix/ash219
|
||||||
|
+ - ./cs_demo2 < ../Matrix/mbeacxc
|
||||||
|
+ - ./cs_demo2 < ../Matrix/bcsstk01
|
||||||
|
- ./cs_demo3 < ../Matrix/bcsstk01
|
||||||
|
+ - ./cs_demo2 < ../Matrix/bcsstk16
|
||||||
|
- ./cs_demo3 < ../Matrix/bcsstk16
|
||||||
|
|
||||||
|
-lib:
|
||||||
|
- ( cd ../Lib ; $(MAKE) )
|
||||||
|
-
|
||||||
|
-cs_demo1: lib cs_demo1.c Makefile
|
||||||
|
+cs_demo1: cs_demo1.c Makefile
|
||||||
|
$(CC) $(CF) $(I) -o cs_demo1 cs_demo1.c $(CS)
|
||||||
|
|
||||||
|
-cs_demo2: lib cs_demo2.c cs_demo.c cs_demo.h Makefile
|
||||||
|
+cs_demo2: cs_demo2.c cs_demo.c cs_demo.h Makefile
|
||||||
|
$(CC) $(CF) $(I) -o cs_demo2 cs_demo2.c cs_demo.c $(CS)
|
||||||
|
|
||||||
|
-cs_demo3: lib cs_demo3.c cs_demo.c cs_demo.h Makefile
|
||||||
|
+cs_demo3: cs_demo3.c cs_demo.c cs_demo.h Makefile
|
||||||
|
$(CC) $(CF) $(I) -o cs_demo3 cs_demo3.c cs_demo.c $(CS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
- - $(RM) *.o
|
||||||
|
+ - $(RM) -r $(CLEAN)
|
||||||
|
|
||||||
|
purge: distclean
|
||||||
|
|
||||||
|
|
||||||
|
--- a/CSparse/Lib/Makefile
|
||||||
|
+++ b/CSparse/Lib/Makefile
|
||||||
|
@@ -15,16 +15,22 @@
|
||||||
|
# CSparse/Lib. It does not install it for system-wide usage.
|
||||||
|
|
||||||
|
LIBRARY = libcsparse
|
||||||
|
-CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O
|
||||||
|
+VERSION = _
|
||||||
|
+SO_VERSION = _
|
||||||
|
|
||||||
|
-I = -I../Include
|
||||||
|
-RANLIB = ranlib
|
||||||
|
-ARCHIVE = $(AR) $(ARFLAGS)
|
||||||
|
-CP = cp -f
|
||||||
|
+default: library
|
||||||
|
|
||||||
|
-AR_TARGET = $(LIBRARY).a
|
||||||
|
+include ../../SuiteSparse_config/SuiteSparse_config.mk
|
||||||
|
|
||||||
|
-all: install
|
||||||
|
+LDLIBS += -lm
|
||||||
|
+
|
||||||
|
+# compile and install in SuiteSparse/lib
|
||||||
|
+library:
|
||||||
|
+ $(MAKE) install INSTALL=$(SUITESPARSE)
|
||||||
|
+
|
||||||
|
+I = -I../../SuiteSparse_config -I../Include
|
||||||
|
+
|
||||||
|
+all: library
|
||||||
|
|
||||||
|
CS = cs_add.o cs_amd.o cs_chol.o cs_cholsol.o cs_counts.o cs_cumsum.o \
|
||||||
|
cs_droptol.o cs_dropzeros.o cs_dupl.o cs_entry.o \
|
||||||
|
@@ -39,25 +45,43 @@
|
||||||
|
$(CS): ../Include/cs.h Makefile
|
||||||
|
|
||||||
|
%.o: ../Source/%.c ../Include/cs.h
|
||||||
|
- $(CC) $(CF) $(I) -c $<
|
||||||
|
+ $(CC) $(CF) $(I) -c $< -o $@
|
||||||
|
|
||||||
|
static: $(AR_TARGET)
|
||||||
|
|
||||||
|
$(AR_TARGET): $(CS)
|
||||||
|
- $(ARCHIVE) $@ $^
|
||||||
|
+ $(ARCHIVE) $@ $^
|
||||||
|
- $(RANLIB) $@
|
||||||
|
|
||||||
|
-# install CSparse in this directory
|
||||||
|
-install: $(AR_TARGET)
|
||||||
|
-
|
||||||
|
-# uninstall CSparse
|
||||||
|
-uninstall: purge
|
||||||
|
-
|
||||||
|
clean:
|
||||||
|
- - $(RM) *.o
|
||||||
|
+ - $(RM) -r $(CLEAN)
|
||||||
|
|
||||||
|
purge: distclean
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
- - $(RM) *.a *.obj *.dll *.dylib *.so *.so.*
|
||||||
|
+ - $(RM) -r $(PURGE)
|
||||||
|
+
|
||||||
|
+# install CSparse
|
||||||
|
+install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
|
||||||
|
+
|
||||||
|
+$(INSTALL_LIB)/$(SO_TARGET): $(CS)
|
||||||
|
+ @mkdir -p $(INSTALL_LIB)
|
||||||
|
+ @mkdir -p $(INSTALL_INCLUDE)
|
||||||
|
+ @mkdir -p $(INSTALL_DOC)
|
||||||
|
+ $(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
|
||||||
|
+ ( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
|
||||||
|
+ ( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
|
||||||
|
+ $(CP) ../Include/cs.h $(INSTALL_INCLUDE)
|
||||||
|
+ $(CP) ../README.txt $(INSTALL_DOC)/CSPARSE_README.txt
|
||||||
|
+ chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
|
||||||
|
+ chmod 644 $(INSTALL_INCLUDE)/cs.h
|
||||||
|
+ chmod 644 $(INSTALL_DOC)/CSPARSE_README.txt
|
||||||
|
+
|
||||||
|
+# uninstall CSparse
|
||||||
|
+uninstall:
|
||||||
|
+ $(RM) $(INSTALL_LIB)/$(SO_TARGET)
|
||||||
|
+ $(RM) $(INSTALL_LIB)/$(SO_PLAIN)
|
||||||
|
+ $(RM) $(INSTALL_LIB)/$(SO_MAIN)
|
||||||
|
+ $(RM) $(INSTALL_INCLUDE)/cs.h
|
||||||
|
+ $(RM) $(INSTALL_DOC)/CSPARSE_README.txt
|
||||||
|
|
||||||
|
|
||||||
|
--- a/CSparse/Makefile
|
||||||
|
+++ b/CSparse/Makefile
|
||||||
|
@@ -2,6 +2,13 @@
|
||||||
|
# CSparse Makefile
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
+SUITESPARSE ?= $(realpath $(CURDIR)/..)
|
||||||
|
+export SUITESPARSE
|
||||||
|
+
|
||||||
|
+default: C
|
||||||
|
+
|
||||||
|
+include ../SuiteSparse_config/SuiteSparse_config.mk
|
||||||
|
+
|
||||||
|
C:
|
||||||
|
( cd Lib ; $(MAKE) )
|
||||||
|
( cd Demo ; $(MAKE) )
|
||||||
|
@@ -34,9 +41,11 @@
|
||||||
|
|
||||||
|
distclean: purge
|
||||||
|
|
||||||
|
-install: library
|
||||||
|
+# install CSparse
|
||||||
|
+install:
|
||||||
|
( cd Lib ; $(MAKE) install )
|
||||||
|
|
||||||
|
+# uninstall CSparse
|
||||||
|
uninstall:
|
||||||
|
( cd Lib ; $(MAKE) uninstall )
|
||||||
|
|
||||||
|
|
2
suitesparse-rpmlintrc
Normal file
2
suitesparse-rpmlintrc
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# rpmlint could be smarter
|
||||||
|
addFilter("no-binary")
|
485
suitesparse.changes
Normal file
485
suitesparse.changes
Normal file
@@ -0,0 +1,485 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
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
|
874
suitesparse.spec
Normal file
874
suitesparse.spec
Normal file
@@ -0,0 +1,874 @@
|
|||||||
|
#
|
||||||
|
# spec file for package suitesparse
|
||||||
|
#
|
||||||
|
# Copyright (c) 2023 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}
|
||||||
|
%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
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Version: 5.13.0
|
||||||
|
Release: 0
|
||||||
|
URL: https://people.engr.tamu.edu/davis/suitesparse.html
|
||||||
|
Source0: https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v%{version}.tar.gz#/SuiteSparse-%{version}.tar.gz
|
||||||
|
Source2: %{name}-rpmlintrc
|
||||||
|
# PATCH-FIX-OPENSUSE build_csparse_shared.patch -- Build CSparse as a shared library
|
||||||
|
Patch1: build_csparse_shared.patch
|
||||||
|
Patch775418: bnc775418-enable-SuiteSparse_time-symbol.patch
|
||||||
|
%if 0%{?suse_version} < 1500
|
||||||
|
BuildRequires: gcc7
|
||||||
|
BuildRequires: gcc7-c++
|
||||||
|
%else
|
||||||
|
BuildRequires: gcc >= 4.9
|
||||||
|
BuildRequires: gcc-c++ >= 4.9
|
||||||
|
%endif
|
||||||
|
BuildRequires: chrpath
|
||||||
|
BuildRequires: cmake >= 3.13
|
||||||
|
BuildRequires: gcc-fortran
|
||||||
|
BuildRequires: gmp-devel
|
||||||
|
BuildRequires: lapack-devel
|
||||||
|
BuildRequires: m4
|
||||||
|
BuildRequires: memory-constraints
|
||||||
|
BuildRequires: metis-devel
|
||||||
|
BuildRequires: mpfr-devel
|
||||||
|
BuildRequires: tbb-devel
|
||||||
|
%if %{with openblas}
|
||||||
|
BuildRequires: openblas-devel
|
||||||
|
%endif
|
||||||
|
%define amdver 2.4.6
|
||||||
|
%define btfver 1.2.6
|
||||||
|
%define camdver 2.4.6
|
||||||
|
%define ccolamdver 2.9.6
|
||||||
|
%define cholmodver 3.0.14
|
||||||
|
%define colamdver 2.9.6
|
||||||
|
%define csparsever 3.2.0
|
||||||
|
%define cxsparsever 3.2.0
|
||||||
|
%define graphblasver 7.2.0
|
||||||
|
%define kluver 1.3.9
|
||||||
|
%define ldlver 2.2.6
|
||||||
|
%define mongoosever 2.0.4
|
||||||
|
%define rbiover 2.2.6
|
||||||
|
%define slipluver 1.0.2
|
||||||
|
%define spqrver 2.1.0
|
||||||
|
%define umfpackver 5.7.9
|
||||||
|
# Your need define even it's just the same as main package
|
||||||
|
# or the %%build loop will override %%version with umfpack's version.
|
||||||
|
%define configver 5.13.0
|
||||||
|
%define csparsemajor %(echo "%{csparsever}" | cut -d "." -f1)
|
||||||
|
%define amdlib %(echo "libamd%{amdver}" | cut -d "." -f1)
|
||||||
|
%define btflib %(echo "libbtf%{btfver}" | cut -d "." -f1)
|
||||||
|
%define camdlib %(echo "libcamd%{camdver}" | cut -d "." -f1)
|
||||||
|
%define ccolamdlib %(echo "libccolamd%{ccolamdver}" | cut -d "." -f1)
|
||||||
|
%define cholmodlib %(echo "libcholmod%{cholmodver}" | cut -d "." -f1)
|
||||||
|
%define colamdlib %(echo "libcolamd%{colamdver}" | cut -d "." -f1)
|
||||||
|
%define csparselib %(echo "libcsparse%{csparsever}" | cut -d "." -f1)
|
||||||
|
%define cxsparselib %(echo "libcxsparse%{cxsparsever}" | cut -d "." -f1)
|
||||||
|
%define graphblaslib %(echo "libgraphblas%{graphblasver}" | cut -d "." -f1)
|
||||||
|
%define klulib %(echo "libklu%{kluver}" | cut -d "." -f1)
|
||||||
|
%define ldllib %(echo "libldl%{ldlver}" | cut -d "." -f1)
|
||||||
|
%define mongooselib %(echo "libmongoose%{mongoosever}" | cut -d "." -f1)
|
||||||
|
%define rbiolib %(echo "librbio%{rbiover}" | cut -d "." -f1)
|
||||||
|
%define sliplulib %(echo "libsliplu%{slipluver}" | cut -d "." -f1)
|
||||||
|
%define spqrlib %(echo "libspqr%{spqrver}" | cut -d "." -f1)
|
||||||
|
%define umfpacklib %(echo "libumfpack%{umfpackver}" | cut -d "." -f1)
|
||||||
|
%define configlib %(echo "libsuitesparseconfig%{configver}" | cut -d "." -f1)
|
||||||
|
|
||||||
|
%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++
|
||||||
|
%if 0%{?suse_version} < 1500
|
||||||
|
Requires: gcc7-c++
|
||||||
|
%else
|
||||||
|
Requires: gcc-c++ >= 4.9
|
||||||
|
%endif
|
||||||
|
Requires: %{amdlib} = %{amdver}
|
||||||
|
Requires: %{btflib} = %{btfver}
|
||||||
|
Requires: %{camdlib} = %{camdver}
|
||||||
|
Requires: %{ccolamdlib} = %{ccolamdver}
|
||||||
|
Requires: %{cholmodlib} = %{cholmodver}
|
||||||
|
Requires: %{colamdlib} = %{colamdver}
|
||||||
|
Requires: %{configlib} = %{configver}
|
||||||
|
Requires: %{configlib} = %{version}
|
||||||
|
Requires: %{csparselib} = %{csparsever}
|
||||||
|
Requires: %{cxsparselib} = %{cxsparsever}
|
||||||
|
Requires: %{graphblaslib} = %{graphblasver}
|
||||||
|
Requires: %{klulib} = %{kluver}
|
||||||
|
Requires: %{ldllib} = %{ldlver}
|
||||||
|
Requires: %{mongooselib} = %{mongoosever}
|
||||||
|
Requires: %{rbiolib} = %{rbiover}
|
||||||
|
Requires: %{sliplulib} = %{slipluver}
|
||||||
|
Requires: %{spqrlib} = %{spqrver}
|
||||||
|
Requires: %{umfpacklib} = %{umfpackver}
|
||||||
|
Requires: metis-devel
|
||||||
|
%if %{with openblas}
|
||||||
|
Requires: openblas-devel
|
||||||
|
%else
|
||||||
|
Requires: lapack-devel
|
||||||
|
%endif
|
||||||
|
Requires: tbb-devel
|
||||||
|
# make sure developers can find these packages
|
||||||
|
Provides: SuiteSparse_config = %{version}
|
||||||
|
Obsoletes: SuiteSparse_config < %{version}
|
||||||
|
Provides: amd-devel = %{amdver}
|
||||||
|
Obsoletes: amd-devel < %{amdver}
|
||||||
|
Provides: suitesparse-common-devel = %{version}
|
||||||
|
Obsoletes: suitesparse-common-devel < %{version}
|
||||||
|
Provides: umfpack-devel = %{umfpackver}
|
||||||
|
Obsoletes: umfpack-devel < %{umfpackver}
|
||||||
|
Provides: libamd-devel = %{amdver}
|
||||||
|
Obsoletes: libamd-devel < %{amdver}
|
||||||
|
Provides: libbtf-devel = %{btfver}
|
||||||
|
Obsoletes: libbtf-devel < %{btfver}
|
||||||
|
Provides: libcamd-devel = %{camdver}
|
||||||
|
Obsoletes: libcamd-devel < %{camdver}
|
||||||
|
Provides: libccolamd-devel = %{ccolamdver}
|
||||||
|
Obsoletes: libccolamd-devel < %{ccolamdver}
|
||||||
|
Provides: libcholmod-devel = %{cholmodver}
|
||||||
|
Obsoletes: libcholmod-devel < %{cholmodver}
|
||||||
|
Provides: libcolamd-devel = %{colamdver}
|
||||||
|
Obsoletes: libcolamd-devel < %{colamdver}
|
||||||
|
Provides: libcsparse-devel = %{csparsever}
|
||||||
|
Obsoletes: libcsparse-devel < %{csparsever}
|
||||||
|
Provides: libcxsparse-devel = %{cxsparsever}
|
||||||
|
Obsoletes: libcxsparse-devel < %{cxsparsever}
|
||||||
|
Provides: libgraphblas-devel = %{graphblasver}
|
||||||
|
Obsoletes: libgraphblas-devel < %{graphblasver}
|
||||||
|
Provides: libklu-devel = %{kluver}
|
||||||
|
Obsoletes: libklu-devel < %{kluver}
|
||||||
|
Provides: libldl-devel = %{ldlver}
|
||||||
|
Obsoletes: libldl-devel < %{ldlver}
|
||||||
|
Provides: libmongoose-devel = %{mongoosever}
|
||||||
|
Obsoletes: libmongoose-devel < %{mongoosever}
|
||||||
|
Provides: librbio-devel = %{rbiover}
|
||||||
|
Obsoletes: librbio-devel < %{rbiover}
|
||||||
|
Provides: libsliplu-devel = %{slipluver}
|
||||||
|
Obsoletes: libsliplu-devel < %{slipluver}
|
||||||
|
Provides: libspqr-devel = %{spqrver}
|
||||||
|
Obsoletes: libspqr-devel < %{spqrver}
|
||||||
|
Provides: libumfpack-devel = %{umfpackver}
|
||||||
|
Obsoletes: libumfpack-devel < %{umfpackver}
|
||||||
|
Provides: libsuitesparseconfig-devel = %{configver}
|
||||||
|
Obsoletes: libsuitesparseconfig-devel < %{configver}
|
||||||
|
Provides: UFconfig-devel = %{configver}
|
||||||
|
Obsoletes: UFconfig-devel < %{configver}
|
||||||
|
|
||||||
|
%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 devel-static
|
||||||
|
Summary: Static version of SuiteSparse libraries
|
||||||
|
License: BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: %{name}-devel = %{version}
|
||||||
|
|
||||||
|
%description devel-static
|
||||||
|
The suitesparse-static package contains the statically linkable
|
||||||
|
version of the suitesparse libraries.
|
||||||
|
|
||||||
|
%package -n %{amdlib}
|
||||||
|
Version: %{amdver}
|
||||||
|
Release: 0
|
||||||
|
Summary: Symmetric Approximate Minimum Degree
|
||||||
|
License: BSD-3-Clause
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libamd-%{amdver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libamd-%{amdver}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%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
|
||||||
|
|
||||||
|
%description -n libamd-doc
|
||||||
|
Documentation for libamd.
|
||||||
|
|
||||||
|
%package -n %{btflib}
|
||||||
|
Version: %{btfver}
|
||||||
|
Release: 0
|
||||||
|
Summary: Permutation to Block Triangular Form
|
||||||
|
License: LGPL-2.1-or-later
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libbtf-%{btfver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libbtf-%{btfver}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%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}
|
||||||
|
Version: %{camdver}
|
||||||
|
Release: 0
|
||||||
|
Summary: Symmetric Approximate Minimum Degree
|
||||||
|
License: BSD-3-Clause
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libcamd-%{camdver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libcamd-%{camdver}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%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
|
||||||
|
|
||||||
|
%description -n libcamd-doc
|
||||||
|
Documentation for libcam.
|
||||||
|
|
||||||
|
%package -n %{ccolamdlib}
|
||||||
|
Version: %{ccolamdver}
|
||||||
|
Release: 0
|
||||||
|
Summary: Constrained Column Approximate Minimum Degree
|
||||||
|
License: BSD-3-Clause
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libccolamd-%{ccolamdver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libccolamd-%{ccolamdver}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%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}
|
||||||
|
Version: %{cholmodver}
|
||||||
|
Release: 0
|
||||||
|
Summary: Supernodal Sparse Cholesky Factorization and Update/Downdate
|
||||||
|
License: GPL-2.0-only AND LGPL-2.1-only
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libcholmod-%{cholmodver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libcholmod-%{cholmodver}" | tr . _) < %{version}
|
||||||
|
#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}
|
||||||
|
Version: %{colamdver}
|
||||||
|
Release: 0
|
||||||
|
Summary: Column Approximate Minimum Degree
|
||||||
|
License: BSD-3-Clause
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libcolamd-%{colamdver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libcolamd-%{colamdver}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%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 %{csparselib}
|
||||||
|
Version: %{csparsever}
|
||||||
|
Release: 0
|
||||||
|
Summary: Instructional Sparse Matrix Package
|
||||||
|
License: LGPL-2.1-or-later
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libcsparse-%{csparsever}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libcsparse-%{csparsever}" | tr . _) < %{version}
|
||||||
|
# AT version 3.1.9, this package was accidentally called libcsparsever-3_1_9
|
||||||
|
%if "%{csparsever}" == "3.1.9"
|
||||||
|
Obsoletes: libcsparsever-3_1_9 = 3.1.9
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description -n %{csparselib}
|
||||||
|
CSparse is a small yet feature-rich sparse matrix package written
|
||||||
|
specifically for a book. The purpose of the package is to demonstrate
|
||||||
|
a wide range of sparse matrix algorithms in as concise a code as
|
||||||
|
possible. CSparse is about 2,200 lines long (excluding its MATLAB
|
||||||
|
interface, demo codes, and test codes), yet it contains algorithms
|
||||||
|
(either asympotical optimal or fast in practice) for all of the
|
||||||
|
following functions described below. A MATLAB interface is included.
|
||||||
|
|
||||||
|
Note that the LU and Cholesky factorization algorithms are not as
|
||||||
|
fast as UMFPACK or CHOLMOD. Other functions have comparable
|
||||||
|
performance as their MATLAB equivalents (some are faster).
|
||||||
|
|
||||||
|
Documentation is very terse in the code; it is fully documented in
|
||||||
|
the book. Some indication of how to call the C functions in CSparse
|
||||||
|
is given by the CSparse/MATLAB/*.m help files.
|
||||||
|
|
||||||
|
CSparse is part of the SuiteSparse sparse matrix suite.
|
||||||
|
|
||||||
|
%package -n %{cxsparselib}
|
||||||
|
Version: %{cxsparsever}
|
||||||
|
Release: 0
|
||||||
|
Summary: An extended version of CSparse
|
||||||
|
License: LGPL-2.1-or-later
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libcxsparse-%{cxsparsever}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libcxsparse-%{cxsparsever}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%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}
|
||||||
|
Version: %{graphblasver}
|
||||||
|
Release: 0
|
||||||
|
Summary: An implementation of the GraphBLAS standard
|
||||||
|
License: Apache-2.0
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libgraphblas-%{graphblasver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libgraphblas-%{graphblasver}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%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}
|
||||||
|
Version: %{kluver}
|
||||||
|
Release: 0
|
||||||
|
Summary: Sparse LU Factorization, for Circuit Simulation
|
||||||
|
License: LGPL-2.1-or-later
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libklu-%{kluver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libklu-%{kluver}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%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
|
||||||
|
|
||||||
|
%description -n libklu-doc
|
||||||
|
Documentation for libklu.
|
||||||
|
|
||||||
|
%package -n %{ldllib}
|
||||||
|
Version: %{ldlver}
|
||||||
|
Release: 0
|
||||||
|
Summary: A Simple LDL^T Factorization
|
||||||
|
License: LGPL-2.1-or-later
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libldl-%{ldlver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libldl-%{ldlver}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%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
|
||||||
|
|
||||||
|
%description -n libldl-doc
|
||||||
|
Documentation for libldl.
|
||||||
|
|
||||||
|
%package -n %{mongooselib}
|
||||||
|
Version: %{mongoosever}
|
||||||
|
Release: 0
|
||||||
|
Summary: Graph partitioning library
|
||||||
|
License: GPL-3.0-only
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libldl-%{mongoosever}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libldl-%{mongoosever}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%description -n %{mongooselib}
|
||||||
|
Mongoose is a graph partitioning library. Currently, Mongoose only
|
||||||
|
supports edge partitioning.
|
||||||
|
|
||||||
|
mongoose is part of the SuiteSparse sparse matrix suite.
|
||||||
|
|
||||||
|
%package -n libmongoose-doc
|
||||||
|
Summary: Documentation for libmongoose
|
||||||
|
License: GPL-3.0-only
|
||||||
|
Group: Documentation/Other
|
||||||
|
|
||||||
|
%description -n libmongoose-doc
|
||||||
|
Documentation for libmongoose.
|
||||||
|
|
||||||
|
%package -n %{rbiolib}
|
||||||
|
Version: %{rbiover}
|
||||||
|
Release: 0
|
||||||
|
Summary: MATLAB Toolbox for Reading/Writing Sparse Matrices
|
||||||
|
License: GPL-2.0-or-later
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "librbio-%{rbiover}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "librbio-%{rbiover}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%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 %{sliplulib}
|
||||||
|
Version: %{slipluver}
|
||||||
|
Release: 0
|
||||||
|
Summary: SLIP LU, A Sparse Left-Looking Integer Preserving LU Factorization
|
||||||
|
License: GPL-2.0-or-later AND LGPL-3.0-or-later
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libsliplu-%{slipluver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libsliplu-%{slipluver}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%description -n %{sliplulib}
|
||||||
|
SLIP LU is software package used to solve a sparse systems of linear equations
|
||||||
|
exactly using the Sparse Left-looking Integer-Preserving LU factorization.
|
||||||
|
|
||||||
|
SLIP LU solves a sparse system of linear equations using a given input
|
||||||
|
matrix and right hand side vector file. This code can output the final
|
||||||
|
solution to a user specified output file in either double precision or
|
||||||
|
full precision rational numbers. If you intend to use SLIP LU within
|
||||||
|
another program, refer to examples for help with this.
|
||||||
|
|
||||||
|
SLIP LU is part of the SuiteSparse sparse matrix suite.
|
||||||
|
|
||||||
|
%package -n %{spqrlib}
|
||||||
|
Version: %{spqrver}
|
||||||
|
Release: 0
|
||||||
|
Summary: Multifrontal Sparse QR
|
||||||
|
License: GPL-2.0-or-later
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libspqr-%{spqrver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libspqr-%{spqrver}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%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}
|
||||||
|
Version: %{umfpackver}
|
||||||
|
Release: 0
|
||||||
|
Summary: Sparse Multifrontal LU Factorization
|
||||||
|
License: GPL-2.0-or-later
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libumfpack-%{umfpackver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libumfpack-%{umfpackver}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%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 %{configlib}
|
||||||
|
Version: %{configver}
|
||||||
|
Release: 0
|
||||||
|
Summary: Common configurations for all packages in SuiteSparse
|
||||||
|
License: GPL-2.0-or-later
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: libufconfig = %{configver}
|
||||||
|
Obsoletes: libufconfig < %{configver}
|
||||||
|
Provides: libUFconfig = %{configver}
|
||||||
|
Obsoletes: libUFconfig < %{configver}
|
||||||
|
Provides: %(echo "libsuitesparseconfig%{configver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libsuitesparseconfig%{configver}" | tr . _) < %{version}
|
||||||
|
|
||||||
|
%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
|
||||||
|
%setup -q -n SuiteSparse-%{version}
|
||||||
|
%patch1 -p1
|
||||||
|
sed 's/^CHOLMOD_CONFIG =.*/CHOLMOD_CONFIG = -DNPARTITION/' -i SuiteSparse_config/SuiteSparse_config.mk
|
||||||
|
%if %{without openblas}
|
||||||
|
sed 's/-lopenblas/-lblas/' -i SuiteSparse_config/SuiteSparse_config.mk
|
||||||
|
%endif
|
||||||
|
|
||||||
|
sed -i "s:^SO_VERSION = _:SO_VERSION = %{csparsemajor}:" CSparse/Lib/Makefile
|
||||||
|
sed -i "s:^VERSION = _:VERSION = %{csparsever}:" CSparse/Lib/Makefile
|
||||||
|
|
||||||
|
cat CSparse/Lib/Makefile
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
# bnc#775418
|
||||||
|
%patch775418 -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%define limitbuild 1500
|
||||||
|
%limit_build -m %{limitbuild}
|
||||||
|
|
||||||
|
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
||||||
|
%if 0%{?suse_version} < 1500
|
||||||
|
export CC=gcc-7
|
||||||
|
export CXX=g++-7
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with openblas}
|
||||||
|
blas_lib=-lopenblas
|
||||||
|
%else
|
||||||
|
blas_lib=-lblas
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Better performance with -flto
|
||||||
|
unset MALLOC_CHECK_
|
||||||
|
unset MALLOC_PERTURB_
|
||||||
|
|
||||||
|
%make_jobs MY_METIS_LIB="-lmetis" LAPACK="-llapack" BLAS="$blas_lib" TBB="-ltbb" CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" go
|
||||||
|
chrpath -d lib/*.so.*.*
|
||||||
|
chrpath -d GraphBLAS/build/*.so
|
||||||
|
chrpath -d GraphBLAS/build/*.so.*.*
|
||||||
|
chrpath -d Mongoose/build/lib/*.so
|
||||||
|
chrpath -d Mongoose/build/lib/*.so.*.*
|
||||||
|
|
||||||
|
%install
|
||||||
|
mkdir -p %{buildroot}%{_includedir}/%{name}
|
||||||
|
mkdir -p %{buildroot}%{_docdir}
|
||||||
|
mkdir -p %{buildroot}%{_libdir}
|
||||||
|
|
||||||
|
cp -Pt %{buildroot}%{_libdir} */Lib/*.a
|
||||||
|
cp -Pt %{buildroot}%{_libdir} lib/*
|
||||||
|
cp -Pt %{buildroot}%{_libdir} GraphBLAS/build/*.so
|
||||||
|
cp -Pt %{buildroot}%{_libdir} GraphBLAS/build/*.so.*
|
||||||
|
cp -Pt %{buildroot}%{_libdir} Mongoose/build/lib/*.so
|
||||||
|
cp -Pt %{buildroot}%{_libdir} Mongoose/build/lib/*.so.*
|
||||||
|
cp -Pt %{buildroot}%{_includedir}/%{name} include/*
|
||||||
|
cp -Pt %{buildroot}%{_includedir}/%{name} GraphBLAS/Include/*.h
|
||||||
|
cp -Prt %{buildroot}%{_docdir} share/doc/*
|
||||||
|
|
||||||
|
%check
|
||||||
|
amd_test_symbol="amd_postorder"
|
||||||
|
btf_test_symbol="btf_order"
|
||||||
|
camd_test_symbol="camd_postorder"
|
||||||
|
ccolamd_test_symbol="ccolamd"
|
||||||
|
colamd_test_symbol="colamd"
|
||||||
|
cholmod_test_symbol="cholmod_start"
|
||||||
|
csparse_test_symbol="cs_sqr"
|
||||||
|
cxsparse_test_symbol="cs_di_sqr"
|
||||||
|
klu_test_symbol="klu_solve"
|
||||||
|
ldl_test_symbol="ldl_symbolic"
|
||||||
|
rbio_test_symbol="RBread"
|
||||||
|
spqr_test_symbol="SuiteSparseQR_C_symbolic"
|
||||||
|
umfpack_test_symbol="umfpack_toc"
|
||||||
|
|
||||||
|
mkdir -p linking_test
|
||||||
|
pushd linking_test
|
||||||
|
|
||||||
|
cat > linking_test.c.in << 'EOF'
|
||||||
|
char @test_symbol@ ();
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
return @test_symbol@ ();
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{_libdir}
|
||||||
|
for test_library in amd btf camd ccolamd colamd cholmod csparse cxsparse klu ldl rbio spqr umfpack; do
|
||||||
|
cp linking_test.c.in linking_test.c
|
||||||
|
test_symbol=${test_library}_test_symbol
|
||||||
|
sed -i "s|@test_symbol@|${!test_symbol}|" linking_test.c
|
||||||
|
cat linking_test.c
|
||||||
|
gcc -o linking_test linking_test.c -L%{buildroot}%{_libdir} -l${test_library}
|
||||||
|
done
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
%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 %{csparselib} -p /sbin/ldconfig
|
||||||
|
%postun -n %{csparselib} -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 %{mongooselib} -p /sbin/ldconfig
|
||||||
|
%postun -n %{mongooselib} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n %{rbiolib} -p /sbin/ldconfig
|
||||||
|
%postun -n %{rbiolib} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n %{sliplulib} -p /sbin/ldconfig
|
||||||
|
%postun -n %{sliplulib} -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 %{configlib} -p /sbin/ldconfig
|
||||||
|
%postun -n %{configlib} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%doc ChangeLog README.md
|
||||||
|
%license LICENSE.txt
|
||||||
|
%{_docdir}/%{name}-%{version}
|
||||||
|
%{_libdir}/*.so
|
||||||
|
%{_includedir}/%{name}/
|
||||||
|
|
||||||
|
%files devel-static
|
||||||
|
%doc ChangeLog README.md
|
||||||
|
%license LICENSE.txt
|
||||||
|
%{_libdir}/*.a
|
||||||
|
|
||||||
|
%files -n %{amdlib}
|
||||||
|
%doc AMD/README.txt
|
||||||
|
%doc AMD/Doc/ChangeLog
|
||||||
|
%license AMD/Doc/License.txt AMD/Doc/lesser.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 CAMD/Doc/lesser.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 CCOLAMD/Doc/lesser.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 COLAMD/Doc/lesser.txt
|
||||||
|
%{_libdir}/libcolamd.so.*
|
||||||
|
|
||||||
|
%files -n %{csparselib}
|
||||||
|
%doc CSparse/README.txt
|
||||||
|
%doc CSparse/Doc/ChangeLog
|
||||||
|
%license CSparse/Doc/License.txt CSparse/Doc/lesser.txt
|
||||||
|
%{_libdir}/libcsparse.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 %{mongooselib}
|
||||||
|
%doc Mongoose/README.md
|
||||||
|
%license Mongoose/Doc/License.txt
|
||||||
|
%{_libdir}/libmongoose.so.*
|
||||||
|
|
||||||
|
%files -n libmongoose-doc
|
||||||
|
%doc Mongoose/Doc/Mongoose_UserGuide.pdf
|
||||||
|
|
||||||
|
%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 %{sliplulib}
|
||||||
|
%doc SLIP_LU/README.md
|
||||||
|
%doc SLIP_LU/Doc/SLIP_LU_UserGuide.pdf
|
||||||
|
%license SLIP_LU/License/license.txt SLIP_LU/License/GPLv2.txt
|
||||||
|
%license SLIP_LU/License/lesserv3.txt SLIP_LU/License/CONTRIBUTOR-LICENSE.txt
|
||||||
|
%{_libdir}/libsliplu.so.*
|
||||||
|
|
||||||
|
%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}
|
||||||
|
%doc UMFPACK/README.txt
|
||||||
|
%doc UMFPACK/Doc/UMFPACK_QuickStart.pdf UMFPACK/Doc/UMFPACK_UserGuide.pdf UMFPACK/Doc/ChangeLog
|
||||||
|
%license UMFPACK/Doc/License.txt UMFPACK/Doc/gpl.txt
|
||||||
|
%{_libdir}/libumfpack.so.*
|
||||||
|
|
||||||
|
%files -n %{configlib}
|
||||||
|
%doc share/doc/*/SUITESPARSECONFIG_README.txt
|
||||||
|
%license LICENSE.txt
|
||||||
|
%{_libdir}/libsuitesparseconfig.so.*
|
||||||
|
|
||||||
|
%changelog
|
Reference in New Issue
Block a user