Accepting request 610773 from science
OBS-URL: https://build.opensuse.org/request/show/610773 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/suitesparse?expand=0&rev=25
This commit is contained in:
commit
ad413391f3
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:b9a98de0ddafe7659adffad8a58ca3911c1afa8b509355e7aa58b02feb35d9b6
|
|
||||||
size 30309650
|
|
3
SuiteSparse-5.2.0.tar.gz
Normal file
3
SuiteSparse-5.2.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:3c46c035ea8217649958a0f73360e825b0c9dcca4e32a9349d2c7678c0d48813
|
||||||
|
size 46053054
|
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 )
|
||||||
|
|
||||||
|
|
@ -1,3 +1,34 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
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
|
Wed Feb 14 10:36:16 UTC 2018 - schwab@suse.de
|
||||||
|
|
||||||
|
368
suitesparse.spec
368
suitesparse.spec
@ -26,65 +26,64 @@ Name: suitesparse
|
|||||||
Summary: A collection of sparse matrix libraries
|
Summary: A collection of sparse matrix libraries
|
||||||
License: GPL-2.0+ and LGPL-2.1+
|
License: GPL-2.0+ and LGPL-2.1+
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
Version: 4.5.5
|
Version: 5.2.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Url: http://faculty.cse.tamu.edu/davis/SuiteSparse/
|
Url: http://faculty.cse.tamu.edu/davis/SuiteSparse/
|
||||||
Source: http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-%{version}.tar.gz
|
Source: http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-%{version}.tar.gz
|
||||||
Source2: %{name}-rpmlintrc
|
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
|
Patch775418: bnc775418-enable-SuiteSparse_time-symbol.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
%if 0%{?sle_version} == 120300 && 0%{?is_opensuse}
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc7
|
||||||
|
BuildRequires: gcc7-c++
|
||||||
|
%else
|
||||||
|
BuildRequires: gcc >= 4.9
|
||||||
|
BuildRequires: gcc-c++ >= 4.9
|
||||||
|
%endif
|
||||||
|
BuildRequires: chrpath
|
||||||
|
BuildRequires: cmake
|
||||||
BuildRequires: gcc-fortran
|
BuildRequires: gcc-fortran
|
||||||
BuildRequires: lapack-devel
|
BuildRequires: lapack-devel
|
||||||
BuildRequires: metis-devel
|
BuildRequires: metis-devel
|
||||||
|
BuildRequires: tbb-devel
|
||||||
%if %{with openblas}
|
%if %{with openblas}
|
||||||
BuildRequires: openblas-devel
|
BuildRequires: openblas-devel
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: openmpi-devel
|
BuildRequires: openmpi-devel
|
||||||
%define amdver 2.4.6
|
%define amdver 2.4.6
|
||||||
%define amdso 2_4_6
|
|
||||||
%define btfver 1.2.6
|
%define btfver 1.2.6
|
||||||
%define btfso 1_2_6
|
|
||||||
%define camdver 2.4.6
|
%define camdver 2.4.6
|
||||||
%define camdso 2_4_6
|
|
||||||
%define ccolamdver 2.9.6
|
%define ccolamdver 2.9.6
|
||||||
%define ccolamdso 2_9_6
|
%define cholmodver 3.0.12
|
||||||
%define colamdver 2.9.6
|
%define colamdver 2.9.6
|
||||||
%define colamdso 2_9_6
|
%define csparsever 3.2.0
|
||||||
%define cholmodver 3.0.11
|
%define cxsparsever 3.2.0
|
||||||
%define cholmodso 3_0_11
|
%define graphblasver 2.0.1
|
||||||
%define csparsever 3.1.9
|
%define kluver 1.3.9
|
||||||
%define csparseso 3_1_9
|
|
||||||
%define cxsparsever 3.1.9
|
|
||||||
%define cxsparseso 3_1_9
|
|
||||||
%define kluver 1.3.8
|
|
||||||
%define kluso 1_3_8
|
|
||||||
%define ldlver 2.2.6
|
%define ldlver 2.2.6
|
||||||
%define ldlso 2_2_6
|
|
||||||
%define rbiover 2.2.6
|
%define rbiover 2.2.6
|
||||||
%define rbioso 2_2_6
|
|
||||||
%define spqrver 2.0.8
|
%define spqrver 2.0.8
|
||||||
%define spqrso 2_0_8
|
|
||||||
%define umfpackver 5.7.6
|
%define umfpackver 5.7.6
|
||||||
%define umfpackso 5_7_6
|
|
||||||
# Your need define even it's just the same as main package
|
# Your need define even it's just the same as main package
|
||||||
# or the %%build loop will override %%version with umfpack's version.
|
# or the %%build loop will override %%version with umfpack's version.
|
||||||
%define configver 4.5.5
|
%define configver 5.2.0
|
||||||
%define configso 4_5_5
|
%define csparsemajor %(echo "%{csparsever}" | cut -d "." -f1)
|
||||||
%define amdlib libamd-%{amdso}
|
%define amdlib %(echo "libamd%{amdver}" | cut -d "." -f1)
|
||||||
%define btflib libbtf-%{btfso}
|
%define btflib %(echo "libbtf%{btfver}" | cut -d "." -f1)
|
||||||
%define camdlib libcamd-%{camdso}
|
%define camdlib %(echo "libcamd%{camdver}" | cut -d "." -f1)
|
||||||
%define ccolamdlib libccolamd-%{ccolamdso}
|
%define ccolamdlib %(echo "libccolamd%{ccolamdver}" | cut -d "." -f1)
|
||||||
%define cholmodlib libcholmod-%{cholmodso}
|
%define cholmodlib %(echo "libcholmod%{cholmodver}" | cut -d "." -f1)
|
||||||
%define colamdlib libcolamd-%{colamdso}
|
%define colamdlib %(echo "libcolamd%{colamdver}" | cut -d "." -f1)
|
||||||
%define csparselib libcsparse-%{csparseso}
|
%define csparselib %(echo "libcsparse%{csparsever}" | cut -d "." -f1)
|
||||||
%define cxsparselib libcxsparse-%{cxsparseso}
|
%define cxsparselib %(echo "libcxsparse%{cxsparsever}" | cut -d "." -f1)
|
||||||
%define klulib libklu-%{kluso}
|
%define graphblaslib %(echo "libgraphblas%{graphblasver}" | cut -d "." -f1)
|
||||||
%define ldllib libldl-%{ldlso}
|
%define klulib %(echo "libklu%{kluver}" | cut -d "." -f1)
|
||||||
%define rbiolib librbio-%{rbioso}
|
%define ldllib %(echo "libldl%{ldlver}" | cut -d "." -f1)
|
||||||
%define spqrlib libspqr-%{spqrso}
|
%define rbiolib %(echo "librbio%{rbiover}" | cut -d "." -f1)
|
||||||
%define umfpacklib libumfpack-%{umfpackso}
|
%define spqrlib %(echo "libspqr%{spqrver}" | cut -d "." -f1)
|
||||||
%define configlib libsuitesparseconfig-%{configso}
|
%define umfpacklib %(echo "libumfpack%{umfpackver}" | cut -d "." -f1)
|
||||||
|
%define configlib %(echo "libsuitesparseconfig%{configver}" | cut -d "." -f1)
|
||||||
|
|
||||||
%description
|
%description
|
||||||
suitesparse is a collection of libraries for computations involving sparse
|
suitesparse is a collection of libraries for computations involving sparse
|
||||||
@ -94,6 +93,7 @@ matrices.
|
|||||||
Summary: Development headers for SuiteSparse
|
Summary: Development headers for SuiteSparse
|
||||||
License: GPL-2.0+ and LGPL-2.1+
|
License: GPL-2.0+ and LGPL-2.1+
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: gcc-c++ >= 4.9
|
||||||
Requires: %{amdlib} = %{amdver}
|
Requires: %{amdlib} = %{amdver}
|
||||||
Requires: %{btflib} = %{btfver}
|
Requires: %{btflib} = %{btfver}
|
||||||
Requires: %{camdlib} = %{camdver}
|
Requires: %{camdlib} = %{camdver}
|
||||||
@ -104,6 +104,7 @@ Requires: %{configlib} = %{configver}
|
|||||||
Requires: %{configlib} = %{version}
|
Requires: %{configlib} = %{version}
|
||||||
Requires: %{csparselib} = %{csparsever}
|
Requires: %{csparselib} = %{csparsever}
|
||||||
Requires: %{cxsparselib} = %{cxsparsever}
|
Requires: %{cxsparselib} = %{cxsparsever}
|
||||||
|
Requires: %{graphblaslib} = %{graphblasver}
|
||||||
Requires: %{klulib} = %{kluver}
|
Requires: %{klulib} = %{kluver}
|
||||||
Requires: %{ldllib} = %{ldlver}
|
Requires: %{ldllib} = %{ldlver}
|
||||||
Requires: %{rbiolib} = %{rbiover}
|
Requires: %{rbiolib} = %{rbiover}
|
||||||
@ -116,13 +117,14 @@ Requires: openblas-devel
|
|||||||
Requires: lapack-devel
|
Requires: lapack-devel
|
||||||
%endif
|
%endif
|
||||||
Requires: openmpi-devel
|
Requires: openmpi-devel
|
||||||
|
Requires: tbb-devel
|
||||||
# make sure developers can find these packages
|
# make sure developers can find these packages
|
||||||
Provides: suitesparse-common-devel = %{version}
|
|
||||||
Obsoletes: suitesparse-common-devel < %{version}
|
|
||||||
Provides: SuiteSparse_config = %{version}
|
Provides: SuiteSparse_config = %{version}
|
||||||
Obsoletes: SuiteSparse_config < %{version}
|
Obsoletes: SuiteSparse_config < %{version}
|
||||||
Provides: amd-devel = %{amdver}
|
Provides: amd-devel = %{amdver}
|
||||||
Obsoletes: amd-devel < %{amdver}
|
Obsoletes: amd-devel < %{amdver}
|
||||||
|
Provides: suitesparse-common-devel = %{version}
|
||||||
|
Obsoletes: suitesparse-common-devel < %{version}
|
||||||
Provides: umfpack-devel = %{umfpackver}
|
Provides: umfpack-devel = %{umfpackver}
|
||||||
Obsoletes: umfpack-devel < %{umfpackver}
|
Obsoletes: umfpack-devel < %{umfpackver}
|
||||||
Provides: libamd-devel = %{amdver}
|
Provides: libamd-devel = %{amdver}
|
||||||
@ -141,6 +143,8 @@ Provides: libcsparse-devel = %{csparsever}
|
|||||||
Obsoletes: libcsparse-devel < %{csparsever}
|
Obsoletes: libcsparse-devel < %{csparsever}
|
||||||
Provides: libcxsparse-devel = %{cxsparsever}
|
Provides: libcxsparse-devel = %{cxsparsever}
|
||||||
Obsoletes: libcxsparse-devel < %{cxsparsever}
|
Obsoletes: libcxsparse-devel < %{cxsparsever}
|
||||||
|
Provides: libgraphblas-devel = %{umfpackver}
|
||||||
|
Obsoletes: libgraphblas-devel < %{umfpackver}
|
||||||
Provides: libklu-devel = %{kluver}
|
Provides: libklu-devel = %{kluver}
|
||||||
Obsoletes: libklu-devel < %{kluver}
|
Obsoletes: libklu-devel < %{kluver}
|
||||||
Provides: libldl-devel = %{ldlver}
|
Provides: libldl-devel = %{ldlver}
|
||||||
@ -179,6 +183,8 @@ Release: 0
|
|||||||
Summary: Symmetric Approximate Minimum Degree
|
Summary: Symmetric Approximate Minimum Degree
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libamd-%{amdver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libamd-%{amdver}" | tr . _) < %{version}
|
||||||
|
|
||||||
%description -n %{amdlib}
|
%description -n %{amdlib}
|
||||||
AMD is a set of routines for ordering a sparse matrix prior to
|
AMD is a set of routines for ordering a sparse matrix prior to
|
||||||
@ -196,6 +202,8 @@ Release: 0
|
|||||||
Summary: Permutation to Block Triangular Form
|
Summary: Permutation to Block Triangular Form
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libbtf-%{btfver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libbtf-%{btfver}" | tr . _) < %{version}
|
||||||
|
|
||||||
%description -n %{btflib}
|
%description -n %{btflib}
|
||||||
BTF permutes an unsymmetric matrix (square or rectangular) into its
|
BTF permutes an unsymmetric matrix (square or rectangular) into its
|
||||||
@ -210,6 +218,8 @@ Release: 0
|
|||||||
Summary: Symmetric Approximate Minimum Degree
|
Summary: Symmetric Approximate Minimum Degree
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libcamd-%{camdver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libcamd-%{camdver}" | tr . _) < %{version}
|
||||||
|
|
||||||
%description -n %{camdlib}
|
%description -n %{camdlib}
|
||||||
CAMD is a set of routines for ordering a sparse matrix prior to
|
CAMD is a set of routines for ordering a sparse matrix prior to
|
||||||
@ -225,6 +235,8 @@ Release: 0
|
|||||||
Summary: Constrained Column Approximate Minimum Degree
|
Summary: Constrained Column Approximate Minimum Degree
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libccolamd-%{ccolamdver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libccolamd-%{ccolamdver}" | tr . _) < %{version}
|
||||||
|
|
||||||
%description -n %{ccolamdlib}
|
%description -n %{ccolamdlib}
|
||||||
CCOLAMD computes an column approximate minimum degree ordering
|
CCOLAMD computes an column approximate minimum degree ordering
|
||||||
@ -239,6 +251,8 @@ Release: 0
|
|||||||
Summary: Supernodal Sparse Cholesky Factorization and Update/Downdate
|
Summary: Supernodal Sparse Cholesky Factorization and Update/Downdate
|
||||||
License: GPL-2.0 and LGPL-2.1
|
License: GPL-2.0 and LGPL-2.1
|
||||||
Group: System/Libraries
|
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
|
#bnc746867 cholmod from suitesparse should be GPL-2.0 and/or LGPL-2.0 licensed
|
||||||
|
|
||||||
%description -n %{cholmodlib}
|
%description -n %{cholmodlib}
|
||||||
@ -266,6 +280,8 @@ Release: 0
|
|||||||
Summary: Column Approximate Minimum Degree
|
Summary: Column Approximate Minimum Degree
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libcolamd-%{colamdver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libcolamd-%{colamdver}" | tr . _) < %{version}
|
||||||
|
|
||||||
%description -n %{colamdlib}
|
%description -n %{colamdlib}
|
||||||
The COLAMD column approximate minimum degree ordering algorithm
|
The COLAMD column approximate minimum degree ordering algorithm
|
||||||
@ -287,6 +303,8 @@ Release: 0
|
|||||||
Summary: Instructional Sparse Matrix Package
|
Summary: Instructional Sparse Matrix Package
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
Group: System/Libraries
|
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
|
# AT version 3.1.9, this package was accidentally called libcsparsever-3_1_9
|
||||||
%if "%{csparsever}" == "3.1.9"
|
%if "%{csparsever}" == "3.1.9"
|
||||||
Obsoletes: libcsparsever-3_1_9 = 3.1.9
|
Obsoletes: libcsparsever-3_1_9 = 3.1.9
|
||||||
@ -317,6 +335,8 @@ Release: 0
|
|||||||
Summary: An extended version of CSparse
|
Summary: An extended version of CSparse
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libcxsparse-%{cxsparsever}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libcxsparse-%{cxsparsever}" | tr . _) < %{version}
|
||||||
|
|
||||||
%description -n %{cxsparselib}
|
%description -n %{cxsparselib}
|
||||||
CXSparse is an extended version of CSparse, with support for double
|
CXSparse is an extended version of CSparse, with support for double
|
||||||
@ -324,12 +344,34 @@ or complex matrices, with int or long integers.
|
|||||||
|
|
||||||
CXSparse is part of the SuiteSparse sparse matrix suite.
|
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}
|
%package -n %{klulib}
|
||||||
Version: %{kluver}
|
Version: %{kluver}
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Sparse LU Factorization, for Circuit Simulation
|
Summary: Sparse LU Factorization, for Circuit Simulation
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libklu-%{kluver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libklu-%{kluver}" | tr . _) < %{version}
|
||||||
|
|
||||||
%description -n %{klulib}
|
%description -n %{klulib}
|
||||||
KLU is a sparse LU factorization algorithm well-suited for use in
|
KLU is a sparse LU factorization algorithm well-suited for use in
|
||||||
@ -345,6 +387,8 @@ Release: 0
|
|||||||
Summary: A Simple LDL^T Factorization
|
Summary: A Simple LDL^T Factorization
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libldl-%{ldlver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libldl-%{ldlver}" | tr . _) < %{version}
|
||||||
|
|
||||||
%description -n %{ldllib}
|
%description -n %{ldllib}
|
||||||
LDL is a set of concise routines for factorizing symmetric positive-
|
LDL is a set of concise routines for factorizing symmetric positive-
|
||||||
@ -365,6 +409,8 @@ Release: 0
|
|||||||
Summary: MATLAB Toolbox for Reading/Writing Sparse Matrices
|
Summary: MATLAB Toolbox for Reading/Writing Sparse Matrices
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "librbio-%{rbiover}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "librbio-%{rbiover}" | tr . _) < %{version}
|
||||||
|
|
||||||
%description -n %{rbiolib}
|
%description -n %{rbiolib}
|
||||||
RBio is a MATLAB toolbox for reading/writing sparse matrices in the
|
RBio is a MATLAB toolbox for reading/writing sparse matrices in the
|
||||||
@ -380,6 +426,8 @@ Release: 0
|
|||||||
Summary: Multifrontal Sparse QR
|
Summary: Multifrontal Sparse QR
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libspqr-%{spqrver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libspqr-%{spqrver}" | tr . _) < %{version}
|
||||||
|
|
||||||
%description -n %{spqrlib}
|
%description -n %{spqrlib}
|
||||||
SuiteSparseQR is an implementation of the multifrontal sparse QR
|
SuiteSparseQR is an implementation of the multifrontal sparse QR
|
||||||
@ -398,6 +446,8 @@ Release: 0
|
|||||||
Summary: Sparse Multifrontal LU Factorization
|
Summary: Sparse Multifrontal LU Factorization
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
Provides: %(echo "libumfpack-%{umfpackver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libumfpack-%{umfpackver}" | tr . _) < %{version}
|
||||||
|
|
||||||
%description -n %{umfpacklib}
|
%description -n %{umfpacklib}
|
||||||
UMFPACK is a set of routines for solving unsymmetric sparse linear
|
UMFPACK is a set of routines for solving unsymmetric sparse linear
|
||||||
@ -420,6 +470,8 @@ Provides: libufconfig = %{configver}
|
|||||||
Obsoletes: libufconfig < %{configver}
|
Obsoletes: libufconfig < %{configver}
|
||||||
Provides: libUFconfig = %{configver}
|
Provides: libUFconfig = %{configver}
|
||||||
Obsoletes: libUFconfig < %{configver}
|
Obsoletes: libUFconfig < %{configver}
|
||||||
|
Provides: %(echo "libsuitesparseconfig%{configver}" | tr . _) = %{version}
|
||||||
|
Obsoletes: %(echo "libsuitesparseconfig%{configver}" | tr . _) < %{version}
|
||||||
|
|
||||||
%description -n %{configlib}
|
%description -n %{configlib}
|
||||||
SuiteSparse_config is required by a number of sparse matrix packages,
|
SuiteSparse_config is required by a number of sparse matrix packages,
|
||||||
@ -438,107 +490,63 @@ SuiteSparse_config is part of the SuiteSparse sparse matrix suite.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n SuiteSparse
|
%setup -q -n SuiteSparse
|
||||||
|
%patch1 -p1
|
||||||
sed 's/^CHOLMOD_CONFIG =.*/CHOLMOD_CONFIG = -DNPARTITION/' -i SuiteSparse_config/SuiteSparse_config.mk
|
sed 's/^CHOLMOD_CONFIG =.*/CHOLMOD_CONFIG = -DNPARTITION/' -i SuiteSparse_config/SuiteSparse_config.mk
|
||||||
%if %{without openblas}
|
%if %{without openblas}
|
||||||
sed 's/-lopenblas/-lblas/' -i SuiteSparse_config/SuiteSparse_config.mk
|
sed 's/-lopenblas/-lblas/' -i SuiteSparse_config/SuiteSparse_config.mk
|
||||||
%endif
|
%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
|
# bnc#751746
|
||||||
rm -rf MATLAB_Tools/Factorize/Doc/factorize_article.pdf
|
rm CHOLMOD/Doc/IA3_2014_Workshop_Rennich_Stosic_Davis_preprint.pdf
|
||||||
rm -rf SPQR/Doc/algo_spqr.pdf
|
rm KLU/Doc/palamadai_e.pdf
|
||||||
rm -rf SPQR/Doc/spqr.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
|
# bnc#775418
|
||||||
%patch775418 -p1
|
%patch775418 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
mkdir -p Lib
|
%if 0%{?sle_version} == 120300 && 0%{?is_opensuse}
|
||||||
|
export CC=gcc-7
|
||||||
|
export CXX=g++-7
|
||||||
|
%endif
|
||||||
|
|
||||||
#bnc775418 provides SuiteSparse_time symbol in SuiteSparse_config
|
|
||||||
pushd SuiteSparse_config
|
|
||||||
make CFLAGS="%{optflags} -fPIC"
|
|
||||||
pushd ../Lib
|
|
||||||
gcc -shared -Wl,-soname -Wl,"libsuitesparseconfig-%{configver}.so" -o "libsuitesparseconfig-%{configver}.so" ../SuiteSparse_config/*.o -lm
|
|
||||||
ln -s "libsuitesparseconfig-%{version}.so" "libsuitesparseconfig.so"
|
|
||||||
popd
|
|
||||||
popd
|
|
||||||
|
|
||||||
# libraries linking config [bnc#883683]
|
|
||||||
%if %{with openblas}
|
%if %{with openblas}
|
||||||
blas_lib=-lopenblas
|
blas_lib=-lopenblas
|
||||||
%else
|
%else
|
||||||
blas_lib=-lblas
|
blas_lib=-lblas
|
||||||
%endif
|
%endif
|
||||||
amd_libs="libsuitesparseconfig.so"
|
|
||||||
camd_libs="libsuitesparseconfig.so"
|
|
||||||
ccolamd_libs="libsuitesparseconfig.so"
|
|
||||||
cholmod_libs="libamd.so libcamd.so libcolamd.so libccolamd.so libsuitesparseconfig.so $blas_lib -llapack -lmetis"
|
|
||||||
colamd_libs="libsuitesparseconfig.so"
|
|
||||||
klu_libs="libamd.so libbtf.so libcolamd.so"
|
|
||||||
rbio_libs="libsuitesparseconfig.so"
|
|
||||||
spqr_libs="libcholmod.so libsuitesparseconfig.so $blas_lib -llapack -lmetis"
|
|
||||||
umfpack_libs="libamd.so libcholmod.so libsuitesparseconfig.so $blas_lib -llapack -lmetis"
|
|
||||||
|
|
||||||
for dir in AMD BTF CAMD CCOLAMD COLAMD CHOLMOD CSparse CXSparse KLU LDL RBio SPQR UMFPACK; do
|
make MY_METIS_LIB="-lmetis" LAPACK="-llapack" BLAS="$blas_lib" TBB="-ltbb" CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" go
|
||||||
pushd $dir
|
chrpath -d lib/*.so.*.*
|
||||||
ver=$(grep -E "^VERSION =" Lib/Makefile | sed "s:VERSION = ::")
|
chrpath -d GraphBLAS/build/*.so
|
||||||
if [[ -z $ver ]] ; then
|
chrpath -d GraphBLAS/build/*.so.*.*
|
||||||
major=$(grep -oP "^\#define \w+_VER \d+" Include/*.h | sed -E "s:\#define [A-Z]+_VER ::")
|
|
||||||
minor=$(grep -oP "^\#define \w+_SUBVER \d+" Include/*.h | sed -E "s:\#define [A-Z]+_SUBVER ::")
|
|
||||||
patchlev=$(grep -oP "^\#define \w+_SUBSUB \d+" Include/*.h | sed -E "s:\#define [A-Z]+_SUBSUB ::")
|
|
||||||
ver="$major.$minor.$patchlev"
|
|
||||||
fi
|
|
||||||
make CFLAGS="%{optflags} -fPIC"
|
|
||||||
popd
|
|
||||||
pushd Lib
|
|
||||||
dir_l=$(echo "$dir" | tr "[A-Z]" "[a-z]")
|
|
||||||
linked_libs=${dir_l}_libs
|
|
||||||
gcc -shared -Wl,-soname -Wl,"lib${dir_l}-$ver.so" -o "lib${dir_l}-$ver.so" ../${dir}/Lib/*.o ${!linked_libs} -lm
|
|
||||||
ln -s "lib${dir_l}-$ver.so" "lib${dir_l}.so"
|
|
||||||
popd
|
|
||||||
done
|
|
||||||
|
|
||||||
# specialities
|
|
||||||
# -- CHOLMOD
|
|
||||||
pushd CHOLMOD
|
|
||||||
cp Cholesky/lesser.txt Doc/Cholesky_License.txt
|
|
||||||
cp Core/lesser.txt Doc/Core_License.txt
|
|
||||||
cp MatrixOps/gpl.txt Doc/MatrixOps_License.txt
|
|
||||||
cp Partition/lesser.txt Doc/Partition_License.txt
|
|
||||||
cp Supernodal/gpl.txt Doc/Supernodal_License.txt
|
|
||||||
popd
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
mkdir -p %{buildroot}%{_includedir}/%{name}
|
mkdir -p %{buildroot}%{_includedir}/%{name}
|
||||||
|
mkdir -p %{buildroot}%{_docdir}
|
||||||
mkdir -p %{buildroot}%{_libdir}
|
mkdir -p %{buildroot}%{_libdir}
|
||||||
mkdir -p %{buildroot}%{_docdir}/%{name}
|
|
||||||
mkdir -p %{buildroot}%{_docdir}/%{name}-devel
|
|
||||||
cp -a SuiteSparse_config/SuiteSparse_config.h %{buildroot}%{_includedir}/%{name}
|
|
||||||
cp -a README.txt %{buildroot}%{_docdir}/%{name}
|
|
||||||
cp -a Lib/*.so* %{buildroot}/%{_libdir}
|
|
||||||
for dir in AMD BTF CAMD CCOLAMD CHOLMOD COLAMD CSparse CXSparse KLU LDL RBio SPQR UMFPACK; do
|
|
||||||
pushd $dir
|
|
||||||
ver=$(grep -E "^VERSION =" Lib/Makefile | sed "s:VERSION = ::")
|
|
||||||
if [[ -z $ver ]] ; then
|
|
||||||
major=$(grep -oP "^\#define \w+_VER \d+" Include/*.h | sed -E "s:\#define [A-Z]+_VER ::")
|
|
||||||
minor=$(grep -oP "^\#define \w+_SUBVER \d+" Include/*.h | sed -E "s:\#define [A-Z]+_SUBVER ::")
|
|
||||||
patchlev=$(grep -oP "^\#define \w+_SUBSUB \d+" Include/*.h | sed -E "s:\#define [A-Z]+_SUBSUB ::")
|
|
||||||
ver="$major.$minor.$patchlev"
|
|
||||||
fi
|
|
||||||
cp -a Lib/*.a %{buildroot}/%{_libdir}
|
|
||||||
cp -a Include/*\.h %{buildroot}%{_includedir}/%{name}
|
|
||||||
if ls Include/*\.hpp 1> /dev/null 2>&1; then
|
|
||||||
cp -a Include/*\.hpp %{buildroot}%{_includedir}/%{name}
|
|
||||||
fi
|
|
||||||
mkdir %{buildroot}%{_docdir}/%{name}/$dir-$ver
|
|
||||||
mkdir %{buildroot}%{_docdir}/%{name}-devel/$dir
|
|
||||||
cp -a README.txt Doc/{License,ChangeLog,*.txt} %{buildroot}%{_docdir}/%{name}/$dir-$ver > /dev/null 2>&1 | true
|
|
||||||
cp -a $dir/Doc/*.pdf %{buildroot}%{_docdir}/%{name}-devel/$dir > /dev/null 2>&1 | true
|
|
||||||
popd
|
|
||||||
done
|
|
||||||
|
|
||||||
cp -r SuiteSparse_config/*.a %{buildroot}%{_libdir}
|
cp -Pt %{buildroot}%{_libdir} */Lib/*.a
|
||||||
mkdir %{buildroot}%{_docdir}/%{name}/SuiteSparse_config-%{configver}/
|
cp -Pt %{buildroot}%{_libdir} lib/*
|
||||||
cp -r SuiteSparse_config/README.txt %{buildroot}%{_docdir}/%{name}/SuiteSparse_config-%{configver}/
|
cp -Pt %{buildroot}%{_libdir} GraphBLAS/build/*.so
|
||||||
|
cp -Pt %{buildroot}%{_libdir} GraphBLAS/build/*.so.*
|
||||||
|
cp -Pt %{buildroot}%{_includedir}/%{name} include/*
|
||||||
|
cp -Pt %{buildroot}%{_includedir}/%{name} GraphBLAS/Include/*.h
|
||||||
|
cp -Prt %{buildroot}%{_docdir} share/doc/*
|
||||||
|
|
||||||
|
%if 0%{?sle_version} > 120300
|
||||||
|
cp -Pt %{buildroot}%{_libdir} GraphBLAS/build/*.a
|
||||||
|
%endif
|
||||||
|
|
||||||
%check
|
%check
|
||||||
amd_test_symbol="amd_postorder"
|
amd_test_symbol="amd_postorder"
|
||||||
@ -571,6 +579,7 @@ for test_library in amd btf camd ccolamd colamd cholmod csparse cxsparse klu ldl
|
|||||||
cp linking_test.c.in linking_test.c
|
cp linking_test.c.in linking_test.c
|
||||||
test_symbol=${test_library}_test_symbol
|
test_symbol=${test_library}_test_symbol
|
||||||
sed -i "s|@test_symbol@|${!test_symbol}|" linking_test.c
|
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}
|
gcc -o linking_test linking_test.c -L%{buildroot}%{_libdir} -l${test_library}
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -600,6 +609,9 @@ popd
|
|||||||
%post -n %{cxsparselib} -p /sbin/ldconfig
|
%post -n %{cxsparselib} -p /sbin/ldconfig
|
||||||
%postun -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
|
%post -n %{klulib} -p /sbin/ldconfig
|
||||||
%postun -n %{klulib} -p /sbin/ldconfig
|
%postun -n %{klulib} -p /sbin/ldconfig
|
||||||
|
|
||||||
@ -620,99 +632,123 @@ popd
|
|||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_includedir}/%{name}
|
%doc ChangeLog README.txt
|
||||||
%{_libdir}/lib*.so
|
%license LICENSE.txt
|
||||||
%exclude %{_libdir}/lib*-*.so
|
%{_docdir}/%{name}-%{version}
|
||||||
%{_docdir}/%{name}-devel
|
%{_libdir}/*.so
|
||||||
%dir %{_docdir}/%{name}
|
%{_includedir}/%{name}/
|
||||||
%{_docdir}/%{name}/README.txt
|
|
||||||
|
|
||||||
%files devel-static
|
%files devel-static
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_libdir}/lib*.a
|
%doc ChangeLog README.txt
|
||||||
|
%license LICENSE.txt
|
||||||
|
%{_libdir}/*.a
|
||||||
|
|
||||||
|
|
||||||
%files -n %{amdlib}
|
%files -n %{amdlib}
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_libdir}/libamd-%{amdver}.so
|
%doc AMD/README.txt
|
||||||
%dir %{_docdir}/%{name}
|
%doc AMD/Doc/AMD_UserGuide.pdf AMD/Doc/ChangeLog
|
||||||
%{_docdir}/%{name}/AMD-%{amdver}
|
%license AMD/Doc/License.txt AMD/Doc/lesser.txt
|
||||||
|
%{_libdir}/libamd.so.*
|
||||||
|
|
||||||
%files -n %{btflib}
|
%files -n %{btflib}
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_libdir}/libbtf-%{btfver}.so
|
%doc BTF/README.txt
|
||||||
%dir %{_docdir}/%{name}
|
%doc BTF/Doc/ChangeLog
|
||||||
%{_docdir}/%{name}/BTF-%{btfver}
|
%license BTF/Doc/License.txt BTF/Doc/lesser.txt
|
||||||
|
%{_libdir}/libbtf.so.*
|
||||||
|
|
||||||
%files -n %{camdlib}
|
%files -n %{camdlib}
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_libdir}/libcamd-%{camdver}.so
|
%doc CAMD/README.txt
|
||||||
%dir %{_docdir}/%{name}
|
%doc CAMD/Doc/CAMD_UserGuide.pdf CAMD/Doc/ChangeLog
|
||||||
%{_docdir}/%{name}/CAMD-%{camdver}
|
%license CAMD/Doc/License.txt CAMD/Doc/lesser.txt
|
||||||
|
%{_libdir}/libcamd.so.*
|
||||||
|
|
||||||
%files -n %{ccolamdlib}
|
%files -n %{ccolamdlib}
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_libdir}/libccolamd-%{ccolamdver}.so
|
%doc CCOLAMD/README.txt
|
||||||
%dir %{_docdir}/%{name}
|
%doc CCOLAMD/Doc/ChangeLog
|
||||||
%{_docdir}/%{name}/CCOLAMD-%{ccolamdver}
|
%license CCOLAMD/Doc/License.txt CCOLAMD/Doc/lesser.txt
|
||||||
|
%{_libdir}/libccolamd.so.*
|
||||||
|
|
||||||
%files -n %{cholmodlib}
|
%files -n %{cholmodlib}
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_libdir}/libcholmod-%{cholmodver}.so
|
%doc CHOLMOD/README.txt
|
||||||
%dir %{_docdir}/%{name}
|
%doc CHOLMOD/Doc/CHOLMOD_UserGuide.pdf
|
||||||
%{_docdir}/%{name}/CHOLMOD-%{cholmodver}
|
%license CHOLMOD/Doc/ChangeLog CHOLMOD/Doc/License.txt
|
||||||
|
%license CHOLMOD/Cholesky/lesser.txt
|
||||||
|
%license CHOLMOD/MatrixOps/gpl.txt
|
||||||
|
%{_libdir}/libcholmod.so.*
|
||||||
|
|
||||||
%files -n %{colamdlib}
|
%files -n %{colamdlib}
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_libdir}/libcolamd-%{colamdver}.so
|
%doc COLAMD/README.txt
|
||||||
%dir %{_docdir}/%{name}
|
%doc COLAMD/Doc/ChangeLog
|
||||||
%{_docdir}/%{name}/COLAMD-%{colamdver}
|
%license COLAMD/Doc/License.txt COLAMD/Doc/lesser.txt
|
||||||
|
%{_libdir}/libcolamd.so.*
|
||||||
|
|
||||||
%files -n %{csparselib}
|
%files -n %{csparselib}
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_libdir}/libcsparse-%{csparsever}.so
|
%doc CSparse/README.txt
|
||||||
%dir %{_docdir}/%{name}
|
%doc CSparse/Doc/ChangeLog
|
||||||
%{_docdir}/%{name}/CSparse-%{csparsever}
|
%license CSparse/Doc/License.txt CSparse/Doc/lesser.txt
|
||||||
|
%{_libdir}/libcsparse.so.*
|
||||||
|
|
||||||
%files -n %{cxsparselib}
|
%files -n %{cxsparselib}
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_libdir}/libcxsparse-%{cxsparsever}.so
|
%doc CXSparse/README.txt
|
||||||
%dir %{_docdir}/%{name}
|
%doc CXSparse/Doc/ChangeLog
|
||||||
%{_docdir}/%{name}/CXSparse-%{cxsparsever}
|
%license CXSparse/Doc/License.txt CXSparse/Doc/lesser.txt
|
||||||
|
%{_libdir}/libcxsparse.so.*
|
||||||
|
|
||||||
|
%files -n %{graphblaslib}
|
||||||
|
%defattr(-, root, root)
|
||||||
|
%doc GraphBLAS/README.txt
|
||||||
|
%doc GraphBLAS/Doc/GraphBLAS_UserGuide.pdf
|
||||||
|
%license GraphBLAS/Doc/ChangeLog GraphBLAS/Doc/License.txt
|
||||||
|
%{_libdir}/libgraphblas.so.*
|
||||||
|
|
||||||
%files -n %{klulib}
|
%files -n %{klulib}
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_libdir}/libklu-%{kluver}.so
|
%doc KLU/README.txt
|
||||||
%dir %{_docdir}/%{name}
|
%doc KLU/Doc/KLU_UserGuide.pdf KLU/Doc/ChangeLog
|
||||||
%{_docdir}/%{name}/KLU-%{kluver}
|
%license KLU/Doc/License.txt KLU/Doc/lesser.txt
|
||||||
|
%{_libdir}/libklu.so.*
|
||||||
|
|
||||||
%files -n %{ldllib}
|
%files -n %{ldllib}
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_libdir}/libldl-%{ldlver}.so
|
%doc LDL/README.txt
|
||||||
%dir %{_docdir}/%{name}
|
%doc LDL/Doc/ldl_userguide.pdf LDL/Doc/ChangeLog
|
||||||
%{_docdir}/%{name}/LDL-%{ldlver}
|
%license LDL/Doc/License.txt LDL/Doc/lesser.txt
|
||||||
|
%{_libdir}/libldl.so.*
|
||||||
|
|
||||||
%files -n %{rbiolib}
|
%files -n %{rbiolib}
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_libdir}/librbio-%{rbiover}.so
|
%doc RBio/README.txt
|
||||||
%dir %{_docdir}/%{name}
|
%doc RBio/Doc/ChangeLog
|
||||||
%{_docdir}/%{name}/RBio-%{rbiover}
|
%license RBio/Doc/License.txt RBio/Doc/gpl.txt
|
||||||
|
%{_libdir}/librbio.so.*
|
||||||
|
|
||||||
%files -n %{spqrlib}
|
%files -n %{spqrlib}
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_libdir}/libspqr-%{spqrver}.so
|
%doc SPQR/README.txt
|
||||||
%dir %{_docdir}/%{name}
|
%doc SPQR/Doc/spqr_user_guide.pdf SPQR/Doc/ChangeLog SPQR/Doc/README_2.txt
|
||||||
%{_docdir}/%{name}/SPQR-%{spqrver}
|
%license SPQR/Doc/License.txt SPQR/Doc/gpl.txt
|
||||||
|
%{_libdir}/libspqr.so.*
|
||||||
|
|
||||||
%files -n %{umfpacklib}
|
%files -n %{umfpacklib}
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_libdir}/libumfpack-%{umfpackver}.so
|
%doc UMFPACK/README.txt
|
||||||
%dir %{_docdir}/%{name}
|
%doc UMFPACK/Doc/UMFPACK_QuickStart.pdf UMFPACK/Doc/UMFPACK_UserGuide.pdf UMFPACK/Doc/ChangeLog
|
||||||
%{_docdir}/%{name}/UMFPACK-%{umfpackver}
|
%license UMFPACK/Doc/License.txt UMFPACK/Doc/gpl.txt
|
||||||
|
%{_libdir}/libumfpack.so.*
|
||||||
|
|
||||||
%files -n %{configlib}
|
%files -n %{configlib}
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_libdir}/libsuitesparseconfig-%{configver}.so
|
%doc share/doc/*/SUITESPARSECONFIG_README.txt
|
||||||
%dir %{_docdir}/%{name}
|
%license LICENSE.txt
|
||||||
%{_docdir}/%{name}/SuiteSparse_config-%{configver}
|
%{_libdir}/libsuitesparseconfig.so.*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
Loading…
x
Reference in New Issue
Block a user