pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/math/suitesparse



Module Name:    pkgsrc
Committed By:   ktnb
Date:           Fri Jun 14 13:19:54 UTC 2024

Added Files:
        pkgsrc/math/suitesparse: DESCR Makefile PLIST buildlink3.mk distinfo
        pkgsrc/math/suitesparse/files: SuiteSparse_config.mk
        pkgsrc/math/suitesparse/patches: patch-GraphBLAS_CMakeLists.txt
            patch-SPQR_Source_spqr__factorize.cpp

Log Message:
suitesparse: add version 7.7.0

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


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/math/suitesparse/DESCR \
    pkgsrc/math/suitesparse/Makefile pkgsrc/math/suitesparse/PLIST \
    pkgsrc/math/suitesparse/buildlink3.mk pkgsrc/math/suitesparse/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/math/suitesparse/files/SuiteSparse_config.mk
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/math/suitesparse/patches/patch-GraphBLAS_CMakeLists.txt \
    pkgsrc/math/suitesparse/patches/patch-SPQR_Source_spqr__factorize.cpp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: pkgsrc/math/suitesparse/DESCR
diff -u /dev/null pkgsrc/math/suitesparse/DESCR:1.1
--- /dev/null   Fri Jun 14 13:19:54 2024
+++ pkgsrc/math/suitesparse/DESCR       Fri Jun 14 13:19:53 2024
@@ -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
Index: pkgsrc/math/suitesparse/Makefile
diff -u /dev/null pkgsrc/math/suitesparse/Makefile:1.1
--- /dev/null   Fri Jun 14 13:19:54 2024
+++ pkgsrc/math/suitesparse/Makefile    Fri Jun 14 13:19:53 2024
@@ -0,0 +1,27 @@
+# $NetBSD: Makefile,v 1.1 2024/06/14 13:19:53 ktnb Exp $
+
+DISTNAME=      SuiteSparse-7.7.0
+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++ fortran77
+
+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"
+# reported at: https://github.com/DrTimothyAldenDavis/SuiteSparse/issues/837
+BUILDLINK_TRANSFORM+=  opt:-ldl:${BUILDLINK_LDADD.dl:Q}
+.include "../../parallel/openmp/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/math/suitesparse/PLIST
diff -u /dev/null pkgsrc/math/suitesparse/PLIST:1.1
--- /dev/null   Fri Jun 14 13:19:54 2024
+++ pkgsrc/math/suitesparse/PLIST       Fri Jun 14 13:19:53 2024
@@ -0,0 +1,213 @@
+@comment $NetBSD: PLIST,v 1.1 2024/06/14 13:19:53 ktnb Exp $
+bin/suitesparse_mongoose
+include/suitesparse/GraphBLAS.h
+include/suitesparse/LAGraph.h
+include/suitesparse/LAGraphX.h
+include/suitesparse/Mongoose.hpp
+include/suitesparse/ParU.hpp
+include/suitesparse/ParU_C.h
+include/suitesparse/ParU_definitions.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.2
+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.2
+lib/libccolamd.a
+lib/libccolamd.so
+lib/libccolamd.so.3
+lib/libccolamd.so.3.3.3
+lib/libcholmod.a
+lib/libcholmod.so
+lib/libcholmod.so.5
+lib/libcholmod.so.5.2.1
+lib/libcolamd.a
+lib/libcolamd.so
+lib/libcolamd.so.3
+lib/libcolamd.so.3.3.3
+lib/libcxsparse.a
+lib/libcxsparse.so
+lib/libcxsparse.so.4
+lib/libcxsparse.so.4.4.0
+lib/libgraphblas.so
+lib/libgraphblas.so.9
+lib/libgraphblas.so.9.1.0
+lib/libklu.a
+lib/libklu.so
+lib/libklu.so.2
+lib/libklu.so.2.3.3
+lib/libklu_cholmod.a
+lib/libklu_cholmod.so
+lib/libklu_cholmod.so.2
+lib/libklu_cholmod.so.2.3.3
+lib/liblagraph.a
+lib/liblagraph.so
+lib/liblagraph.so.1
+lib/liblagraph.so.1.1.3
+lib/liblagraphx.a
+lib/liblagraphx.so
+lib/liblagraphx.so.1
+lib/liblagraphx.so.1.1.3
+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.1.3
+lib/librbio.a
+lib/librbio.so
+lib/librbio.so.4
+lib/librbio.so.4.3.2
+lib/libspex.a
+lib/libspex.so
+lib/libspex.so.3
+lib/libspex.so.3.1.0
+lib/libspexpython.so
+lib/libspexpython.so.3
+lib/libspexpython.so.3.1.0
+lib/libspqr.a
+lib/libspqr.so
+lib/libspqr.so.4
+lib/libspqr.so.4.3.3
+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.3
+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
Index: pkgsrc/math/suitesparse/buildlink3.mk
diff -u /dev/null pkgsrc/math/suitesparse/buildlink3.mk:1.1
--- /dev/null   Fri Jun 14 13:19:54 2024
+++ pkgsrc/math/suitesparse/buildlink3.mk       Fri Jun 14 13:19:53 2024
@@ -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
Index: pkgsrc/math/suitesparse/distinfo
diff -u /dev/null pkgsrc/math/suitesparse/distinfo:1.1
--- /dev/null   Fri Jun 14 13:19:54 2024
+++ pkgsrc/math/suitesparse/distinfo    Fri Jun 14 13:19:53 2024
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1 2024/06/14 13:19:53 ktnb Exp $
+
+BLAKE2s (SuiteSparse-7.7.0.tar.gz) = ea9bc6eb64c7e24f68c1b5e9590b36f5d195a8ec7d0b919b55678f0455a8c980
+SHA512 (SuiteSparse-7.7.0.tar.gz) = aa62dae81ae423ce7162ae83b46e5cf606d95482e6c6bb7ae6d61e15987761119d9418ef3a96648e6ba2327871a2847eef8ace197aa375279d71c80329d6f451
+Size (SuiteSparse-7.7.0.tar.gz) = 85876065 bytes
+SHA1 (patch-GraphBLAS_CMakeLists.txt) = 2f32b3534f08bcfd7fa5fc53dccbc6fd283a9976
+SHA1 (patch-SPQR_Source_spqr__factorize.cpp) = f8ad367e749435058f8df7c3961af8cf8b7dfb95

