Sync from SUSE:SLFO:Main suitesparse revision 02b6be8d99013be4e346ed4d81bdfed0
This commit is contained in:
commit
7de8e37506
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
|
Loading…
Reference in New Issue
Block a user