#1 use openblas instead of atlas, run demos in %check and do some clean-ups
Merged 5 years ago by rathann. Opened 5 years ago by rathann.
Unknown source master  into  master

file modified
+41 -41
@@ -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

  

Looks good to me, any objections?

Pull-Request has been merged by rathann

5 years ago