Index: pkgsrc/math/suitesparse/files/SuiteSparse_config.mk
diff -u /dev/null pkgsrc/math/suitesparse/files/SuiteSparse_config.mk:1.1
--- /dev/null   Fri Jun 14 13:19:54 2024
+++ pkgsrc/math/suitesparse/files/SuiteSparse_config.mk Fri Jun 14 13:19:53 2024
@@ -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

Index: pkgsrc/math/suitesparse/patches/patch-GraphBLAS_CMakeLists.txt
diff -u /dev/null pkgsrc/math/suitesparse/patches/patch-GraphBLAS_CMakeLists.txt:1.1
--- /dev/null   Fri Jun 14 13:19:54 2024
+++ pkgsrc/math/suitesparse/patches/patch-GraphBLAS_CMakeLists.txt      Fri Jun 14 13:19:54 2024
@@ -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" )
Index: pkgsrc/math/suitesparse/patches/patch-SPQR_Source_spqr__factorize.cpp
diff -u /dev/null pkgsrc/math/suitesparse/patches/patch-SPQR_Source_spqr__factorize.cpp:1.1
--- /dev/null   Fri Jun 14 13:19:54 2024
+++ pkgsrc/math/suitesparse/patches/patch-SPQR_Source_spqr__factorize.cpp       Fri Jun 14 13:19:54 2024
@@ -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