suitesparse, bump to 7.12.1 (#13196)

This commit is contained in:
Schrijvers Luc
2025-11-11 14:25:09 +01:00
committed by GitHub
parent 2a7726dfc2
commit 0b3de0983c
3 changed files with 266 additions and 55 deletions

View File

@@ -0,0 +1,22 @@
From 014b1e15f9dcc7a96681b04336ddff4ae01a3fa6 Mon Sep 17 00:00:00 2001
From: Luc Schrijvers <begasus@gmail.com>
Date: Sun, 2 Nov 2025 18:49:21 +0100
Subject: Build fix
diff --git a/LAGraph/src/test/include/acutest.h b/LAGraph/src/test/include/acutest.h
index e853a95..f66c57c 100644
--- a/LAGraph/src/test/include/acutest.h
+++ b/LAGraph/src/test/include/acutest.h
@@ -279,7 +279,7 @@
#include <string.h>
#include <setjmp.h>
-#if defined(unix) || defined(__unix__) || defined(__unix) || defined(__APPLE__)
+#if defined(unix) || defined(__unix__) || defined(__unix) || defined(__APPLE__) || defined(__HAIKU__)
#define ACUTEST_UNIX_ 1
#include <errno.h>
#include <libgen.h>
--
2.51.0

View File

@@ -21,53 +21,57 @@ bases, pseudoinverse solutions, and basic solutions.
C=A*B operator in MATLAB.
* ... and many other packages."
HOMEPAGE="http://www.suitesparse.com"
COPYRIGHT="1996-2019 Timothy A. Davis et al."
COPYRIGHT="1996-2025 Timothy A. Davis et al."
LICENSE="SUITESPARSE"
REVISION="3"
REVISION="1"
SOURCE_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="5ba5add1663d51a1b6fb128b50fe869b497f3096765ff7f8212f0ede044b9557"
CHECKSUM_SHA256="794ae22f7e38e2ac9f5cbb673be9dd80cdaff2cdf858f5104e082694f743b0ba"
SOURCE_DIR="SuiteSparse-$portVersion"
PATCHES="suitesparse-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libAMDVersion="2.4.6"
libAMDVersion="3.3.4"
libAMDVersionCompat="$libAMDVersion compat >= ${libAMDVersion%%.*}"
libBTFVersion="1.2.6"
libBTFVersion="2.3.3"
libBTFVersionCompat="$libBTFVersion compat >= ${libBTFVersion%%.*}"
libCAMDVersion="2.4.6"
libCAMDVersion="3.3.5"
libCAMDVersionCompat="$libCAMDVersion compat >= ${libCAMDVersion%%.*}"
libCCOLAMDVersion="2.9.6"
libCCOLAMDVersion="3.3.5"
libCCOLAMDVersionCompat="$libCCOLAMDVersion compat >= ${libCCOLAMDVersion%%.*}"
libCHOLMODVersion="3.0.14"
libCHOLMODVersion="5.3.4"
libCHOLMODVersionCompat="$libCHOLMODVersion compat >= ${libCHOLMODVersion%%.*}"
libCOLAMDVersion="2.9.6"
libCOLAMDVersion="3.3.5"
libCOLAMDVersionCompat="$libCOLAMDVersion compat >= ${libCOLAMDVersion%%.*}"
libCXSPARSEVersion="3.2.0"
libCXSPARSEVersion="4.4.2"
libCXSPARSEVersionCompat="$libCXSPARSEVersion compat >= ${libCXSPARSEVersion%%.*}"
libGRAPHBLASVersion="3.2.0"
libGRAPHBLASVersion="10.2.0"
libGRAPHBLASVersionCompat="$libGRAPHBLASVersion compat >= ${libGRAPHBLASVersion%%.*}"
libKLUVersion="1.3.8"
libKLUVersion="2.3.6"
libKLUVersionCompat="$libKLUVersion compat >= ${libKLUVersion%%.*}"
libLDLVersion="2.2.6"
libLAGRAPHVersion="1.2.1"
libLAGRAPHVersionCompat="$libLAGRAPHVersion compat >= ${libLAGRAPHVersion%%.*}"
libLDLVersion="3.3.3"
libLDLVersionCompat="$libLDLVersion compat >= ${libLDLVersion%%.*}"
libMETISVersion="$portVersion"
libMETISVersionCompat="$libMETISVersion compat >= ${libMETISVersion%%.*}"
libMONGOOSEVersion="2.0.4"
libMONGOOSEVersionCompat="$libMONGOOSEVersion compat >= ${libMONGOOSEVersion%%.*}"
libRBIOVersion="2.2.6"
libPARUVersion="1.1.0"
libPARUVersionCompat="$libPARUVersion compat >= ${libPARUVersion%%.*}"
libRBIOVersion="4.3.5"
libRBIOVersionCompat="$libRBIOVersion compat >= ${libRBIOVersion%%.*}"
libSPQRVersion="2.0.9"
libSPEXVersion="3.2.4"
libSPEXVersionCompat="$libSPEXVersion compat >= ${libSPEXVersion%%.*}"
libSPQRVersion="4.3.6"
libSPQRVersionCompat="$libSPQRVersion compat >= ${libSPQRVersion%%.*}"
libSUITESPARSE_CONFIGVersion="5.7.1"
libMONGOOSEVersion="3.3.6"
libMONGOOSEVersionCompat="$libMONGOOSEVersion compat >= ${libMONGOOSEVersion%%.*}"
libSUITESPARSE_CONFIGVersion="$portVersion"
libSUITESPARSE_CONFIGVersionCompat="$libSUITESPARSE_CONFIGVersion compat >= ${libSUITESPARSE_CONFIGVersion%%.*}"
libUMFPACKVersion="5.7.9"
libUMFPACKVersion="6.3.7"
libUMFPACKVersionCompat="$libUMFPACKVersion compat >= ${libUMFPACKVersion%%.*}"
PROVIDES="
suitesparse$secondaryArchSuffix = $portVersion
cmd:mongoose$secondaryArchSuffix
cmd:suitesparse_mongoose$secondaryArchSuffix
lib:libamd$secondaryArchSuffix = $libAMDVersionCompat
lib:libbtf$secondaryArchSuffix = $libBTFVersionCompat
lib:libcamd$secondaryArchSuffix = $libCAMDVersionCompat
@@ -77,11 +81,16 @@ PROVIDES="
lib:libcxsparse$secondaryArchSuffix = $libCXSPARSEVersionCompat
lib:libgraphblas$secondaryArchSuffix = $libGRAPHBLASVersionCompat
lib:libklu$secondaryArchSuffix = $libKLUVersionCompat
lib:libklu_cholmod$secondaryArchSuffix = $libKLUVersionCompat
lib:liblagraph$secondaryArchSuffix = libLAGRAPHVersionCompat
lib:liblagraphx$secondaryArchSuffix = libLAGRAPHVersionCompat
lib:libldl$secondaryArchSuffix = $libLDLVersionCompat
lib:libmetis$secondaryArchSuffix = $libMETISVersionCompat
lib:libmongoose$secondaryArchSuffix = $libMONGOOSEVersionCompat
lib:libparu$secondaryArchSuffix = $libPARUVersionCompat
lib:librbio$secondaryArchSuffix = $libRBIOVersionCompat
lib:libspex$secondaryArchSuffix = $libSPEXVersionCompat
lib:libspexpython$secondaryArchSuffix = $libSPEXVersionCompat
lib:libspqr$secondaryArchSuffix = $libSPQRVersionCompat
lib:libsuitesparse_mongoose$secondaryArchSuffix = $libMONGOOSEVersionCompat
lib:libsuitesparseconfig$secondaryArchSuffix = $libSUITESPARSE_CONFIGVersionCompat
lib:libumfpack$secondaryArchSuffix = $libUMFPACKVersionCompat
"
@@ -89,27 +98,11 @@ REQUIRES="
haiku$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:libgfortran$secondaryArchSuffix
lib:liblapack$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libmpfr$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
@@ -122,11 +115,16 @@ PROVIDES_devel="
devel:libcxsparse$secondaryArchSuffix = $libCXSPARSEVersion
devel:libgraphblas$secondaryArchSuffix = $libGRAPHBLASVersion
devel:libklu$secondaryArchSuffix = $libKLUVersion
devel:libklu_cholmod$secondaryArchSuffix = $libKLUVersionCompat
devel:liblagraph$secondaryArchSuffix = libLAGRAPHVersionCompat
devel:liblagraphx$secondaryArchSuffix = libLAGRAPHVersionCompat
devel:libldl$secondaryArchSuffix = $libLDLVersion
devel:libmetis$secondaryArchSuffix = $libMETISVersion
devel:libmongoose$secondaryArchSuffix = $libMONGOOSEVersion
devel:libparu$secondaryArchSuffix = $libPARUVersionCompat
devel:librbio$secondaryArchSuffix = $libRBIOVersion
devel:libspex$secondaryArchSuffix = $libSPEXVersionCompat
devel:libspexpython$secondaryArchSuffix = $libSPEXVersionCompat
devel:libspqr$secondaryArchSuffix = $libSPQRVersion
devel:libsuitesparse_mongoose$secondaryArchSuffix = $libMONGOOSEVersion
devel:libsuitesparseconfig$secondaryArchSuffix = $libSUITESPARSE_CONFIGVersion
devel:libumfpack$secondaryArchSuffix = $libUMFPACKVersion
devel:suitesparse$secondaryArchSuffix = $libSUITESPARSE_CONFIGVersion
@@ -136,7 +134,6 @@ REQUIRES_devel="
suitesparse$secondaryArchSuffix == $portVersion base
devel:libexecinfo$secondaryArchSuffix
devel:libgfortran$secondaryArchSuffix
devel:liblapack$secondaryArchSuffix
devel:libopenblas$secondaryArchSuffix
devel:libtbb$secondaryArchSuffix
"
@@ -145,7 +142,8 @@ BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libexecinfo$secondaryArchSuffix
devel:libgfortran$secondaryArchSuffix
devel:liblapack$secondaryArchSuffix
devel:libgmp$secondaryArchSuffix >= 10.5.0
devel:libmpfr$secondaryArchSuffix >= 6
devel:libopenblas$secondaryArchSuffix
devel:libtbb$secondaryArchSuffix
"
@@ -175,18 +173,25 @@ defineDebugInfoPackage suitesparse$secondaryArchSuffix \
"$libDir"/libcxsparse.so.$libCXSPARSEVersion \
"$libDir"/libgraphblas.so.$libGRAPHBLASVersion \
"$libDir"/libklu.so.$libKLUVersion \
"$libDir"/libklu_cholmod.so.$libKLUVersion \
"$libDir"/liblagraph.so.$libLAGRAPHVersion \
"$libDir"/liblagraphx.so.$libLAGRAPHVersion \
"$libDir"/libldl.so.$libLDLVersion \
"$libDir"/libmetis.so \
"$libDir"/libmongoose.so.$libMONGOOSEVersion \
"$libDir"/libparu.so.$libPARUVersion \
"$libDir"/libsuitesparse_mongoose.so.$libMONGOOSEVersion \
"$libDir"/librbio.so.$libRBIOVersion \
"$libDir"/libspex.so.$libSPEXVersion \
"$libDir"/libspexpython.so.$libSPEXVersion \
"$libDir"/libspqr.so.$libSPQRVersion \
"$libDir"/libumfpack.so.$libUMFPACKVersion
BUILD()
{
CMAKE_OPTIONS="$cmakeDirArgs" LIBRARY_PATH="$sourceDir/lib:$LIBRARY_PATH" \
CMAKE_OPTIONS="$cmakeDirArgs" CMAKE_POLICY_VERSION_MINIMUM=3.5 \
LIBRARY_PATH="$sourceDir/lib:$LIBRARY_PATH" \
LDFLAGS="-lnetwork -lbsd -lexecinfo" CF="-D_BSD_SOURCE" \
TBB="-ltbb" SPQR_CONFIG="-DHAVE_TBB" make library $jobArgs
TBB="-ltbb" SPQR_CONFIG="-DHAVE_TBB" make library \
$jobArgs
# make TBB="-ltbb" $jobArgs # for building and running tests
}
@@ -198,7 +203,7 @@ INSTALL()
INSTALL_LIB="$libDir" INSTALL_INCLUDE="$includeDir" \
INSTALL_DOC="$docDir" make install
rm $libDir/libmongoose.a
rm $libDir/*.a
prepareInstalledDevelLibs libamd \
libbtf \
@@ -209,17 +214,22 @@ INSTALL()
libcxsparse \
libgraphblas \
libklu \
libklu_cholmod \
liblagraph \
liblagraphx \
libldl \
libmetis \
libmongoose \
libparu \
libspex \
libspexpython \
librbio \
libspqr \
libsuitesparse_mongoose \
libsuitesparseconfig \
libumfpack
fixPkgconfig
# DEVEL
packageEntries devel \
$developDir
$developDir \
$libDir/cmake
}

View File

@@ -0,0 +1,179 @@
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="4"
SOURCE_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="5ba5add1663d51a1b6fb128b50fe869b497f3096765ff7f8212f0ede044b9557"
SOURCE_DIR="SuiteSparse-$portVersion"
PATCHES="suitesparse-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
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.14"
libCHOLMODVersionCompat="$libCHOLMODVersion compat >= ${libCHOLMODVersion%%.*}"
libCOLAMDVersion="2.9.6"
libCOLAMDVersionCompat="$libCOLAMDVersion compat >= ${libCOLAMDVersion%%.*}"
libCXSPARSEVersion="3.2.0"
libCXSPARSEVersionCompat="$libCXSPARSEVersion compat >= ${libCXSPARSEVersion%%.*}"
libGRAPHBLASVersion="3.2.0"
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.7.1"
libSUITESPARSE_CONFIGVersionCompat="$libSUITESPARSE_CONFIGVersion compat >= ${libSUITESPARSE_CONFIGVersion%%.*}"
libUMFPACKVersion="5.7.9"
libUMFPACKVersionCompat="$libUMFPACKVersion compat >= ${libUMFPACKVersion%%.*}"
tbbVersion="2018.5"
PROVIDES="
suitesparse5$secondaryArchSuffix = $portVersion
cmd:mongoose$secondaryArchSuffix
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:libopenblas$secondaryArchSuffix
lib:libtbb$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libexecinfo$secondaryArchSuffix
devel:libgfortran$secondaryArchSuffix
devel:libopenblas$secondaryArchSuffix
devel:libtbb$secondaryArchSuffix >= $tbbVersion
"
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:python3
"
defineDebugInfoPackage suitesparse5$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" CMAKE_POLICY_VERSION_MINIMUM=3.5 \
LIBRARY_PATH="$sourceDir/lib:$LIBRARY_PATH" \
LDFLAGS="-lnetwork -lbsd -lexecinfo" CF="-D_BSD_SOURCE" \
TBB="-ltbb" SPQR_CONFIG="-DHAVE_TBB" LAPACK="-lopenblas" 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" LAPACK="-lopenblas" make install
rm $libDir/libmongoose.a
prepareInstalledDevelLibs libamd \
libbtf \
libcamd \
libccolamd \
libcholmod \
libcolamd \
libcxsparse \
libgraphblas \
libklu \
libldl \
libmetis \
libmongoose \
librbio \
libspqr \
libsuitesparseconfig \
libumfpack
fixPkgconfig
# we only need the libraries
rm -rf $developDir $documentationDir
}