pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
suitesparse: Set of packages for sparse matrices calculation
Module Name: pkgsrc-wip
Committed By: Jason W. Bacon <bacon4000%gmail.com@localhost>
Pushed By: outpaddling
Date: Wed Dec 18 10:39:12 2024 -0600
Changeset: e55492ae5df1a037a36a9986eb00aad72215354b
Modified Files:
Makefile
Added Files:
suitesparse/DESCR
suitesparse/Makefile
suitesparse/PLIST
suitesparse/buildlink3.mk
suitesparse/distinfo
suitesparse/files/SuiteSparse_config.mk
suitesparse/patches/patch-GraphBLAS_CMakeLists.txt
suitesparse/patches/patch-ParU_Source_paru__init__rowFronts.cpp
suitesparse/patches/patch-SPQR_Source_spqr__factorize.cpp
Log Message:
suitesparse: Set of packages for sparse matrices calculation
Testing patch for RHEL 8
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=e55492ae5df1a037a36a9986eb00aad72215354b
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 7 +-
suitesparse/DESCR | 14 +
suitesparse/Makefile | 25 ++
suitesparse/PLIST | 211 +++++++++++
suitesparse/buildlink3.mk | 15 +
suitesparse/distinfo | 8 +
suitesparse/files/SuiteSparse_config.mk | 397 +++++++++++++++++++++
suitesparse/patches/patch-GraphBLAS_CMakeLists.txt | 15 +
.../patch-ParU_Source_paru__init__rowFronts.cpp | 15 +
.../patches/patch-SPQR_Source_spqr__factorize.cpp | 14 +
10 files changed, 720 insertions(+), 1 deletion(-)
diffs:
diff --git a/Makefile b/Makefile
index 7dab1039b7..6dbebd0d2c 100644
--- a/Makefile
+++ b/Makefile
@@ -1403,6 +1403,7 @@ SUBDIR+= grsync
SUBDIR+= grub2-current
SUBDIR+= gscan2pdf
SUBDIR+= gsdpdf
+SUBDIR+= gsettings-desktop-schemas
SUBDIR+= gsmartcontrol
SUBDIR+= gst-plugins1-gl
SUBDIR+= gst-plugins1-svt-vp9
@@ -1446,7 +1447,6 @@ SUBDIR+= guile-persist
SUBDIR+= guile-reader
SUBDIR+= guile-sjson
SUBDIR+= guile-stis-parser
-SUBDIR+= gumbo-parser
SUBDIR+= gunison
SUBDIR+= gupnp-ui
SUBDIR+= gurlchecker
@@ -2559,6 +2559,8 @@ SUBDIR+= newt
SUBDIR+= nextpnr
SUBDIR+= nfcapdu
SUBDIR+= nfstrace
+SUBDIR+= ng-spice-dev
+SUBDIR+= ng-spice-shared-dev
SUBDIR+= nget
SUBDIR+= nginx-modular
SUBDIR+= nginx-module-array-var
@@ -3962,6 +3964,7 @@ SUBDIR+= py-jewish
SUBDIR+= py-jitcdde
SUBDIR+= py-jitcode
SUBDIR+= py-jitcxde-common
+SUBDIR+= py-jiter
SUBDIR+= py-jose
SUBDIR+= py-joypy
SUBDIR+= py-json-stream
@@ -5414,6 +5417,7 @@ SUBDIR+= structure
SUBDIR+= stumpwm
SUBDIR+= subread
SUBDIR+= subsync
+SUBDIR+= suitesparse
SUBDIR+= sulley
SUBDIR+= sundials
SUBDIR+= sunterlib
@@ -6066,6 +6070,7 @@ SUBDIR+= yersinia
SUBDIR+= yet-another-cloudwatch-exporter
SUBDIR+= yi
SUBDIR+= yoda
+SUBDIR+= yosys-dev
SUBDIR+= you-get
SUBDIR+= yp-tools
SUBDIR+= ypbind-mt
diff --git a/suitesparse/DESCR b/suitesparse/DESCR
new file mode 100644
index 0000000000..e13eee0f61
--- /dev/null
+++ b/suitesparse/DESCR
@@ -0,0 +1,14 @@
+SuiteSparse is a set of sparse matrices libraries.
+It contains:
+ * AMD: symmetric approximate minimum degree
+ * BTF: permutation to block triangular form (beta)
+ * CCOLAMD: constrained column approximate minimum degree
+ * COLAMD: column approximate minimum degree
+ * CHOLMOD: sparse supernodal Cholesky factorization and
+ update/downdate
+ * KLU: sparse LU factorization, for circuit simulation (beta)
+ * LDL: a simple LDL^T factorization
+ * UMFPACK: sparse multifrontal LU factorization
+ * UFconfig: common configuration for all of the above
+ * CSparse: a concise sparse matrix package
+ * CXSparse: and extended version of CSparse
diff --git a/suitesparse/Makefile b/suitesparse/Makefile
new file mode 100644
index 0000000000..8a2374f957
--- /dev/null
+++ b/suitesparse/Makefile
@@ -0,0 +1,25 @@
+# $NetBSD: Makefile,v 1.4 2024/08/27 17:24:54 ktnb Exp $
+
+DISTNAME= SuiteSparse-7.8.2
+PKGNAME= ${DISTNAME:tl}
+CATEGORIES= math
+MASTER_SITES= ${MASTER_SITE_GITHUB:=DrTimothyAldenDavis/}
+GITHUB_TAG= v${PKGVERSION_NOREV}
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= http://www.cise.ufl.edu/research/sparse/SuiteSparse/
+COMMENT= Set of packages for sparse matrices calculation
+LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2
+
+USE_LANGUAGES= c c++ fortran8
+
+WRKSRC= ${WRKDIR}/${DISTNAME}
+
+.include "../../devel/cmake/build.mk"
+.include "../../mk/blas.buildlink3.mk"
+.include "../../math/metis/buildlink3.mk"
+.include "../../math/mpfr/buildlink3.mk"
+.include "../../math/openblas/buildlink3.mk"
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../parallel/openmp/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/suitesparse/PLIST b/suitesparse/PLIST
new file mode 100644
index 0000000000..7aab896ec6
--- /dev/null
+++ b/suitesparse/PLIST
@@ -0,0 +1,211 @@
+@comment $NetBSD: PLIST,v 1.4 2024/08/27 17:24:54 ktnb Exp $
+bin/suitesparse_mongoose
+include/suitesparse/GraphBLAS.h
+include/suitesparse/LAGraph.h
+include/suitesparse/LAGraphX.h
+include/suitesparse/Mongoose.hpp
+include/suitesparse/ParU.h
+include/suitesparse/RBio.h
+include/suitesparse/SPEX.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/colamd.h
+include/suitesparse/cs.h
+include/suitesparse/klu.h
+include/suitesparse/klu_cholmod.h
+include/suitesparse/ldl.h
+include/suitesparse/spex_python_connect.h
+include/suitesparse/umfpack.h
+lib/cmake/AMD/AMDConfig.cmake
+lib/cmake/AMD/AMDConfigVersion.cmake
+lib/cmake/AMD/AMDTargets-release.cmake
+lib/cmake/AMD/AMDTargets.cmake
+lib/cmake/BTF/BTFConfig.cmake
+lib/cmake/BTF/BTFConfigVersion.cmake
+lib/cmake/BTF/BTFTargets-release.cmake
+lib/cmake/BTF/BTFTargets.cmake
+lib/cmake/CAMD/CAMDConfig.cmake
+lib/cmake/CAMD/CAMDConfigVersion.cmake
+lib/cmake/CAMD/CAMDTargets-release.cmake
+lib/cmake/CAMD/CAMDTargets.cmake
+lib/cmake/CCOLAMD/CCOLAMDConfig.cmake
+lib/cmake/CCOLAMD/CCOLAMDConfigVersion.cmake
+lib/cmake/CCOLAMD/CCOLAMDTargets-release.cmake
+lib/cmake/CCOLAMD/CCOLAMDTargets.cmake
+lib/cmake/CHOLMOD/CHOLMODConfig.cmake
+lib/cmake/CHOLMOD/CHOLMODConfigVersion.cmake
+lib/cmake/CHOLMOD/CHOLMODTargets-release.cmake
+lib/cmake/CHOLMOD/CHOLMODTargets.cmake
+lib/cmake/COLAMD/COLAMDConfig.cmake
+lib/cmake/COLAMD/COLAMDConfigVersion.cmake
+lib/cmake/COLAMD/COLAMDTargets-release.cmake
+lib/cmake/COLAMD/COLAMDTargets.cmake
+lib/cmake/CXSparse/CXSparseConfig.cmake
+lib/cmake/CXSparse/CXSparseConfigVersion.cmake
+lib/cmake/CXSparse/CXSparseTargets-release.cmake
+lib/cmake/CXSparse/CXSparseTargets.cmake
+lib/cmake/GraphBLAS/GraphBLASConfig.cmake
+lib/cmake/GraphBLAS/GraphBLASConfigVersion.cmake
+lib/cmake/GraphBLAS/GraphBLASTargets-release.cmake
+lib/cmake/GraphBLAS/GraphBLASTargets.cmake
+lib/cmake/KLU/KLUConfig.cmake
+lib/cmake/KLU/KLUConfigVersion.cmake
+lib/cmake/KLU/KLUTargets-release.cmake
+lib/cmake/KLU/KLUTargets.cmake
+lib/cmake/KLU_CHOLMOD/KLU_CHOLMODConfig.cmake
+lib/cmake/KLU_CHOLMOD/KLU_CHOLMODConfigVersion.cmake
+lib/cmake/KLU_CHOLMOD/KLU_CHOLMODTargets-release.cmake
+lib/cmake/KLU_CHOLMOD/KLU_CHOLMODTargets.cmake
+lib/cmake/LAGraph/FindGraphBLAS.cmake
+lib/cmake/LAGraph/LAGraphConfig.cmake
+lib/cmake/LAGraph/LAGraphConfigVersion.cmake
+lib/cmake/LAGraph/LAGraphTargets-release.cmake
+lib/cmake/LAGraph/LAGraphTargets.cmake
+lib/cmake/LDL/LDLConfig.cmake
+lib/cmake/LDL/LDLConfigVersion.cmake
+lib/cmake/LDL/LDLTargets-release.cmake
+lib/cmake/LDL/LDLTargets.cmake
+lib/cmake/ParU/ParUConfig.cmake
+lib/cmake/ParU/ParUConfigVersion.cmake
+lib/cmake/ParU/ParUTargets-release.cmake
+lib/cmake/ParU/ParUTargets.cmake
+lib/cmake/RBio/RBioConfig.cmake
+lib/cmake/RBio/RBioConfigVersion.cmake
+lib/cmake/RBio/RBioTargets-release.cmake
+lib/cmake/RBio/RBioTargets.cmake
+lib/cmake/SPEX/FindGMP.cmake
+lib/cmake/SPEX/FindMPFR.cmake
+lib/cmake/SPEX/SPEXConfig.cmake
+lib/cmake/SPEX/SPEXConfigVersion.cmake
+lib/cmake/SPEX/SPEXTargets-release.cmake
+lib/cmake/SPEX/SPEXTargets.cmake
+lib/cmake/SPQR/SPQRConfig.cmake
+lib/cmake/SPQR/SPQRConfigVersion.cmake
+lib/cmake/SPQR/SPQRTargets-release.cmake
+lib/cmake/SPQR/SPQRTargets.cmake
+lib/cmake/SuiteSparse/SuiteSparseBLAS.cmake
+lib/cmake/SuiteSparse/SuiteSparseBLAS32.cmake
+lib/cmake/SuiteSparse/SuiteSparseBLAS64.cmake
+lib/cmake/SuiteSparse/SuiteSparseLAPACK.cmake
+lib/cmake/SuiteSparse/SuiteSparsePolicy.cmake
+lib/cmake/SuiteSparse/SuiteSparseReport.cmake
+lib/cmake/SuiteSparse/SuiteSparse__thread.cmake
+lib/cmake/SuiteSparse_Mongoose/SuiteSparse_MongooseConfig.cmake
+lib/cmake/SuiteSparse_Mongoose/SuiteSparse_MongooseConfigVersion.cmake
+lib/cmake/SuiteSparse_Mongoose/SuiteSparse_MongooseTargets-release.cmake
+lib/cmake/SuiteSparse_Mongoose/SuiteSparse_MongooseTargets.cmake
+lib/cmake/SuiteSparse_config/SuiteSparse_configConfig.cmake
+lib/cmake/SuiteSparse_config/SuiteSparse_configConfigVersion.cmake
+lib/cmake/SuiteSparse_config/SuiteSparse_configTargets-release.cmake
+lib/cmake/SuiteSparse_config/SuiteSparse_configTargets.cmake
+lib/cmake/UMFPACK/UMFPACKConfig.cmake
+lib/cmake/UMFPACK/UMFPACKConfigVersion.cmake
+lib/cmake/UMFPACK/UMFPACKTargets-release.cmake
+lib/cmake/UMFPACK/UMFPACKTargets.cmake
+lib/libamd.a
+lib/libamd.so
+lib/libamd.so.3
+lib/libamd.so.3.3.3
+lib/libbtf.a
+lib/libbtf.so
+lib/libbtf.so.2
+lib/libbtf.so.2.3.2
+lib/libcamd.a
+lib/libcamd.so
+lib/libcamd.so.3
+lib/libcamd.so.3.3.3
+lib/libccolamd.a
+lib/libccolamd.so
+lib/libccolamd.so.3
+lib/libccolamd.so.3.3.4
+lib/libcholmod.a
+lib/libcholmod.so
+lib/libcholmod.so.5
+lib/libcholmod.so.5.3.0
+lib/libcolamd.a
+lib/libcolamd.so
+lib/libcolamd.so.3
+lib/libcolamd.so.3.3.4
+lib/libcxsparse.a
+lib/libcxsparse.so
+lib/libcxsparse.so.4
+lib/libcxsparse.so.4.4.1
+lib/libgraphblas.so
+lib/libgraphblas.so.9
+lib/libgraphblas.so.9.3.1
+lib/libklu.a
+lib/libklu.so
+lib/libklu.so.2
+lib/libklu.so.2.3.4
+lib/libklu_cholmod.a
+lib/libklu_cholmod.so
+lib/libklu_cholmod.so.2
+lib/libklu_cholmod.so.2.3.4
+lib/liblagraph.a
+lib/liblagraph.so
+lib/liblagraph.so.1
+lib/liblagraph.so.1.1.4
+lib/liblagraphx.a
+lib/liblagraphx.so
+lib/liblagraphx.so.1
+lib/liblagraphx.so.1.1.4
+lib/libldl.a
+lib/libldl.so
+lib/libldl.so.3
+lib/libldl.so.3.3.2
+lib/libparu.a
+lib/libparu.so
+lib/libparu.so.0
+lib/libparu.so.0.3.0
+lib/librbio.a
+lib/librbio.so
+lib/librbio.so.4
+lib/librbio.so.4.3.3
+lib/libspex.a
+lib/libspex.so
+lib/libspex.so.3
+lib/libspex.so.3.2.1
+lib/libspexpython.so
+lib/libspexpython.so.3
+lib/libspexpython.so.3.2.1
+lib/libspqr.a
+lib/libspqr.so
+lib/libspqr.so.4
+lib/libspqr.so.4.3.4
+lib/libsuitesparse_mongoose.a
+lib/libsuitesparse_mongoose.so
+lib/libsuitesparse_mongoose.so.3
+lib/libsuitesparseconfig.a
+lib/libsuitesparseconfig.so
+lib/libsuitesparseconfig.so.7
+lib/libsuitesparseconfig.so.${PKGVERSION}
+lib/libumfpack.a
+lib/libumfpack.so
+lib/libumfpack.so.6
+lib/libumfpack.so.6.3.4
+lib/pkgconfig/AMD.pc
+lib/pkgconfig/BTF.pc
+lib/pkgconfig/CAMD.pc
+lib/pkgconfig/CCOLAMD.pc
+lib/pkgconfig/CHOLMOD.pc
+lib/pkgconfig/COLAMD.pc
+lib/pkgconfig/CXSparse.pc
+lib/pkgconfig/GraphBLAS.pc
+lib/pkgconfig/KLU.pc
+lib/pkgconfig/KLU_CHOLMOD.pc
+lib/pkgconfig/LAGraph.pc
+lib/pkgconfig/LDL.pc
+lib/pkgconfig/ParU.pc
+lib/pkgconfig/RBio.pc
+lib/pkgconfig/SPEX.pc
+lib/pkgconfig/SPQR.pc
+lib/pkgconfig/SuiteSparse_Mongoose.pc
+lib/pkgconfig/SuiteSparse_config.pc
+lib/pkgconfig/UMFPACK.pc
diff --git a/suitesparse/buildlink3.mk b/suitesparse/buildlink3.mk
new file mode 100644
index 0000000000..dfa96b35c7
--- /dev/null
+++ b/suitesparse/buildlink3.mk
@@ -0,0 +1,15 @@
+# $NetBSD: buildlink3.mk,v 1.1 2024/06/14 13:19:53 ktnb Exp $
+
+BUILDLINK_TREE+= suitesparse
+
+.if !defined(SUITESPARSE_BUILDLINK3_MK)
+SUITESPARSE_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.suitesparse+= suitesparse>=3.6.1
+BUILDLINK_PKGSRCDIR.suitesparse?= ../../math/suitesparse
+
+.include "../../mk/blas.buildlink3.mk"
+.include "../../math/metis/buildlink3.mk"
+.endif # SUITESPARSE_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -suitesparse
diff --git a/suitesparse/distinfo b/suitesparse/distinfo
new file mode 100644
index 0000000000..e2288e2769
--- /dev/null
+++ b/suitesparse/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.4 2024/08/27 17:24:54 ktnb Exp $
+
+BLAKE2s (SuiteSparse-7.8.2.tar.gz) = 098fcd79dfe355e65b366e112745fa77dab1889cc48ae44bbb0158dc2bbd3100
+SHA512 (SuiteSparse-7.8.2.tar.gz) = beb9ea85b47e46785a91913d0b52ef86a59f797f3a3a6df4fced31c4f990277ef627b6baae52256dea10e60e4eff5e82e8b5a3d6e20a63de47953674cf34f921
+Size (SuiteSparse-7.8.2.tar.gz) = 87337633 bytes
+SHA1 (patch-GraphBLAS_CMakeLists.txt) = 2f32b3534f08bcfd7fa5fc53dccbc6fd283a9976
+SHA1 (patch-ParU_Source_paru__init__rowFronts.cpp) = 88cb3a0a5ebcb5809315d21813335b43358ee8a8
+SHA1 (patch-SPQR_Source_spqr__factorize.cpp) = f8ad367e749435058f8df7c3961af8cf8b7dfb95
diff --git a/suitesparse/files/SuiteSparse_config.mk b/suitesparse/files/SuiteSparse_config.mk
new file mode 100644
index 0000000000..7098688afb
--- /dev/null
+++ b/suitesparse/files/SuiteSparse_config.mk
@@ -0,0 +1,397 @@
+#===============================================================================
+# SuiteSparse_config.mk: common configuration file for the SuiteSparse
+#===============================================================================
+
+# This file contains all configuration settings for all packages authored or
+# co-authored by Tim Davis:
+#
+# Package Version Description
+# ------- ------- -----------
+# AMD 1.2 or later approximate minimum degree ordering
+# COLAMD 2.4 or later column approximate minimum degree ordering
+# CCOLAMD 1.0 or later constrained column approximate minimum degree ordering
+# CAMD any constrained approximate minimum degree ordering
+# UMFPACK 4.5 or later sparse LU factorization, with the BLAS
+# CHOLMOD any sparse Cholesky factorization, update/downdate
+# KLU 0.8 or later sparse LU factorization, BLAS-free
+# BTF 0.8 or later permutation to block triangular form
+# LDL 1.2 or later concise sparse LDL'
+# CXSparse any extended version of CSparse (int/long, real/complex)
+# SuiteSparseQR any sparse QR factorization
+# RBio 2.0 or later read/write sparse matrices in Rutherford-Boeing format
+#
+# By design, this file is NOT included in the CSparse makefile.
+# That package is fully stand-alone. CSparse is primarily for teaching;
+# production code should use CXSparse.
+#
+# The SuiteSparse_config directory and the above packages should all appear in
+# a single directory, in order for the Makefile's within each package to find
+# this file.
+#
+# To enable an option of the form "# OPTION = ...", edit this file and
+# delete the "#" in the first column of the option you wish to use, or
+# simply override variables on the "make" command line, e.g.
+#
+# make PREFIX=/opt/local LOCALBASE=/opt/local CFLAGS="-O3 -Wall"
+#
+# The use of METIS 4.0.1 is optional. To exclude METIS, you must compile with
+# CHOLMOD_CONFIG set to -DNPARTITION. See below for details. However, if you
+# do not have a metis-4.0 directory inside the SuiteSparse directory, the
+# */Makefile's that optionally rely on METIS will automatically detect this
+# and compile without METIS.
+
+#------------------------------------------------------------------------------
+# Generic configuration
+#------------------------------------------------------------------------------
+
+# Using standard definitions from the make environment, typically:
+#
+# CC cc C compiler
+# CXX g++ C++ compiler
+# CFLAGS [ ] flags for C
+# CXXFLAGS [ ] flags for C++ compiler
+# CPPFLAGS [ ] flags for C and C++ preprocessor
+# TARGET_ARCH [ ] target architecture
+# FFLAGS [ ] flags for Fortran compiler
+# RM rm -f delete a file
+# AR ar create a static *.a library archive
+# ARFLAGS rv flags for ar
+# MAKE make make itself (sometimes called gmake)
+#
+# You can redefine them here, but by default they are used from the
+# default make environment.
+
+# C and C++ compiler flags. The first three are standard for *.c and *.cpp
+# Add -DNTIMER if you do use any timing routines (otherwise -lrt is required).
+# CF = $(CFLAGS) $(CXXFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC -DNTIMER
+CF ?= $(CPPFLAGS) $(CFLAGS) $(CXXFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC
+
+# ranlib, and ar, for generating libraries. If you don't need ranlib,
+# just change it to RANLAB = echo
+RANLIB ?= ranlib
+ARCHIVE ?= $(AR) $(ARFLAGS)
+
+# copy and delete a file
+CP ?= cp -f
+MV ?= mv -f
+
+# Fortran compiler (not required for 'make' or 'make library')
+F77FLAGS ?= -O ${PICFLAG}
+F77LIB ?=
+
+# C and Fortran libraries. Remove -lrt if you don't have it.
+# LIB ?= -lm -lrt
+LIB ?= -lm
+# Using the following requires CF = ... -DNTIMER on POSIX C systems.
+# LIB = -lm
+
+# For "make install"
+LOCALBASE ?= /usr/local
+PREFIX ?= ${LOCALBASE}
+INSTALL_LIB ?= ${PREFIX}/lib
+INSTALL_INCLUDE ?= ${PREFIX}/include
+
+# Which version of MAKE you are using (default is "make")
+MAKE ?= make
+
+#------------------------------------------------------------------------------
+# BLAS and LAPACK configuration:
+#------------------------------------------------------------------------------
+
+# UMFPACK and CHOLMOD both require the BLAS. CHOLMOD also requires LAPACK.
+# See Kazushige Goto's BLAS at http://www.cs.utexas.edu/users/flame/goto/ or
+# http://www.tacc.utexas.edu/~kgoto/ for the best BLAS to use with CHOLMOD.
+# LAPACK is at http://www.netlib.org/lapack/ . You can use the standard
+# Fortran LAPACK along with Goto's BLAS to obtain very good performance.
+# CHOLMOD gets a peak numeric factorization rate of 3.6 Gflops on a 3.2 GHz
+# Pentium 4 (512K cache, 4GB main memory) with the Goto BLAS, and 6 Gflops
+# on a 2.5Ghz dual-core AMD Opteron.
+
+# These settings will probably not work, since there is no fixed convention for
+# naming the BLAS and LAPACK library (*.a or *.so) files.
+
+# This is probably slow ... it might connect to the Standard Reference BLAS:
+BLAS ?= -L${LOCALBASE}/lib -lblas
+LAPACK ?= -L${LOCALBASE}/lib -llapack
+
+# NOTE: this next option for the "Goto BLAS" has nothing to do with a "goto"
+# statement. Rather, the Goto BLAS is written by Dr. Kazushige Goto.
+# Using the Goto BLAS:
+# BLAS = -lgoto -lgfortran -lgfortranbegin
+# BLAS = -lgoto2 -lgfortran -lgfortranbegin -lpthread
+
+# Using non-optimized versions:
+# BLAS = -lblas_plain -lgfortran -lgfortranbegin
+# LAPACK = -llapack_plain
+
+# BLAS = -lblas_plain -lgfortran -lgfortranbegin
+# LAPACK = -llapack
+
+# The BLAS might not contain xerbla, an error-handling routine for LAPACK and
+# the BLAS. Also, the standard xerbla requires the Fortran I/O library, and
+# stops the application program if an error occurs. A C version of xerbla
+# distributed with this software (SuiteSparse_config/xerbla/libcerbla.a)
+# includes a Fortran-callable xerbla routine that prints nothing and does not
+# stop the application program. This is optional.
+
+XERBLA ?= ../../SuiteSparse_config/xerbla/libcerbla.a
+
+# If you wish to use the XERBLA in LAPACK and/or the BLAS instead,
+# use this option:
+# XERBLA =
+
+# If you wish to use the Fortran SuiteSparse_config/xerbla/xerbla.f instead,
+# use this:
+
+# XERBLA = ../../SuiteSparse_config/xerbla/libxerbla.a
+
+#------------------------------------------------------------------------------
+# GPU configuration for CHOLMOD, using the CUDA BLAS
+#------------------------------------------------------------------------------
+
+# no cuda
+GPU_BLAS_PATH ?=
+GPU_CONFIG ?=
+
+# with cuda BLAS acceleration for CHOLMOD
+# GPU_BLAS_PATH=/Users/bacon/Pkgsrc/pkg-1/cuda
+# GPU_CONFIG=-DGPU_BLAS -I$(GPU_BLAS_PATH)/include
+
+#------------------------------------------------------------------------------
+# METIS, optionally used by CHOLMOD
+#------------------------------------------------------------------------------
+
+# If you do not have METIS, or do not wish to use it in CHOLMOD, you must
+# compile CHOLMOD with the -DNPARTITION flag.
+
+# The path is relative to where it is used, in CHOLMOD/Lib, CHOLMOD/MATLAB, etc.
+# You may wish to use an absolute path. METIS is optional. Compile
+# CHOLMOD with -DNPARTITION if you do not wish to use METIS.
+METIS_PATH ?=
+METIS ?=
+
+#------------------------------------------------------------------------------
+# UMFPACK configuration:
+#------------------------------------------------------------------------------
+
+# Configuration flags for UMFPACK. See UMFPACK/Source/umf_config.h for details.
+#
+# -DNBLAS do not use the BLAS. UMFPACK will be very slow.
+# -D'LONGBLAS=long' or -DLONGBLAS='long long' defines the integers used by
+# LAPACK and the BLAS (defaults to 'int')
+# -DNSUNPERF do not use the Sun Perf. Library (default is use it on Solaris)
+# -DNRECIPROCAL do not multiply by the reciprocal
+# -DNO_DIVIDE_BY_ZERO do not divide by zero
+# -DNCHOLMOD do not use CHOLMOD as a ordering method. If -DNCHOLMOD is
+# included in UMFPACK_CONFIG, then UMFPACK does not rely on
+# CHOLMOD, CAMD, CCOLAMD, COLAMD, and METIS.
+
+UMFPACK_CONFIG ?=
+
+# uncomment this line to compile UMFPACK without CHOLMOD:
+# UMFPACK_CONFIG = -DNCHOLMOD
+
+#------------------------------------------------------------------------------
+# CHOLMOD configuration
+#------------------------------------------------------------------------------
+
+# CHOLMOD Library Modules, which appear in libcholmod.a:
+# Core requires: none
+# Check requires: Core
+# Cholesky requires: Core, AMD, COLAMD. optional: Partition, Supernodal
+# MatrixOps requires: Core
+# Modify requires: Core
+# Partition requires: Core, CCOLAMD, METIS. optional: Cholesky
+# Supernodal requires: Core, BLAS, LAPACK
+#
+# CHOLMOD test/demo Modules (all are GNU GPL, do not appear in libcholmod.a):
+# Tcov requires: Core, Check, Cholesky, MatrixOps, Modify, Supernodal
+# optional: Partition
+# Valgrind same as Tcov
+# Demo requires: Core, Check, Cholesky, MatrixOps, Supernodal
+# optional: Partition
+#
+# Configuration flags:
+# -DNCHECK do not include the Check module. License GNU LGPL
+# -DNCHOLESKY do not include the Cholesky module. License GNU LGPL
+# -DNPARTITION do not include the Partition module. License GNU LGPL
+# also do not include METIS.
+# -DNGPL do not include any GNU GPL Modules in the CHOLMOD library:
+# -DNMATRIXOPS do not include the MatrixOps module. License GNU GPL
+# -DNMODIFY do not include the Modify module. License GNU GPL
+# -DNSUPERNODAL do not include the Supernodal module. License GNU GPL
+#
+# -DNPRINT do not print anything.
+# -D'LONGBLAS=long' or -DLONGBLAS='long long' defines the integers used by
+# LAPACK and the BLAS (defaults to 'int')
+# -DNSUNPERF for Solaris only. If defined, do not use the Sun
+# Performance Library
+
+CHOLMOD_CONFIG ?= -DNPARTITION
+
+# uncomment this line to compile CHOLMOD without METIS:
+# CHOLMOD_CONFIG = -DNPARTITION
+
+#------------------------------------------------------------------------------
+# SuiteSparseQR configuration:
+#------------------------------------------------------------------------------
+
+# The SuiteSparseQR library can be compiled with the following options:
+#
+# -DNPARTITION do not include the CHOLMOD partition module
+# -DNEXPERT do not include the functions in SuiteSparseQR_expert.cpp
+# -DHAVE_TBB enable the use of Intel's Threading Building Blocks (TBB)
+
+# default, without timing, without TBB:
+SPQR_CONFIG ?= -DNPARTITION
+# with TBB:
+# SPQR_CONFIG = -DHAVE_TBB
+
+# This is needed for IBM AIX: (but not for and C codes, just C++)
+# SPQR_CONFIG = -DBLAS_NO_UNDERSCORE
+
+# with TBB, you must select this:
+# TBB = -ltbb
+# without TBB:
+TBB ?=
+
+#------------------------------------------------------------------------------
+# Linux
+#------------------------------------------------------------------------------
+
+# Using default compilers:
+# CC = gcc
+# CF = $(CFLAGS) -O3 -fexceptions
+
+# alternatives:
+# CF = $(CFLAGS) -g -fexceptions \
+ -Wall -W -Wshadow -Wmissing-prototypes -Wstrict-prototypes \
+ -Wredundant-decls -Wnested-externs -Wdisabled-optimization -ansi \
+ -funit-at-a-time
+# CF = $(CFLAGS) -O3 -fexceptions \
+ -Wall -W -Werror -Wshadow -Wmissing-prototypes -Wstrict-prototypes \
+ -Wredundant-decls -Wnested-externs -Wdisabled-optimization -ansi
+# CF = $(CFLAGS) -O3 -fexceptions -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
+# CF = $(CFLAGS) -O3
+# CF = $(CFLAGS) -O3 -g -fexceptions
+# CF = $(CFLAGS) -g -fexceptions \
+ -Wall -W -Wshadow \
+ -Wredundant-decls -Wdisabled-optimization -ansi
+
+# consider:
+# -fforce-addr -fmove-all-movables -freduce-all-givs -ftsp-ordering
+# -frename-registers -ffast-math -funroll-loops
+
+# Using the Goto BLAS:
+# BLAS = -lgoto -lfrtbegin -lg2c $(XERBLA) -lpthread
+
+# Using Intel's icc and ifort compilers:
+# (does not work for mexFunctions unless you add a mexopts.sh file)
+# F77 = ifort
+# CC = icc
+# CF = $(CFLAGS) -O3 -xN -vec_report=0
+# CF = $(CFLAGS) -g
+
+# 64bit:
+# F77FLAGS = -O -m64
+# CF = $(CFLAGS) -O3 -fexceptions -m64
+# BLAS = -lgoto64 -lfrtbegin -lg2c -lpthread $(XERBLA)
+# LAPACK = -llapack64
+
+# SUSE Linux 10.1, AMD Opteron, with GOTO Blas
+# F77 = gfortran
+# BLAS = -lgoto_opteron64 -lgfortran
+
+# SUSE Linux 10.1, Intel Pentium, with GOTO Blas
+# F77 = gfortran
+# BLAS = -lgoto -lgfortran
+
+#------------------------------------------------------------------------------
+# Mac
+#------------------------------------------------------------------------------
+
+# As recommended by macports, http://suitesparse.darwinports.com/
+# I've tested them myself on Mac OSX 10.6.1 and 10.6.8 (Snow Leopard),
+# on my MacBook Air, and they work fine.
+
+# F77 = gfortran
+# CF = $(CFLAGS) -O3 -fno-common -fexceptions -DNTIMER
+# BLAS = -framework Accelerate
+# LAPACK = -framework Accelerate
+# LIB = -lm
+
+#------------------------------------------------------------------------------
+# Solaris
+#------------------------------------------------------------------------------
+
+# 32-bit
+# CF = $(CFLAGS) -KPIC -dalign -xc99=%none -Xc -xlibmieee -xO5 -xlibmil -m32
+
+# 64-bit
+# CF = $(CFLAGS) -fast -KPIC -xc99=%none -xlibmieee -xlibmil -m64 -Xc
+
+# FFLAGS = -fast -KPIC -dalign -xlibmil -m64
+
+# The Sun Performance Library includes both LAPACK and the BLAS:
+# BLAS = -xlic_lib=sunperf
+# LAPACK =
+
+
+#------------------------------------------------------------------------------
+# Compaq Alpha
+#------------------------------------------------------------------------------
+
+# 64-bit mode only
+# CF = $(CFLAGS) -O2 -std1
+# BLAS = -ldxml
+# LAPACK =
+
+#------------------------------------------------------------------------------
+# IBM RS 6000
+#------------------------------------------------------------------------------
+
+# BLAS = -lessl
+# LAPACK =
+
+# 32-bit mode:
+# CF = $(CFLAGS) -O4 -qipa -qmaxmem=16384 -qproto
+# F77FLAGS = -O4 -qipa -qmaxmem=16384
+
+# 64-bit mode:
+# CF = $(CFLAGS) -O4 -qipa -qmaxmem=16384 -q64 -qproto
+# F77FLAGS = -O4 -qipa -qmaxmem=16384 -q64
+
+#------------------------------------------------------------------------------
+# SGI IRIX
+#------------------------------------------------------------------------------
+
+# BLAS = -lscsl
+# LAPACK =
+
+# 32-bit mode
+# CF = $(CFLAGS) -O
+
+# 64-bit mode (32 bit int's and 64-bit long's):
+# CF = $(CFLAGS) -64
+# F77FLAGS = -64
+
+# SGI doesn't have ranlib
+# RANLIB = echo
+
+#------------------------------------------------------------------------------
+# AMD Opteron (64 bit)
+#------------------------------------------------------------------------------
+
+# BLAS = -lgoto_opteron64 -lg2c
+# LAPACK = -llapack_opteron64
+
+# SUSE Linux 10.1, AMD Opteron
+# F77 = gfortran
+# BLAS = -lgoto_opteron64 -lgfortran
+# LAPACK = -llapack_opteron64
+
+#------------------------------------------------------------------------------
+# remove object files and profile output
+#------------------------------------------------------------------------------
+
+CLEAN = *.o *.obj *.ln *.bb *.bbg *.da *.tcov *.gcov gmon.out *.bak *.d *.gcda *.gcno
diff --git a/suitesparse/patches/patch-GraphBLAS_CMakeLists.txt b/suitesparse/patches/patch-GraphBLAS_CMakeLists.txt
new file mode 100644
index 0000000000..82d3eff9a8
--- /dev/null
+++ b/suitesparse/patches/patch-GraphBLAS_CMakeLists.txt
@@ -0,0 +1,15 @@
+$NetBSD: patch-GraphBLAS_CMakeLists.txt,v 1.1 2024/06/14 13:19:54 ktnb Exp $
+
+cpu_features doesn't appear to work properly on NetBSD
+
+--- GraphBLAS/CMakeLists.txt.orig 2024-06-03 15:50:22.420795494 +0000
++++ GraphBLAS/CMakeLists.txt
+@@ -125,7 +125,7 @@ endif ( )
+ # find cpu_features
+ #-------------------------------------------------------------------------------
+
+-if ( NOT GBNCPUFEAT )
++if ( NOT GBNCPUFEAT AND NOT CMAKE_SYSTEM_NAME STREQUAL "NetBSD" )
+ # default: enable Google's cpu_features package
+ message ( STATUS "cpu_features (by google.com): enabled " )
+ include_directories ( "cpu_features/include" "cpu_features" "cpu_features/src" "cpu_features/include/internal" )
diff --git a/suitesparse/patches/patch-ParU_Source_paru__init__rowFronts.cpp b/suitesparse/patches/patch-ParU_Source_paru__init__rowFronts.cpp
new file mode 100644
index 0000000000..f588971ad2
--- /dev/null
+++ b/suitesparse/patches/patch-ParU_Source_paru__init__rowFronts.cpp
@@ -0,0 +1,15 @@
+$NetBSD$
+
+# Silence compiler error on Alma8: Sym is predetermined 'shared'
+
+--- ParU/Source/paru_init_rowFronts.cpp.orig 2024-12-18 14:04:59.003674095 +0000
++++ ParU/Source/paru_init_rowFronts.cpp
+@@ -439,7 +439,7 @@ ParU_Info paru_init_rowFronts
+ // copying Diag_map
+ if (Diag_map)
+ {
+- #pragma omp taskloop default(none) shared(Sym, Diag_map, inv_Diag_map) \
++ #pragma omp taskloop default(none) shared(Diag_map, inv_Diag_map) \
+ grainsize(512)
+ for (int64_t i = 0; i < Sym->n; i++)
+ {
diff --git a/suitesparse/patches/patch-SPQR_Source_spqr__factorize.cpp b/suitesparse/patches/patch-SPQR_Source_spqr__factorize.cpp
new file mode 100644
index 0000000000..772645ee41
--- /dev/null
+++ b/suitesparse/patches/patch-SPQR_Source_spqr__factorize.cpp
@@ -0,0 +1,14 @@
+$NetBSD: patch-SPQR_Source_spqr__factorize.cpp,v 1.1 2024/06/14 13:19:54 ktnb Exp $
+
+Upstream bug, should include string
+
+--- SPQR/Source/spqr_factorize.cpp.orig 2024-03-26 21:14:00.000000000 +0000
++++ SPQR/Source/spqr_factorize.cpp
+@@ -36,6 +36,7 @@
+ // =============================================================================
+
+ #include "spqr.hpp"
++#include <string>
+
+ #define FCHUNK 32 // FUTURE: make a parameter; Householder block size
+
Home |
Main Index |
Thread Index |
Old Index