From owner-dev-commits-ports-main@freebsd.org Tue May 25 10:13:33 2021 Return-Path: Delivered-To: dev-commits-ports-main@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 405E864983C; Tue, 25 May 2021 10:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Fq8zx1MNJz4Z0d; Tue, 25 May 2021 10:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 171161BC4A; Tue, 25 May 2021 10:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 14PADXZD000928; Tue, 25 May 2021 10:13:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 14PADXlq000927; Tue, 25 May 2021 10:13:33 GMT (envelope-from git) Date: Tue, 25 May 2021 10:13:33 GMT Message-Id: <202105251013.14PADXlq000927@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Thierry Thomas Subject: git: 59ee4a9e3aee - main - math/suitesparse: transform into a meta-port MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: thierry X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 59ee4a9e3aee6046922f4d2fa9038f5355b9428e Auto-Submitted: auto-generated X-BeenThere: dev-commits-ports-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commits to the main branch of the FreeBSD ports repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 May 2021 10:13:33 -0000 The branch main has been updated by thierry: URL: https://cgit.FreeBSD.org/ports/commit/?id=59ee4a9e3aee6046922f4d2fa9038f5355b9428e commit 59ee4a9e3aee6046922f4d2fa9038f5355b9428e Author: Thierry Thomas AuthorDate: 2021-05-24 16:26:05 +0000 Commit: Thierry Thomas CommitDate: 2021-05-25 10:00:02 +0000 math/suitesparse: transform into a meta-port Advantages of this modularization: . much parallelization during the build . no need to rebuild every module for each update . define each license . only the needed package may be installed Also adding an option to disable the optimization. --- math/suitesparse/Makefile | 108 ++++++--------------------- math/suitesparse/bsd.suitesparse.mk | 136 ++++++++++++++++++++++++++++++++++ math/suitesparse/distinfo | 6 +- math/suitesparse/pkg-descr | 4 +- math/suitesparse/pkg-plist | 142 ------------------------------------ 5 files changed, 163 insertions(+), 233 deletions(-) diff --git a/math/suitesparse/Makefile b/math/suitesparse/Makefile index 4b288536795d..2ac859a1ccb8 100644 --- a/math/suitesparse/Makefile +++ b/math/suitesparse/Makefile @@ -2,99 +2,33 @@ PORTNAME= suitesparse PORTVERSION= 5.10.0 -DISTVERSIONPREFIX= v +PORTREVISION= 1 CATEGORIES= math MAINTAINER= fortran@FreeBSD.org COMMENT= Set of packages for sparse matrix calculation -LICENSE= GPLv2 LGPL21 -LICENSE_COMB= dual - -LIB_DEPENDS= libgmp.so:math/gmp \ - libmpfr.so:math/mpfr \ - libmetis.so:math/metis - -USE_GITHUB= yes -GH_ACCOUNT= DrTimothyAldenDavis -GH_PROJECT= SuiteSparse - -USES= cmake:insource fortran gmake localbase:ldflags -USE_LDCONFIG= yes -INSTALL_TARGET= install # skip USES=cmake -MAKE_ENV= BLAS="${BLASLIB}" LAPACK="${LAPACKLIB}" \ - MY_METIS_LIB="-lmetis" \ - JOBS="${MAKE_JOBS_NUMBER}" \ - CMAKE_OPTIONS='${CMAKE_ARGS}' \ - INSTALL="${STAGEDIR}${PREFIX}" \ - INSTALL_DOC="${STAGEDIR}${DOCSDIR}" \ - INSTALL_INCLUDE="${STAGEDIR}${PREFIX}/include/${PORTNAME}" -CMAKE_ARGS= -DCMAKE_INSTALL_INCLUDEDIR:PATH="include/${PORTNAME}" \ - -DBUILD_GRB_STATIC_LIBRARY:BOOL=ON -LDFLAGS+= -L${WRKSRC}/lib # prevent linking with shared libs from the preinstalled older versions - -CONFLICTS_INSTALL= mongoose plinkseq # bin/mongoose - -OPTIONS_DEFINE= DEMOS DOCS OPENMP # TBB -OPTIONS_EXCLUDE_aarch64= OPENMP -OPTIONS_RADIO= BLAS -OPTIONS_RADIO_BLAS= ATLAS GOTOBLAS NETLIB OPENBLAS -OPTIONS_DEFAULT= OPENBLAS OPENMP # TBB - -ATLAS_USES= blaslapack:atlas -GOTOBLAS_DESC= Goto blas implementation -GOTOBLAS_USES= blaslapack:gotoblas -NETLIB_USES= blaslapack:netlib -OPENBLAS_USES= blaslapack:openblas - -OPENMP_MAKE_ENV_OFF= CFOPENMP= -.if !exists(/usr/include/omp.h) -# XXX ports/199603: LLVM openmp in base doesn't support armv6, armv7 yet -OPENMP_VARS= OPENMP=gcc- +LICENSE= GPLv2+ + +RUN_DEPENDS= suitesparse-AMD>0:math/suitesparse-amd \ + suitesparse-BTF>0:math/suitesparse-btf \ + suitesparse-CCOLAMD>0:math/suitesparse-ccolamd \ + suitesparse-CHOLMOD>0:math/suitesparse-cholmod \ + suitesparse-COLAMD>0:math/suitesparse-colamd \ + suitesparse-config>0:math/suitesparse-config \ + suitesparse-CXSparse>0:math/suitesparse-cxsparse \ + suitesparse-GraphBLAS>0:math/suitesparse-graphblas \ + suitesparse-KLU>0:math/suitesparse-klu \ + suitesparse-LDL>0:math/suitesparse-ldl \ + suitesparse-Mongoose>0:math/suitesparse-mongoose \ + suitesparse-RBio>0:math/suitesparse-rbio \ + suitesparse-SLIP_LU>0:math/suitesparse-slip_lu \ + suitesparse-SPQR>0:math/suitesparse-spqr \ + suitesparse-UMFPACK>0:math/suitesparse-umfpack +.if !defined(PACKAGE_BUILDING) +RUN_DEPENDS+= suitesparse-CSparse>0:math/suitesparse-csparse .endif -DEMOS_DESC= Install the demonstrations -DEMOS_ALL_TARGET= go -DEMOS_ALL_TARGET_OFF= library - -TBB_DESC= Intel threading building blocks -TBB_LIB_DEPENDS= libtbb.so:devel/tbb -TBB_MAKE_ENV= TBB="-ltbb" SPQR_CONFIG="-DHAVE_TBB" -# See https://github.com/DrTimothyAldenDavis/SuiteSparse/issues/72 -TBB_BROKEN= oneTBB doesn't provide tbb/task_scheduler_init.h any more, see PR 252651 - -MODULES= AMD CAMD CCOLAMD CHOLMOD COLAMD CSparse CXSparse_newfiles \ - CXSparse GPUQREngine KLU LDL RBio SPQR UMFPACK - -.include - -.if ${ARCH} == i386 -# See PR 230888 : Missing 64 bit atomic functions for i386 -USE_GCC= yes -LDFLAGS+= -latomic -.elif defined(PPC_ABI) && ${PPC_ABI} == ELFv1 -USE_GCC= yes -.else -USES+= compiler:c++11-lib -.endif - -post-extract: - ${RM} -r ${WRKSRC}/metis-* - -post-patch-OPENMP-off: - @${REINPLACE_CMD} -e '/find_package.*OpenMP/d' \ - ${WRKSRC}/GraphBLAS/CMakeLists.txt - -pre-configure: -.for m in ${MODULES} - ${REINPLACE_CMD} -e 's|-I../../include|-I${STAGEDIR}${PREFIX}/include/suitesparse|;\ - s|-lsuitesparseconfig|-lsuitesparseconfig -L${LOCALBASE}/lib|' \ - ${WRKSRC}/${m}/Demo/Makefile -.endfor - -do-configure: # skip USES=cmake - -post-install: - @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/* ${STAGEDIR}${PREFIX}/lib/*.so +USES= metaport .include diff --git a/math/suitesparse/bsd.suitesparse.mk b/math/suitesparse/bsd.suitesparse.mk new file mode 100644 index 000000000000..1da90622f2e0 --- /dev/null +++ b/math/suitesparse/bsd.suitesparse.mk @@ -0,0 +1,136 @@ +# Created by: Maho Nakata +# +# Common elements used by the SuiteSparse modules + +PKGNAMEPREFIX= suitesparse- +SSPNAME= suitesparse +SSPVERSION= 5.10.0 +DISTVERSIONPREFIX= v + +MAINTAINER= fortran@FreeBSD.org + +#USE_GITHUB= yes # Does not work with different versions for modules +GH_ACCOUNT= DrTimothyAldenDavis +GH_PROJECT= SuiteSparse +GH_TAGNAME= ${SSPVERSION} +MASTER_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/archive/refs/tags/ +DISTNAME= ${DISTVERSIONPREFIX}${SSPVERSION} +DIST_SUBDIR= ${SSPNAME} +WRKSRC= ${WRKDIR}/${GH_PROJECT}-${SSPVERSION} + +.if ${PORTNAME} != config && \ + ${PORTNAME} != CSparse && \ + ${PORTNAME} != ssget +LIB_DEPENDS+= libsuitesparseconfig.so:math/suitesparse-config +.endif +.if ${PORTNAME} != config && \ + ${PORTNAME} != BTF && \ + ${PORTNAME} != ssget +OPTIONS_DEFINE+=DEMOS +.else +ALL_TARGET= library +.endif + +USES+= gmake + +DOCSDIR= ${PREFIX}/share/doc/${SSPNAME} +MAKE_ENV= BLAS="${BLASLIB}" LAPACK="${LAPACKLIB}" \ + OPTIMIZATION="${OPTIMIZATION}" \ + MY_METIS_LIB="-lmetis" \ + JOBS="${MAKE_JOBS_NUMBER}" \ + CMAKE_OPTIONS='${CMAKE_ARGS}' \ + INSTALL="${STAGEDIR}${PREFIX}" \ + INSTALL_DOC="${STAGEDIR}${DOCSDIR}" \ + INSTALL_INCLUDE="${STAGEDIR}${PREFIX}/include/${SSPNAME}" +CMAKE_ARGS= -DCMAKE_INSTALL_INCLUDEDIR:PATH="include/${SSPNAME}" \ + -DBUILD_GRB_STATIC_LIBRARY:BOOL=ON +LDFLAGS+= -L${WRKSRC}/lib # prevent linking with shared libs from the preinstalled older versions + +INSTALL_TARGET= install # skip USES=cmake +INSTALL_WRKSRC= ${BUILD_WRKSRC} + +# FIXME: wont work if .CURDIR contains spaces +DISTINFO_FILE= ${.CURDIR}/../../math/suitesparse/distinfo + +OPTIONS_DEFINE+= DOCS OPTIMIZED_CFLAGS +OPTIONS_DEFAULT+= OPTIMIZED_CFLAGS + +.if defined(BLAS_NEEDED) +OPTIONS_RADIO+= BLAS +OPTIONS_RADIO_BLAS+= ATLAS GOTOBLAS NETLIB OPENBLAS +OPTIONS_DEFAULT+= OPENBLAS + +ATLAS_USES= blaslapack:atlas +GOTOBLAS_DESC= Goto blas implementation +GOTOBLAS_USES= blaslapack:gotoblas +NETLIB_USES= blaslapack:netlib +OPENBLAS_USES= blaslapack:openblas +.endif + +.if defined(OMP_NEEDED) +OPTIONS_DEFINE+= OPENMP +OPTIONS_EXCLUDE_aarch64= OPENMP +OPTIONS_DEFAULT+= OPENMP + +OPENMP_MAKE_ENV_OFF= CFOPENMP= +. if !exists(/usr/include/omp.h) +# XXX ports/199603: LLVM openmp in base doesn't support armv6, armv7 yet +OPENMP_VARS= OPENMP=gcc- +. endif +.endif + +DEMOS_DESC= Build the demonstrations +.if ${PORTNAME} == Mongoose +DEMOS_ALL_TARGET= default +.else +DEMOS_ALL_TARGET= all +.endif +DEMOS_ALL_TARGET_OFF= library + +.if !defined(WITH_DEBUG) +OPTIMIZED_CFLAGS_VARS= OPTIMIZATION="-O3" +LDFLAGS+= -s +.endif + +post-extract: + ${RM} -r ${WRKSRC}/metis-* + +.if ${PORTNAME} == AMD || \ + ${PORTNAME} == CAMD || \ + ${PORTNAME} == CCOLAMD || \ + ${PORTNAME} == CHOLMOD || \ + ${PORTNAME} == COLAMD || \ + ${PORTNAME} == CSparse || \ + ${PORTNAME} == CXSparse_newfiles || \ + ${PORTNAME} == CXSparse || \ + ${PORTNAME} == GPUQREngine || \ + ${PORTNAME} == KLU || \ + ${PORTNAME} == LDL || \ + ${PORTNAME} == RBio || \ + ${PORTNAME} == SPQR || \ + ${PORTNAME} == UMFPACK +pre-configure: + ${REINPLACE_CMD} -e 's|-I../../include|-I${STAGEDIR}${PREFIX}/include/suitesparse -I../../SuiteSparse_config -I../../AMD/Include -I../../COLAMD/Include -I../../BTF/Include -I../../CHOLMOD/Include|;\ + s|-lsuitesparseconfig|-lsuitesparseconfig -L${LOCALBASE}/lib|' \ + ${BUILD_WRKSRC}/Demo/Makefile +.endif + +do-configure: # skip USES=cmake + +post-install: +.if ! ${PORTNAME} == config + @${RM} ${STAGEDIR}${DOCSDIR}/SUITESPARSECONFIG_README.txt \ + ${STAGEDIR}${PREFIX}/include/suitesparse/SuiteSparse_config.h +.endif + +.include + +.if ${ARCH} == i386 +# See PR 230888 : Missing 64 bit atomic functions for i386 +USE_GCC= yes +LDFLAGS+= -latomic +.elif defined(PPC_ABI) && ${PPC_ABI} == ELFv1 +USE_GCC= yes +.else +USES+= compiler:c++11-lib +.endif diff --git a/math/suitesparse/distinfo b/math/suitesparse/distinfo index a6a82dbf05fa..fe7b3d794a0d 100644 --- a/math/suitesparse/distinfo +++ b/math/suitesparse/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1621267603 -SHA256 (DrTimothyAldenDavis-SuiteSparse-v5.10.0_GH0.tar.gz) = 4bcc974901c0173acf80c41ee0fd779eb7dce2871d4afa24a5d15b1a468f93e5 -SIZE (DrTimothyAldenDavis-SuiteSparse-v5.10.0_GH0.tar.gz) = 59919998 +TIMESTAMP = 1621443759 +SHA256 (suitesparse/v5.10.0.tar.gz) = 4bcc974901c0173acf80c41ee0fd779eb7dce2871d4afa24a5d15b1a468f93e5 +SIZE (suitesparse/v5.10.0.tar.gz) = 59919998 diff --git a/math/suitesparse/pkg-descr b/math/suitesparse/pkg-descr index 7d6d4373c115..77bfa1dbf4b9 100644 --- a/math/suitesparse/pkg-descr +++ b/math/suitesparse/pkg-descr @@ -1,4 +1,5 @@ SuiteSparse is a set of sparse matrices libraries. + It contains: * AMD: symmetric approximate minimum degree * BTF: permutation to block triangular form (beta) @@ -13,8 +14,9 @@ It contains: * LDL: a simple LDL^T factorization * Mongoose: graph partitioning * RBio: read/write sparse matrices + * SLIP_LU : Sparse Left-looking Integer-Preserving LU Factorization * SPQR: sparse QR factorization * UMFPACK: sparse multifrontal LU factorization - * UFconfig: common configuration for all of the above + * SuiteSparse_config: common configuration for all of the above WWW: http://faculty.cse.tamu.edu/davis/suitesparse.html diff --git a/math/suitesparse/pkg-plist b/math/suitesparse/pkg-plist deleted file mode 100644 index ae1cd60da741..000000000000 --- a/math/suitesparse/pkg-plist +++ /dev/null @@ -1,142 +0,0 @@ -bin/mongoose -include/suitesparse/GraphBLAS.h -include/suitesparse/Mongoose.hpp -include/suitesparse/RBio.h -include/suitesparse/SLIP_LU.h -include/suitesparse/SuiteSparseQR.hpp -include/suitesparse/SuiteSparseQR_C.h -include/suitesparse/SuiteSparseQR_definitions.h -include/suitesparse/SuiteSparse_config.h -include/suitesparse/amd.h -include/suitesparse/btf.h -include/suitesparse/camd.h -include/suitesparse/ccolamd.h -include/suitesparse/cholmod.h -include/suitesparse/cholmod_blas.h -include/suitesparse/cholmod_camd.h -include/suitesparse/cholmod_check.h -include/suitesparse/cholmod_cholesky.h -include/suitesparse/cholmod_complexity.h -include/suitesparse/cholmod_config.h -include/suitesparse/cholmod_core.h -include/suitesparse/cholmod_function.h -include/suitesparse/cholmod_gpu.h -include/suitesparse/cholmod_gpu_kernels.h -include/suitesparse/cholmod_io64.h -include/suitesparse/cholmod_matrixops.h -include/suitesparse/cholmod_modify.h -include/suitesparse/cholmod_partition.h -include/suitesparse/cholmod_supernodal.h -include/suitesparse/cholmod_template.h -include/suitesparse/colamd.h -include/suitesparse/cs.h -include/suitesparse/klu.h -include/suitesparse/ldl.h -include/suitesparse/spqr.hpp -include/suitesparse/umfpack.h -include/suitesparse/umfpack_col_to_triplet.h -include/suitesparse/umfpack_defaults.h -include/suitesparse/umfpack_free_numeric.h -include/suitesparse/umfpack_free_symbolic.h -include/suitesparse/umfpack_get_determinant.h -include/suitesparse/umfpack_get_lunz.h -include/suitesparse/umfpack_get_numeric.h -include/suitesparse/umfpack_get_symbolic.h -include/suitesparse/umfpack_global.h -include/suitesparse/umfpack_load_numeric.h -include/suitesparse/umfpack_load_symbolic.h -include/suitesparse/umfpack_numeric.h -include/suitesparse/umfpack_qsymbolic.h -include/suitesparse/umfpack_report_control.h -include/suitesparse/umfpack_report_info.h -include/suitesparse/umfpack_report_matrix.h -include/suitesparse/umfpack_report_numeric.h -include/suitesparse/umfpack_report_perm.h -include/suitesparse/umfpack_report_status.h -include/suitesparse/umfpack_report_symbolic.h -include/suitesparse/umfpack_report_triplet.h -include/suitesparse/umfpack_report_vector.h -include/suitesparse/umfpack_save_numeric.h -include/suitesparse/umfpack_save_symbolic.h -include/suitesparse/umfpack_scale.h -include/suitesparse/umfpack_solve.h -include/suitesparse/umfpack_symbolic.h -include/suitesparse/umfpack_tictoc.h -include/suitesparse/umfpack_timer.h -include/suitesparse/umfpack_transpose.h -include/suitesparse/umfpack_triplet_to_col.h -include/suitesparse/umfpack_wsolve.h -lib/libamd.so -lib/libamd.so.2 -lib/libamd.so.2.4.6 -lib/libbtf.so -lib/libbtf.so.1 -lib/libbtf.so.1.2.6 -lib/libcamd.so -lib/libcamd.so.2 -lib/libcamd.so.2.4.6 -lib/libccolamd.so -lib/libccolamd.so.2 -lib/libccolamd.so.2.9.6 -lib/libcholmod.so -lib/libcholmod.so.3 -lib/libcholmod.so.3.0.14 -lib/libcolamd.so -lib/libcolamd.so.2 -lib/libcolamd.so.2.9.6 -lib/libcxsparse.so -lib/libcxsparse.so.3 -lib/libcxsparse.so.3.2.0 -lib/libgraphblas.a -lib/libgraphblas.so -lib/libgraphblas.so.5 -lib/libgraphblas.so.5.0.4 -lib/libklu.so -lib/libklu.so.1 -lib/libklu.so.1.3.8 -lib/libldl.so -lib/libldl.so.2 -lib/libldl.so.2.2.6 -lib/libmongoose.a -lib/libmongoose.so -lib/libmongoose.so.2 -lib/libmongoose.so.2.0.4 -lib/librbio.so -lib/librbio.so.2 -lib/librbio.so.2.2.6 -lib/libsliplu.so -lib/libsliplu.so.1 -lib/libsliplu.so.1.0.2 -lib/libspqr.so -lib/libspqr.so.2 -lib/libspqr.so.2.0.9 -lib/libsuitesparseconfig.so -lib/libsuitesparseconfig.so.5 -lib/libsuitesparseconfig.so.5.10.0 -lib/libumfpack.so -lib/libumfpack.so.5 -lib/libumfpack.so.5.7.9 -%%PORTDOCS%%%%DOCSDIR%%/AMD_README.txt -%%PORTDOCS%%%%DOCSDIR%%/AMD_UserGuide.pdf -%%PORTDOCS%%%%DOCSDIR%%/BTF_README.txt -%%PORTDOCS%%%%DOCSDIR%%/CAMD_README.txt -%%PORTDOCS%%%%DOCSDIR%%/CAMD_UserGuide.pdf -%%PORTDOCS%%%%DOCSDIR%%/CCOLAMD_README.txt -%%PORTDOCS%%%%DOCSDIR%%/CHOLMOD_README.txt -%%PORTDOCS%%%%DOCSDIR%%/CHOLMOD_UserGuide.pdf -%%PORTDOCS%%%%DOCSDIR%%/COLAMD_README.txt -%%PORTDOCS%%%%DOCSDIR%%/CXSPARSE_README.txt -%%PORTDOCS%%%%DOCSDIR%%/KLU_README.txt -%%PORTDOCS%%%%DOCSDIR%%/KLU_UserGuide.pdf -%%PORTDOCS%%%%DOCSDIR%%/LDL_README.txt -%%PORTDOCS%%%%DOCSDIR%%/RBIO_README.txt -%%PORTDOCS%%%%DOCSDIR%%/SLIP_LU_README.md -%%PORTDOCS%%%%DOCSDIR%%/SLIP_LU_UserGuide.pdf -%%PORTDOCS%%%%DOCSDIR%%/SPQR_README.txt -%%PORTDOCS%%%%DOCSDIR%%/SUITESPARSECONFIG_README.txt -%%PORTDOCS%%%%DOCSDIR%%/SuiteSparse_README.md -%%PORTDOCS%%%%DOCSDIR%%/UMFPACK_QuickStart.pdf -%%PORTDOCS%%%%DOCSDIR%%/UMFPACK_README.txt -%%PORTDOCS%%%%DOCSDIR%%/UMFPACK_UserGuide.pdf -%%PORTDOCS%%%%DOCSDIR%%/ldl_userguide.pdf -%%PORTDOCS%%%%DOCSDIR%%/spqr_user_guide.pdf