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