From 5543094f6c1c3a5bc8caee1ed0c5b00547f3b2e6 Mon Sep 17 00:00:00 2001 From: Christoph Willing Date: Thu, 14 Feb 2019 14:54:31 +1000 Subject: academic/suitesparse: Updated for version 5.4.0 Signed-off-by: Christoph Willing --- academic/suitesparse/README | 22 ++++++---------------- academic/suitesparse/slack-desc | 2 +- academic/suitesparse/suitesparse.SlackBuild | 26 ++++++++++++++++---------- academic/suitesparse/suitesparse.info | 8 ++++---- 4 files changed, 27 insertions(+), 31 deletions(-) (limited to 'academic') diff --git a/academic/suitesparse/README b/academic/suitesparse/README index d4f385acca..7eb56aa16e 100644 --- a/academic/suitesparse/README +++ b/academic/suitesparse/README @@ -2,37 +2,27 @@ suitesparse is a collection of libraries for computations involving sparse matrices. The package includes the following libraries: AMD: approximate minimum degree ordering. -BTF: permutation to block triangular form (beta). CAMD: constrained approximate minimum degree ordering. COLAMD: column approximate minimum degree ordering. CCOLAMD: constrained column approximate minimum degree ordering. CHOLMOD: sparse Cholesky factorization. CXSparse: CSparse extended: complex matrix, int and long int support. -KLU: sparse LU factorization, primarily for circuit simulation. +KLU & BTF: sparse LU factorization, primarily for circuit simulation. LDL: a simple LDL^t factorization. SQPR: a multithread, multifrontal, rank-revealing sparse QR factorization method. UMFPACK: sparse LU factorization. -SuiteSparse_config: configuration file for all the above packages. RBio: read/write files in Rutherford/Boeing format. +GraphBLAS: graph algorithms in the language of linear algebra +Mongoose: graph partitioning +ssget: MATLAB and Java interface to the SuiteSparse Matrix Collection Suitesparse is an optional dependency for the octave package. -NOTES: - -* CHOLMOD is now compiled to use the METIS library. It was not -used previously because the licensing terms of earlier METIS -versions excluded it from Octave in some circumstances. Recent -versions of METIS now use the Apache License Version 2.0 and -should cause no problems. However if it is still desired to -build CHOLMOD without METIS, set the USEMETIS environment -variable to "no" when running the SlackBuild e.g. - USEMETIS=no sh suitesparse.SlackBuild - -* CXSparse is a superset of CSparse, and the two share common header +CXSparse is a superset of CSparse, and the two share common header names, so it does not make sense to build both. CXSparse is built by default. -* SlackBuilds.org also has all the parts of this suite as individual +SlackBuilds.org also has all the parts of this suite as individual builds - DO NOT try and install the individual parts and the suite; pick one or the other. diff --git a/academic/suitesparse/slack-desc b/academic/suitesparse/slack-desc index bdb991235e..657aa8db4a 100644 --- a/academic/suitesparse/slack-desc +++ b/academic/suitesparse/slack-desc @@ -11,7 +11,7 @@ suitesparse: suitesparse: suitesparse is a collection of libraries for computations involving suitesparse: sparse matrices. The package includes the following libraries: suitesparse: AMD, BTF, CAMD, COLAMD, CCOLAMD, CHOLMOD, CXSparse, KLU, LDL, -suitesparse: SQPR, UMFPACK. +suitesparse: SQPR, UMFPACK, GraphBLAS, Mongoose. suitesparse: suitesparse: suitesparse: diff --git a/academic/suitesparse/suitesparse.SlackBuild b/academic/suitesparse/suitesparse.SlackBuild index 27775d04d1..335456c32f 100644 --- a/academic/suitesparse/suitesparse.SlackBuild +++ b/academic/suitesparse/suitesparse.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for suitesparse -# Copyright 2017,2018 Christoph Willing, Brisbane Australia +# Copyright 2017-2019 Christoph Willing, Brisbane Australia # All rights reserved. # Thanks to Pablo Santamaria for previous versions # @@ -25,7 +25,7 @@ PRGNAM=suitesparse SRCNAM=SuiteSparse -VERSION=${VERSION:-5.3.0} +VERSION=${VERSION:-5.4.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -57,8 +57,6 @@ else LIBDIRSUFFIX="" fi -metis="" ; [ "${USEMETIS:-yes}" != "yes" ] && metis="CHOLMOD_CONFIG=-DNPARTITION" - set -e rm -rf $PKG @@ -78,17 +76,25 @@ mkdir -p $PKG/usr/include/suitesparse mkdir -p $PKG/usr/lib$LIBDIRSUFFIX mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +make make install \ - MY_METIS_INC=/usr/include/metis MY_METIS_LIB=/usr/lib$LIBDIRSUFFIX/libmetis.so BLAS=-lblas \ - $metis \ - INSTALL_INCLUDE=$PKG/usr/include/suitesparse INSTALL_LIB=$PKG/usr/lib$LIBDIRSUFFIX \ - INSTALL_DOC=$PKG/usr/doc/$PRGNAM-$VERSION -chrpath --replace /usr/lib$LIBDIRSUFFIX $PKG/usr/lib$LIBDIRSUFFIX/* + INSTALL_INCLUDE=$PKG/usr/include/suitesparse \ + INSTALL_LIB=$PKG/usr/lib$LIBDIRSUFFIX \ + INSTALL_DOC=$PKG/usr/doc/$PRGNAM-$VERSION + +# Check that each library already has an rpath before attempting to modify it +# (libmetis.so does not, causing `chrpath --replace` to fail) +for l in $PKG/usr/lib${LIBDIRSUFFIX}/* +do + if chrpath -l $l ; then + chrpath --replace /usr/lib$LIBDIRSUFFIX $l + fi +done find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true -cp -a LICENSE.txt $PKG/usr/doc/$PRGNAM-$VERSION +cp -a LICENSE.txt CONTRIBUTOR-LICENSE.txt README.txt $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install diff --git a/academic/suitesparse/suitesparse.info b/academic/suitesparse/suitesparse.info index 17769f9f56..9e33539498 100644 --- a/academic/suitesparse/suitesparse.info +++ b/academic/suitesparse/suitesparse.info @@ -1,10 +1,10 @@ PRGNAM="suitesparse" -VERSION="5.3.0" +VERSION="5.4.0" HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html" -DOWNLOAD="http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-5.3.0.tar.gz" -MD5SUM="d638a4369f3df0ca9e64b019af658a38" +DOWNLOAD="http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-5.4.0.tar.gz" +MD5SUM="4a6d4e74fc44c503f52996ae95cad03a" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="lapack metis chrpath" +REQUIRES="lapack OpenBLAS chrpath" MAINTAINER="Christoph Willing" EMAIL="chris.willing@linux.com" -- cgit v1.2.3