| |
@@ -1,15 +1,3 @@
|
| |
- %if 0%{?fedora} >= 21 || 0%{?rhel} >= 7
|
| |
- %bcond_without atlas310
|
| |
- %else
|
| |
- %bcond_with atlas310
|
| |
- %endif
|
| |
-
|
| |
- %if %{with atlas310}
|
| |
- %global atlaslibs -lsatlas
|
| |
- %else
|
| |
- %global atlaslibs -lcblas -llapack
|
| |
- %endif
|
| |
-
|
| |
%global amd_version 2.4.1
|
| |
%global amd_version_major 2
|
| |
%global btf_version 1.2.1
|
| |
@@ -50,7 +38,7 @@
|
| |
|
| |
Name: suitesparse
|
| |
Version: 4.4.6
|
| |
- Release: 13%{?dist}
|
| |
+ Release: 14%{?dist}
|
| |
Summary: A collection of sparse matrix libraries
|
| |
|
| |
Group: System Environment/Libraries
|
| |
@@ -61,11 +49,7 @@
|
| |
BuildRequires: gcc
|
| |
BuildRequires: gcc-c++
|
| |
|
| |
- %if %{with atlas310}
|
| |
- BuildRequires: atlas-devel >= 3.10
|
| |
- %else
|
| |
- BuildRequires: atlas-devel
|
| |
- %endif
|
| |
+ BuildRequires: openblas-devel
|
| |
BuildRequires: tbb-devel
|
| |
BuildRequires: hardlink
|
| |
|
| |
@@ -137,12 +121,15 @@
|
| |
rm -f ${fil}.orig
|
| |
done
|
| |
|
| |
+ # drop non-standard -O3 and duplicate -fexceptions from default CFLAGS
|
| |
+ sed -i -e '/^ CF =/ s/ -O3 -fexceptions//' SuiteSparse_config/SuiteSparse_config.mk
|
| |
+
|
| |
%build
|
| |
mkdir -p Doc/{AMD,BTF,CAMD,CCOLAMD,CHOLMOD,COLAMD,KLU,LDL,UMFPACK,SPQR,RBio} Lib Include
|
| |
|
| |
# SuiteSparse_config needs to come first
|
| |
pushd SuiteSparse_config
|
| |
- make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
| |
+ make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
|
| |
ar x libsuitesparseconfig.a
|
| |
pushd ../Lib
|
| |
gcc -shared %{?__global_ldflags} -Wl,-soname,libsuitesparseconfig.so.%{SuiteSparse_config_major} -o \
|
| |
@@ -156,7 +143,7 @@
|
| |
|
| |
pushd AMD
|
| |
pushd Lib
|
| |
- make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
| |
+ make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
|
| |
popd
|
| |
pushd ../Lib
|
| |
gcc -shared %{?__global_ldflags} -Wl,-soname,libamd.so.%{amd_version_major} -o \
|
| |
@@ -172,7 +159,7 @@
|
| |
|
| |
pushd BTF
|
| |
pushd Lib
|
| |
- make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
| |
+ make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
|
| |
popd
|
| |
pushd ../Lib
|
| |
gcc -shared %{?__global_ldflags} -Wl,-soname,libbtf.so.%{btf_version_major} -o \
|
| |
@@ -187,7 +174,7 @@
|
| |
|
| |
pushd CAMD
|
| |
pushd Lib
|
| |
- make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
| |
+ make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
|
| |
popd
|
| |
pushd ../Lib
|
| |
gcc -shared %{?__global_ldflags} -Wl,-soname,libcamd.so.%{camd_version_major} -o \
|
| |
@@ -203,7 +190,7 @@
|
| |
|
| |
pushd CCOLAMD
|
| |
pushd Lib
|
| |
- make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
| |
+ make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
|
| |
popd
|
| |
pushd ../Lib
|
| |
gcc -shared %{?__global_ldflags} -Wl,-soname,libccolamd.so.%{ccolamd_version_major} -o \
|
| |
@@ -219,7 +206,7 @@
|
| |
|
| |
pushd COLAMD
|
| |
pushd Lib
|
| |
- make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
| |
+ make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
|
| |
popd
|
| |
pushd ../Lib
|
| |
gcc -shared %{?__global_ldflags} -Wl,-soname,libcolamd.so.%{colamd_version_major} -o \
|
| |
@@ -234,18 +221,18 @@
|
| |
popd
|
| |
|
| |
%if "%{?enable_metis}" == "1"
|
| |
- CHOLMOD_FLAGS="$RPM_OPT_FLAGS -I%{_includedir}/metis -fPIC"
|
| |
+ CHOLMOD_FLAGS="$RPM_OPT_FLAGS -I%{_includedir}/metis"
|
| |
%else
|
| |
- CHOLMOD_FLAGS="$RPM_OPT_FLAGS -DNPARTITION -fPIC"
|
| |
+ CHOLMOD_FLAGS="$RPM_OPT_FLAGS -DNPARTITION"
|
| |
%endif
|
| |
pushd CHOLMOD
|
| |
pushd Lib
|
| |
- make CFLAGS="$CHOLMOD_FLAGS"
|
| |
+ make CFLAGS="$CHOLMOD_FLAGS" %{?_smp_mflags}
|
| |
popd
|
| |
pushd ../Lib
|
| |
gcc -shared %{?__global_ldflags} -Wl,-soname,libcholmod.so.%{cholmod_version_major} -o \
|
| |
libcholmod.so.%{cholmod_version} ../CHOLMOD/Lib/*.o \
|
| |
- -L%{_libdir}/atlas %{atlaslibs} \
|
| |
+ -lopenblas \
|
| |
libamd.so.%{amd_version_major} \
|
| |
libcamd.so.%{camd_version_major} libcolamd.so.%{colamd_version_major} \
|
| |
libccolamd.so.%{ccolamd_version_major} \
|
| |
@@ -266,7 +253,7 @@
|
| |
%if "%{?enable_csparse}" == "1"
|
| |
pushd CSparse
|
| |
pushd Source
|
| |
- make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
| |
+ make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
|
| |
cp -p cs.h ../../Include
|
| |
popd
|
| |
pushd ../Lib
|
| |
@@ -283,7 +270,7 @@
|
| |
%else
|
| |
pushd CXSparse
|
| |
pushd Lib
|
| |
- make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
| |
+ make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
|
| |
popd
|
| |
pushd ../Lib
|
| |
gcc -shared %{?__global_ldflags} -Wl,-soname,libcxsparse.so.%{cxsparse_version_major} -o \
|
| |
@@ -300,7 +287,7 @@
|
| |
|
| |
pushd KLU
|
| |
pushd Lib
|
| |
- make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
| |
+ make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
|
| |
popd
|
| |
pushd ../Lib
|
| |
gcc -shared %{?__global_ldflags} -Wl,-soname,libklu.so.%{klu_version_major} -o \
|
| |
@@ -318,7 +305,7 @@
|
| |
|
| |
pushd LDL
|
| |
pushd Lib
|
| |
- make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
| |
+ make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
|
| |
popd
|
| |
pushd ../Lib
|
| |
gcc -shared %{?__global_ldflags} -Wl,-soname,libldl.so.%{ldl_version_major} -o \
|
| |
@@ -333,12 +320,12 @@
|
| |
|
| |
pushd UMFPACK
|
| |
pushd Lib
|
| |
- make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
| |
+ make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
|
| |
popd
|
| |
pushd ../Lib
|
| |
gcc -shared %{?__global_ldflags} -Wl,-soname,libumfpack.so.%{umfpack_version_major} -o \
|
| |
libumfpack.so.%{umfpack_version} ../UMFPACK/Lib/*.o \
|
| |
- -L%{_libdir}/atlas %{atlaslibs} \
|
| |
+ -lopenblas \
|
| |
libamd.so.%{amd_version_major} \
|
| |
libcholmod.so.%{cholmod_version_major} \
|
| |
libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm
|
| |
@@ -352,12 +339,12 @@
|
| |
|
| |
pushd SPQR
|
| |
pushd Lib
|
| |
- make CFLAGS="$RPM_OPT_FLAGS -DHAVE_TBB -DNPARTITION -fPIC"
|
| |
+ make CFLAGS="$RPM_OPT_FLAGS -DHAVE_TBB -DNPARTITION" %{?_smp_mflags}
|
| |
popd
|
| |
pushd ../Lib
|
| |
g++ -shared %{?__global_ldflags} -Wl,-soname,libspqr.so.%{spqr_version_major} -o \
|
| |
libspqr.so.%{spqr_version} ../SPQR/Lib/*.o \
|
| |
- -L%{_libdir}/atlas -L%{_libdir} %{atlaslibs} \
|
| |
+ -lopenblas \
|
| |
-ltbb \
|
| |
libcholmod.so.%{cholmod_version_major} \
|
| |
libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm
|
| |
@@ -372,7 +359,7 @@
|
| |
|
| |
pushd RBio
|
| |
pushd Lib
|
| |
- make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
| |
+ make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
|
| |
popd
|
| |
pushd ../Lib
|
| |
gcc -shared %{?__global_ldflags} -Wl,-soname,librbio.so.%{rbio_version_major} -o \
|
| |
@@ -415,10 +402,16 @@
|
| |
# hardlink duplicate documentation files
|
| |
hardlink -cv Docs/ Licenses/
|
| |
|
| |
- %post -p /sbin/ldconfig
|
| |
-
|
| |
- %postun -p /sbin/ldconfig
|
| |
-
|
| |
+ %check
|
| |
+ TESTDIRS="AMD CAMD CCOLAMD CHOLMOD COLAMD KLU LDL SPQR RBio UMFPACK"
|
| |
+ %if "%{?enable_csparse}" == "1"
|
| |
+ TESTDIRS="$TESTDIRS CSparse"
|
| |
+ %else
|
| |
+ TESTDIRS="$TESTDIRS CXSparse"
|
| |
+ %endif
|
| |
+ for d in $TESTDIRS ; do
|
| |
+ make -C $d/Demo CFLAGS="$RPM_OPT_FLAGS" LAPACK="" SPQR_CONFIG=-DHAVE_TBB TBB=-ltbb
|
| |
+ done
|
| |
|
| |
%files
|
| |
%license Licenses
|
| |
@@ -435,6 +428,13 @@
|
| |
%doc Doc/*
|
| |
|
| |
%changelog
|
| |
+ * Mon Jul 16 2018 Dominik Mierzejewski <rpm@greysector.net> - 4.4.6-14
|
| |
+ - use openblas instead of atlas (#1506933)
|
| |
+ - enable parallel make for faster builds and drop duplicate -fPIC
|
| |
+ - drop non-standard -O3 and duplicate -fexceptions from default CFLAGS
|
| |
+ - build and run demos in check section
|
| |
+ - drop redundant ldconfig scriptlets
|
| |
+
|
| |
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.6-13
|
| |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
| |
|
| |
koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=28361088