From eca2d8385a0032ab06de4a8178b534ff391a9378 Mon Sep 17 00:00:00 2001 From: miqlas <5569059+extrowerk@users.noreply.github.com> Date: Sun, 19 Jan 2020 14:53:34 +0100 Subject: [PATCH] Suitesparse 5.6.0 (#4551) * WIP * Consolidation * Cleanup * Replaces --- ....0.patchset => suitesparse-5.6.0.patchset} | 0 sci-libs/suitesparse/suitesparse-5.3.0.recipe | 432 ------------------ sci-libs/suitesparse/suitesparse-5.6.0.recipe | 223 +++++++++ 3 files changed, 223 insertions(+), 432 deletions(-) rename sci-libs/suitesparse/patches/{suitesparse-5.3.0.patchset => suitesparse-5.6.0.patchset} (100%) delete mode 100644 sci-libs/suitesparse/suitesparse-5.3.0.recipe create mode 100644 sci-libs/suitesparse/suitesparse-5.6.0.recipe diff --git a/sci-libs/suitesparse/patches/suitesparse-5.3.0.patchset b/sci-libs/suitesparse/patches/suitesparse-5.6.0.patchset similarity index 100% rename from sci-libs/suitesparse/patches/suitesparse-5.3.0.patchset rename to sci-libs/suitesparse/patches/suitesparse-5.6.0.patchset diff --git a/sci-libs/suitesparse/suitesparse-5.3.0.recipe b/sci-libs/suitesparse/suitesparse-5.3.0.recipe deleted file mode 100644 index 566f6d35a..000000000 --- a/sci-libs/suitesparse/suitesparse-5.3.0.recipe +++ /dev/null @@ -1,432 +0,0 @@ -SUMMARY="A suite of sparse matrix software" -DESCRIPTION="SuiteSparse is a suite of sparse matrix algorithms, including: - -•GraphBLAS: graph algorithms in the language of linear algebra -•Mongoose: graph partitioning -•ssget: MATLAB and Java interface to the SuiteSparse Matrix Collection -•UMFPACK: multifrontal LU factorization.  Appears as LU and x=A\b in MATLAB. -•CHOLMOD: supernodal Cholesky.  Appears as CHOL and x=A\b in MATLAB.  Now \ -with CUDA acceleration, in collaboration with NVIDIA. -•SPQR: multifrontal QR.  Appears as QR and x=A\b in MATLAB, with CUDA \ -acceleration. -•KLU and BTF:  sparse LU factorization, well-suited for circuit simulation.  -•Ordering methods (AMD, CAMD, COLAMD, and CCOLAMD).  AMD and COLAMD appear \ -in MATLAB. -•CSparse and CXSparse: a concise sparse Cholesky factorization package for \ -my SIAM book. -•spqr_rank: a MATLAB package for reliable sparse rank detection, null set \ -bases, pseudoinverse solutions, and basic solutions. -•Factorize: an object-oriented solver for MATLAB (a reusable backslash). -•SSMULT and SFMULT: sparse matrix multiplication.  Appears as the built-in \ -C=A*B operator in MATLAB. -•... and many other packages." -HOMEPAGE="http://www.suitesparse.com" -COPYRIGHT="1996-2018 Timothy A. Davis et al." -LICENSE="SUITESPARSE" -REVISION="4" -SOURCE_URI="http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-$portVersion.tar.gz" -CHECKSUM_SHA256="90e69713d8c454da5a95a839aea5d97d8d03d00cc1f667c4bdfca03f640f963d" -SOURCE_DIR="SuiteSparse" -PATCHES="suitesparse-$portVersion.patchset" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -libAMDVersion="2.4.6" -libAMDVersionCompat="$libAMDVersion compat >= ${libAMDVersion%%.*}" -libBTFVersion="1.2.6" -libBTFVersionCompat="$libBTFVersion compat >= ${libBTFVersion%%.*}" -libCAMDVersion="2.4.6" -libCAMDVersionCompat="$libCAMDVersion compat >= ${libCAMDVersion%%.*}" -libCCOLAMDVersion="2.9.6" -libCCOLAMDVersionCompat="$libCCOLAMDVersion compat >= ${libCCOLAMDVersion%%.*}" -libCHOLMODVersion="3.0.12" -libCHOLMODVersionCompat="$libCHOLMODVersion compat >= ${libCHOLMODVersion%%.*}" -libCOLAMDVersion="2.9.6" -libCOLAMDVersionCompat="$libCOLAMDVersion compat >= ${libCOLAMDVersion%%.*}" -libCXSPARSEVersion="3.2.0" -libCXSPARSEVersionCompat="$libCXSPARSEVersion compat >= ${libCXSPARSEVersion%%.*}" -libGRAPHBLASVersion="2.0.3" -libGRAPHBLASVersionCompat="$libGRAPHBLASVersion compat >= ${libGRAPHBLASVersion%%.*}" -libKLUVersion="1.3.8" -libKLUVersionCompat="$libKLUVersion compat >= ${libKLUVersion%%.*}" -libLDLVersion="2.2.6" -libLDLVersionCompat="$libLDLVersion compat >= ${libLDLVersion%%.*}" -libMETISVersion="$portVersion" -libMETISVersionCompat="$libMETISVersion compat >= ${libMETISVersion%%.*}" -libMONGOOSEVersion="2.0.2" -libMONGOOSEVersionCompat="$libMONGOOSEVersion compat >= ${libMONGOOSEVersion%%.*}" -libRBIOVersion="2.2.6" -libRBIOVersionCompat="$libRBIOVersion compat >= ${libRBIOVersion%%.*}" -libSPQRVersion="2.0.8" -libSPQRVersionCompat="$libSPQRVersion compat >= ${libSPQRVersion%%.*}" -libSUITESPARSE_CONFIGVersion="$portVersion" -libSUITESPARSE_CONFIGVersionCompat="$libSUITESPARSE_CONFIGVersion compat >= ${libSUITESPARSE_CONFIGVersion%%.*}" -libUMFPACKVersion="5.7.7" -libUMFPACKVersionCompat="$libUMFPACKVersion compat >= ${libUMFPACKVersion%%.*}" - -PROVIDES=" - suitesparse$secondaryArchSuffix = $portVersion - lib:libsuitesparseconfig$secondaryArchSuffix = $libSUITESPARSE_CONFIGVersionCompat - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libexecinfo$secondaryArchSuffix - " - -PROVIDES_devel=" - suitesparse${secondaryArchSuffix}_devel = $portVersion - devel:libamd$secondaryArchSuffix = $libAMDVersion - devel:libbtf$secondaryArchSuffix = $libBTFVersion - devel:libcamd$secondaryArchSuffix = $libCAMDVersion - devel:libccolamd$secondaryArchSuffix = $libCCOLAMDVersion - devel:libcholmod$secondaryArchSuffix = $libCHOLMODVersion - devel:libcolamd$secondaryArchSuffix = $libCOLAMDVersion - devel:libcxsparse$secondaryArchSuffix = $libCXSPARSEVersion - devel:libgraphblas$secondaryArchSuffix = $libGRAPHBLASVersion - devel:libklu$secondaryArchSuffix = $libKLUVersion - devel:libldl$secondaryArchSuffix = $libLDLVersion - devel:libmetis$secondaryArchSuffix = $libMETISVersion - devel:libmongoose$secondaryArchSuffix = $libMONGOOSEVersion - devel:librbio$secondaryArchSuffix = $libRBIOVersion - devel:libspqr$secondaryArchSuffix = $libSPQRVersion - devel:libsuitesparseconfig$secondaryArchSuffix = $libSUITESPARSE_CONFIGVersion - devel:libumfpack$secondaryArchSuffix = $libUMFPACKVersion - devel:suitesparse$secondaryArchSuffix = $libSUITESPARSE_CONFIGVersion - " -REQUIRES_devel=" - haiku${secondaryArchSuffix}_devel - suitesparse$secondaryArchSuffix == $portVersion base - devel:libexecinfo$secondaryArchSuffix - devel:libgfortran$secondaryArchSuffix - devel:liblapack$secondaryArchSuffix - devel:libopenblas$secondaryArchSuffix - devel:libtbb$secondaryArchSuffix - " - -SUMMARY_amd="$SUMMARY (AMD)" -DESCRIPTION_amd="$DESCRIPTION (AMD)" -PROVIDES_amd=" - suitesparse${secondaryArchSuffix}_amd = $libAMDVersion - lib:libamd$secondaryArchSuffix = $libAMDVersionCompat - " -REQUIRES_amd=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libexecinfo$secondaryArchSuffix - " - -SUMMARY_btf="$SUMMARY (BTF)" -DESCRIPTION_btf="$DESCRIPTION (BTF)" -PROVIDES_btf=" - suitesparse${secondaryArchSuffix}_btf = $libBTFVersion - lib:libbtf$secondaryArchSuffix = $libBTFVersionCompat - " -REQUIRES_btf=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libexecinfo$secondaryArchSuffix - " - -SUMMARY_camd="$SUMMARY (CAMD)" -DESCRIPTION_camd="$DESCRIPTION (CAMD)" -PROVIDES_camd=" - suitesparse${secondaryArchSuffix}_camd = $libCAMDVersion - lib:libcamd$secondaryArchSuffix = $libCAMDVersionCompat - " -REQUIRES_camd=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libexecinfo$secondaryArchSuffix - " - -SUMMARY_ccolamd="$SUMMARY (CCOLAMD)" -DESCRIPTION_ccolamd="$DESCRIPTION (CCOLAMD)" -PROVIDES_ccolamd=" - suitesparse${secondaryArchSuffix}_colamd = $libCCOLAMDVersion - lib:libccolamd$secondaryArchSuffix = $libCCOLAMDVersionCompat - " -REQUIRES_ccolamd=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libexecinfo$secondaryArchSuffix - " - -SUMMARY_cholmod="$SUMMARY (CHOLMOD)" -DESCRIPTION_cholmod="$DESCRIPTION (CHOLMOD)" -PROVIDES_cholmod=" - suitesparse${secondaryArchSuffix}_cholmod = $libCHOLMODVersion - lib:libcholmod$secondaryArchSuffix = $libCHOLMODVersionCompat - " -REQUIRES_cholmod=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libamd$secondaryArchSuffix - lib:libcamd$secondaryArchSuffix - lib:libccolamd$secondaryArchSuffix - lib:libcolamd$secondaryArchSuffix - lib:libexecinfo$secondaryArchSuffix - lib:libgomp$secondaryArchSuffix - lib:liblapack$secondaryArchSuffix - lib:libmetis$secondaryArchSuffix - lib:libopenblas$secondaryArchSuffix - " - -SUMMARY_colamd="$SUMMARY (COLAMD)" -DESCRIPTION_colamd="$DESCRIPTION (COLAMD)" -PROVIDES_colamd=" - suitesparse${secondaryArchSuffix}_colamd = $libCOLAMDVersion - lib:libcolamd$secondaryArchSuffix = $libCOLAMDVersionCompat - " -REQUIRES_colamd=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libexecinfo$secondaryArchSuffix - " - -SUMMARY_cxsparse="$SUMMARY (CXXSPARSE)" -DESCRIPTION_cxsparse="$DESCRIPTION (CXXSPARSE)" -PROVIDES_cxsparse=" - suitesparse${secondaryArchSuffix}_cxsparse = $libCXSPARSEVersion - lib:libcxsparse$secondaryArchSuffix = $libCXSPARSEVersionCompat - " -REQUIRES_cxsparse=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libexecinfo$secondaryArchSuffix - " - -SUMMARY_graphblas="$SUMMARY (GRAPHBLAS)" -DESCRIPTION_graphblas="$DESCRIPTION (GRAPHBLAS)" -PROVIDES_graphblas=" - suitesparse${secondaryArchSuffix}_graphblas = $libGRAPHBLASVersion - lib:libgraphblas$secondaryArchSuffix = $libGRAPHBLASVersionCompat - " -REQUIRES_graphblas=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libexecinfo$secondaryArchSuffix - lib:libgomp$secondaryArchSuffix - " - -SUMMARY_klu="$SUMMARY (KLU)" -DESCRIPTION_klu="$DESCRIPTION (KLU)" -PROVIDES_klu=" - suitesparse${secondaryArchSuffix}_klu = $libKLUVersion - lib:libklu$secondaryArchSuffix = $libKLUVersionCompat - " -REQUIRES_klu=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libamd$secondaryArchSuffix - lib:libbtf$secondaryArchSuffix - lib:libcolamd$secondaryArchSuffix - lib:libexecinfo$secondaryArchSuffix - " - -SUMMARY_ldl="$SUMMARY (LDL)" -DESCRIPTION_ldl="$DESCRIPTION (LDL)" -PROVIDES_ldl=" - suitesparse${secondaryArchSuffix}_ldl = $libLDLVersion - lib:libldl$secondaryArchSuffix = $libLDLVersionCompat - " -REQUIRES_ldl=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libexecinfo$secondaryArchSuffix - " - -SUMMARY_metis="$SUMMARY (METIS)" -DESCRIPTION_metis="$DESCRIPTION (METIS)" -PROVIDES_metis=" - suitesparse${secondaryArchSuffix}_metis = $libMETISVersion - lib:libmetis$secondaryArchSuffix = $libMETISVersionCompat - " -REQUIRES_metis=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libexecinfo$secondaryArchSuffix - " - -SUMMARY_mongoose="$SUMMARY (MONGOOSE)" -DESCRIPTION_mongoose="$DESCRIPTION (MONGOOSE)" -PROVIDES_mongoose=" - suitesparse${secondaryArchSuffix}_mongoose = $libMONGOOSEVersion - lib:libmongoose$secondaryArchSuffix = $libMONGOOSEVersionCompat - " -REQUIRES_mongoose=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libexecinfo$secondaryArchSuffix - " - -SUMMARY_rbio="$SUMMARY (RBIO)" -DESCRIPTION_rbio="$DESCRIPTION (RBIO)" -PROVIDES_rbio=" - suitesparse${secondaryArchSuffix}_rbio = $libRBIOVersion - lib:librbio$secondaryArchSuffix = $libRBIOVersionCompat - " -REQUIRES_rbio=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libexecinfo$secondaryArchSuffix - " - -SUMMARY_spqr="$SUMMARY (SPQR)" -DESCRIPTION_spqr="$DESCRIPTION (SPQR)" -PROVIDES_spqr=" - suitesparse${secondaryArchSuffix}_spqr = $libSPQRVersion - lib:libspqr$secondaryArchSuffix = $libSPQRVersionCompat - " -REQUIRES_spqr=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libamd$secondaryArchSuffix - lib:libcholmod$secondaryArchSuffix - lib:libcolamd$secondaryArchSuffix - lib:libexecinfo$secondaryArchSuffix - lib:liblapack$secondaryArchSuffix - lib:libopenblas$secondaryArchSuffix - lib:libtbb$secondaryArchSuffix - " - -SUMMARY_umfpack="$SUMMARY (UMFPACK)" -DESCRIPTION_umfpack="$DESCRIPTION (UMFPACK)" -PROVIDES_umfpack=" - suitesparse${secondaryArchSuffix}_umfpack = $libUMFPACKVersion - lib:libumfpack$secondaryArchSuffix = $libUMFPACKVersionCompat - " -REQUIRES_umfpack=" - haiku$secondaryArchSuffix - suitesparse$secondaryArchSuffix == $portVersion base - lib:libamd$secondaryArchSuffix - lib:libcholmod$secondaryArchSuffix - lib:libexecinfo$secondaryArchSuffix - lib:liblapack$secondaryArchSuffix - lib:libopenblas$secondaryArchSuffix - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - devel:libexecinfo$secondaryArchSuffix - devel:libgfortran$secondaryArchSuffix - devel:liblapack$secondaryArchSuffix - devel:libopenblas$secondaryArchSuffix - devel:libtbb$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:cmake - cmd:diff - cmd:gawk - cmd:gcc$secondaryArchSuffix - cmd:gfortran$secondaryArchSuffix - cmd:grep - cmd:ld$secondaryArchSuffix - cmd:make - cmd:perl - cmd:pkg_config$secondaryArchSuffix - cmd:python2 - " - -defineDebugInfoPackage suitesparse$secondaryArchSuffix \ - "$libDir"/libsuitesparseconfig.so.$libSUITESPARSE_CONFIGVersion \ - "$(getPackagePrefix amd)/$relativeLibDir"/libamd.so.$libAMDVersion \ - "$(getPackagePrefix btf)/$relativeLibDir"/libbtf.so.$libBTFVersion \ - "$(getPackagePrefix camd)/$relativeLibDir"/libcamd.so.$libCAMDVersion \ - "$(getPackagePrefix ccolamd)/$relativeLibDir"/libccolamd.so.$libCCOLAMDVersion \ - "$(getPackagePrefix cholmod)/$relativeLibDir"/libcholmod.so.$libCHOLMODVersion \ - "$(getPackagePrefix colamd)/$relativeLibDir"/libcolamd.so.$libCOLAMDVersion \ - "$(getPackagePrefix cxsparse)/$relativeLibDir"/libcxsparse.so.$libCXSPARSEVersion \ - "$(getPackagePrefix graphblas)/$relativeLibDir"/libgraphblas.so.$libGRAPHBLASVersion \ - "$(getPackagePrefix klu)/$relativeLibDir"/libklu.so.$libKLUVersion \ - "$(getPackagePrefix ldl)/$relativeLibDir"/libldl.so.$libLDLVersion \ - "$(getPackagePrefix metis)/$relativeLibDir"/libmetis.so \ - "$(getPackagePrefix mongoose)/$relativeLibDir"/libmongoose.so.$libMONGOOSEVersion \ - "$(getPackagePrefix rbio)/$relativeLibDir"/librbio.so.$libRBIOVersion \ - "$(getPackagePrefix spqr)/$relativeLibDir"/libspqr.so.$libSPQRVersion \ - "$(getPackagePrefix umfpack)/$relativeLibDir"/libumfpack.so.$libUMFPACKVersion - -BUILD() -{ - CMAKE_OPTIONS="$cmakeDirArgs" LIBRARY_PATH="$sourceDir/lib:$LIBRARY_PATH" \ - LDFLAGS="-lnetwork -lbsd -lexecinfo" CF="-D_BSD_SOURCE" \ - TBB="-ltbb" SPQR_CONFIG="-DHAVE_TBB" make library $jobArgs -# make TBB="-ltbb" $jobArgs # for building and running tests -} - -INSTALL() -{ - LIBRARY_PATH="$sourceDir/lib:$LIBRARY_PATH" \ - LDFLAGS="-lnetwork -lbsd -lexecinfo" CF="-D_BSD_SOURCE" \ - TBB="-ltbb" SPQR_CONFIG="-DHAVE_TBB" INSTALL="$prefix" \ - INSTALL_LIB="$libDir" INSTALL_INCLUDE="$includeDir" \ - INSTALL_DOC="$docDir" make install - - prepareInstalledDevelLibs libamd \ - libbtf \ - libcamd \ - libccolamd \ - libcholmod \ - libcolamd \ - libcxsparse \ - libgraphblas \ - libklu \ - libldl \ - libmetis \ - libmongoose \ - librbio \ - libspqr \ - libsuitesparseconfig \ - libumfpack - - fixPkgconfig - - # AMD - packageEntries "amd" \ - "$libDir"/*libamd* - # BTF - packageEntries "btf" \ - "$libDir"/*btf* - # CAMD - packageEntries "camd" \ - "$libDir"/*libcamd* - # CCOLAMD - packageEntries "ccolamd" \ - "$libDir"/*ccolamd* - # CHOLMOD - packageEntries "cholmod" \ - "$libDir"/*cholmod* - # COLAMD - packageEntries "colamd" \ - "$libDir"/*colamd* - # CXSPARSE - packageEntries "cxsparse" \ - "$libDir"/*cxsparse* - # GRAPHBLAS - packageEntries "graphblas" \ - "$libDir"/*graphblas* - # KLU - packageEntries "klu" \ - "$libDir"/*klu* - # LDL - packageEntries "ldl" \ - "$libDir"/*ldl* - # METIS - packageEntries "metis" \ - "$libDir"/*metis* - # MONGOOSE - packageEntries "mongoose" \ - "$libDir"/*mongoose* - # RBIO - packageEntries "rbio" \ - "$libDir"/*rbio* - # SPQR - packageEntries "spqr" \ - "$libDir"/*spqr* - # UMFPACK - packageEntries "umfpack" \ - "$libDir"/*umfpack* - # DEVEL - packageEntries devel \ - $developDir -} diff --git a/sci-libs/suitesparse/suitesparse-5.6.0.recipe b/sci-libs/suitesparse/suitesparse-5.6.0.recipe new file mode 100644 index 000000000..f7a1770ff --- /dev/null +++ b/sci-libs/suitesparse/suitesparse-5.6.0.recipe @@ -0,0 +1,223 @@ +SUMMARY="A suite of sparse matrix software" +DESCRIPTION="SuiteSparse is a suite of sparse matrix algorithms, including: + +* GraphBLAS: graph algorithms in the language of linear algebra +* Mongoose: graph partitioning +* ssget: MATLAB and Java interface to the SuiteSparse Matrix Collection +* UMFPACK: multifrontal LU factorization.  Appears as LU and x=A\b in MATLAB. +* CHOLMOD: supernodal Cholesky.  Appears as CHOL and x=A\b in MATLAB.  Now \ +with CUDA acceleration, in collaboration with NVIDIA. +* SPQR: multifrontal QR.  Appears as QR and x=A\b in MATLAB, with CUDA \ +acceleration. +* KLU and BTF:  sparse LU factorization, well-suited for circuit simulation.  +* Ordering methods (AMD, CAMD, COLAMD, and CCOLAMD).  AMD and COLAMD appear \ +in MATLAB. +* CSparse and CXSparse: a concise sparse Cholesky factorization package for \ +my SIAM book. +* spqr_rank: a MATLAB package for reliable sparse rank detection, null set \ +bases, pseudoinverse solutions, and basic solutions. +* Factorize: an object-oriented solver for MATLAB (a reusable backslash). +* SSMULT and SFMULT: sparse matrix multiplication.  Appears as the built-in \ +C=A*B operator in MATLAB. +* ... and many other packages." +HOMEPAGE="http://www.suitesparse.com" +COPYRIGHT="1996-2019 Timothy A. Davis et al." +LICENSE="SUITESPARSE" +REVISION="1" +SOURCE_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v$portVersion.tar.gz" +CHECKSUM_SHA256="76d34d9f6dafc592b69af14f58c1dc59e24853dcd7c2e8f4c98ffa223f6a1adb" +SOURCE_DIR="SuiteSparse-$portVersion" +PATCHES="suitesparse-$portVersion.patchset" + +ARCHITECTURES="!x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86" + +libAMDVersion="2.4.6" +libAMDVersionCompat="$libAMDVersion compat >= ${libAMDVersion%%.*}" +libBTFVersion="1.2.6" +libBTFVersionCompat="$libBTFVersion compat >= ${libBTFVersion%%.*}" +libCAMDVersion="2.4.6" +libCAMDVersionCompat="$libCAMDVersion compat >= ${libCAMDVersion%%.*}" +libCCOLAMDVersion="2.9.6" +libCCOLAMDVersionCompat="$libCCOLAMDVersion compat >= ${libCCOLAMDVersion%%.*}" +libCHOLMODVersion="3.0.13" +libCHOLMODVersionCompat="$libCHOLMODVersion compat >= ${libCHOLMODVersion%%.*}" +libCOLAMDVersion="2.9.6" +libCOLAMDVersionCompat="$libCOLAMDVersion compat >= ${libCOLAMDVersion%%.*}" +libCXSPARSEVersion="3.2.0" +libCXSPARSEVersionCompat="$libCXSPARSEVersion compat >= ${libCXSPARSEVersion%%.*}" +libGRAPHBLASVersion="3.1.1" +libGRAPHBLASVersionCompat="$libGRAPHBLASVersion compat >= ${libGRAPHBLASVersion%%.*}" +libKLUVersion="1.3.8" +libKLUVersionCompat="$libKLUVersion compat >= ${libKLUVersion%%.*}" +libLDLVersion="2.2.6" +libLDLVersionCompat="$libLDLVersion compat >= ${libLDLVersion%%.*}" +libMETISVersion="$portVersion" +libMETISVersionCompat="$libMETISVersion compat >= ${libMETISVersion%%.*}" +libMONGOOSEVersion="2.0.4" +libMONGOOSEVersionCompat="$libMONGOOSEVersion compat >= ${libMONGOOSEVersion%%.*}" +libRBIOVersion="2.2.6" +libRBIOVersionCompat="$libRBIOVersion compat >= ${libRBIOVersion%%.*}" +libSPQRVersion="2.0.9" +libSPQRVersionCompat="$libSPQRVersion compat >= ${libSPQRVersion%%.*}" +libSUITESPARSE_CONFIGVersion="5.5.0" +libSUITESPARSE_CONFIGVersionCompat="$libSUITESPARSE_CONFIGVersion compat >= ${libSUITESPARSE_CONFIGVersion%%.*}" +libUMFPACKVersion="5.7.9" +libUMFPACKVersionCompat="$libUMFPACKVersion compat >= ${libUMFPACKVersion%%.*}" + +PROVIDES=" + suitesparse$secondaryArchSuffix = $portVersion + cmd:mongoose + lib:libamd$secondaryArchSuffix = $libAMDVersionCompat + lib:libbtf$secondaryArchSuffix = $libBTFVersionCompat + lib:libcamd$secondaryArchSuffix = $libCAMDVersionCompat + lib:libccolamd$secondaryArchSuffix = $libCCOLAMDVersionCompat + lib:libcholmod$secondaryArchSuffix = $libCHOLMODVersionCompat + lib:libcolamd$secondaryArchSuffix = $libCOLAMDVersionCompat + lib:libcxsparse$secondaryArchSuffix = $libCXSPARSEVersionCompat + lib:libgraphblas$secondaryArchSuffix = $libGRAPHBLASVersionCompat + lib:libklu$secondaryArchSuffix = $libKLUVersionCompat + lib:libldl$secondaryArchSuffix = $libLDLVersionCompat + lib:libmetis$secondaryArchSuffix = $libMETISVersionCompat + lib:libmongoose$secondaryArchSuffix = $libMONGOOSEVersionCompat + lib:librbio$secondaryArchSuffix = $libRBIOVersionCompat + lib:libspqr$secondaryArchSuffix = $libSPQRVersionCompat + lib:libsuitesparseconfig$secondaryArchSuffix = $libSUITESPARSE_CONFIGVersionCompat + lib:libumfpack$secondaryArchSuffix = $libUMFPACKVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libexecinfo$secondaryArchSuffix + lib:libgfortran$secondaryArchSuffix + lib:liblapack$secondaryArchSuffix + lib:libopenblas$secondaryArchSuffix + lib:libtbb$secondaryArchSuffix + " +REPLACES=" + suitesparse${secondaryArchSuffix}_amd + suitesparse${secondaryArchSuffix}_btf + suitesparse${secondaryArchSuffix}_camd + suitesparse${secondaryArchSuffix}_ccolamd + suitesparse${secondaryArchSuffix}_cholmod + suitesparse${secondaryArchSuffix}_colamd + suitesparse${secondaryArchSuffix}_cxsparse + suitesparse${secondaryArchSuffix}_graphblas + suitesparse${secondaryArchSuffix}_klu + suitesparse${secondaryArchSuffix}_ldl + suitesparse${secondaryArchSuffix}_metis + suitesparse${secondaryArchSuffix}_mongoose + suitesparse${secondaryArchSuffix}_rbio + suitesparse${secondaryArchSuffix}_spqr + suitesparse${secondaryArchSuffix}_umfpack + " + +PROVIDES_devel=" + suitesparse${secondaryArchSuffix}_devel = $portVersion + devel:libamd$secondaryArchSuffix = $libAMDVersion + devel:libbtf$secondaryArchSuffix = $libBTFVersion + devel:libcamd$secondaryArchSuffix = $libCAMDVersion + devel:libccolamd$secondaryArchSuffix = $libCCOLAMDVersion + devel:libcholmod$secondaryArchSuffix = $libCHOLMODVersion + devel:libcolamd$secondaryArchSuffix = $libCOLAMDVersion + devel:libcxsparse$secondaryArchSuffix = $libCXSPARSEVersion + devel:libgraphblas$secondaryArchSuffix = $libGRAPHBLASVersion + devel:libklu$secondaryArchSuffix = $libKLUVersion + devel:libldl$secondaryArchSuffix = $libLDLVersion + devel:libmetis$secondaryArchSuffix = $libMETISVersion + devel:libmongoose$secondaryArchSuffix = $libMONGOOSEVersion + devel:librbio$secondaryArchSuffix = $libRBIOVersion + devel:libspqr$secondaryArchSuffix = $libSPQRVersion + devel:libsuitesparseconfig$secondaryArchSuffix = $libSUITESPARSE_CONFIGVersion + devel:libumfpack$secondaryArchSuffix = $libUMFPACKVersion + devel:suitesparse$secondaryArchSuffix = $libSUITESPARSE_CONFIGVersion + " +REQUIRES_devel=" + haiku${secondaryArchSuffix}_devel + suitesparse$secondaryArchSuffix == $portVersion base + devel:libexecinfo$secondaryArchSuffix + devel:libgfortran$secondaryArchSuffix + devel:liblapack$secondaryArchSuffix + devel:libopenblas$secondaryArchSuffix + devel:libtbb$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libexecinfo$secondaryArchSuffix + devel:libgfortran$secondaryArchSuffix + devel:liblapack$secondaryArchSuffix + devel:libopenblas$secondaryArchSuffix + devel:libtbb$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:diff + cmd:gawk + cmd:gcc$secondaryArchSuffix + cmd:gfortran$secondaryArchSuffix + cmd:grep + cmd:ld$secondaryArchSuffix + cmd:m4 + cmd:make + cmd:perl + cmd:pkg_config$secondaryArchSuffix + cmd:python2 + " + +defineDebugInfoPackage suitesparse$secondaryArchSuffix \ + "$libDir"/libsuitesparseconfig.so.$libSUITESPARSE_CONFIGVersion \ + "$libDir"/libamd.so.$libAMDVersion \ + "$libDir"/libbtf.so.$libBTFVersion \ + "$libDir"/libcamd.so.$libCAMDVersion \ + "$libDir"/libccolamd.so.$libCCOLAMDVersion \ + "$libDir"/libcholmod.so.$libCHOLMODVersion \ + "$libDir"/libcolamd.so.$libCOLAMDVersion \ + "$libDir"/libcxsparse.so.$libCXSPARSEVersion \ + "$libDir"/libgraphblas.so.$libGRAPHBLASVersion \ + "$libDir"/libklu.so.$libKLUVersion \ + "$libDir"/libldl.so.$libLDLVersion \ + "$libDir"/libmetis.so \ + "$libDir"/libmongoose.so.$libMONGOOSEVersion \ + "$libDir"/librbio.so.$libRBIOVersion \ + "$libDir"/libspqr.so.$libSPQRVersion \ + "$libDir"/libumfpack.so.$libUMFPACKVersion + +BUILD() +{ + CMAKE_OPTIONS="$cmakeDirArgs" LIBRARY_PATH="$sourceDir/lib:$LIBRARY_PATH" \ + LDFLAGS="-lnetwork -lbsd -lexecinfo" CF="-D_BSD_SOURCE" \ + TBB="-ltbb" SPQR_CONFIG="-DHAVE_TBB" make library $jobArgs +# make TBB="-ltbb" $jobArgs # for building and running tests +} + +INSTALL() +{ + LIBRARY_PATH="$sourceDir/lib:$LIBRARY_PATH" \ + LDFLAGS="-lnetwork -lbsd -lexecinfo" CF="-D_BSD_SOURCE" \ + TBB="-ltbb" SPQR_CONFIG="-DHAVE_TBB" INSTALL="$prefix" \ + INSTALL_LIB="$libDir" INSTALL_INCLUDE="$includeDir" \ + INSTALL_DOC="$docDir" make install + + prepareInstalledDevelLibs libamd \ + libbtf \ + libcamd \ + libccolamd \ + libcholmod \ + libcolamd \ + libcxsparse \ + libgraphblas \ + libklu \ + libldl \ + libmetis \ + libmongoose \ + librbio \ + libspqr \ + libsuitesparseconfig \ + libumfpack + + fixPkgconfig + + # DEVEL + packageEntries devel \ + $developDir +}