git: 50401202445e - main - math/suitesparse-umfpack: upgrade to 6.2.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 20 Sep 2023 17:46:55 UTC
The branch main has been updated by thierry:
URL: https://cgit.FreeBSD.org/ports/commit/?id=50401202445e90826231446cd59ffdf3a3a33718
commit 50401202445e90826231446cd59ffdf3a3a33718
Author: Thierry Thomas <thierry@FreeBSD.org>
AuthorDate: 2023-09-17 15:33:38 +0000
Commit: Thierry Thomas <thierry@FreeBSD.org>
CommitDate: 2023-09-20 17:44:58 +0000
math/suitesparse-umfpack: upgrade to 6.2.0
---
math/suitesparse-umfpack/Makefile | 5 +-
.../files/patch-UMFPACK_Source_amd__internal.h | 283 +++++++++++++++++++++
math/suitesparse-umfpack/pkg-plist | 8 +-
3 files changed, 291 insertions(+), 5 deletions(-)
diff --git a/math/suitesparse-umfpack/Makefile b/math/suitesparse-umfpack/Makefile
index 2758cd620488..a1dc1c3c841e 100644
--- a/math/suitesparse-umfpack/Makefile
+++ b/math/suitesparse-umfpack/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ${MPORTNAME:tl}
-PORTVERSION= 6.1.1
+PORTVERSION= 6.2.0
CATEGORIES= math
COMMENT= Sparse multifrontal LU factorization
@@ -7,8 +7,7 @@ WWW= https://faculty.cse.tamu.edu/davis/suitesparse.html
LICENSE= GPLv2+
-LIB_DEPENDS= libmetis.so:math/metis \
- libamd.so:math/suitesparse-amd \
+LIB_DEPENDS= libamd.so:math/suitesparse-amd \
libcamd.so:math/suitesparse-camd \
libcolamd.so:math/suitesparse-colamd \
libccolamd.so:math/suitesparse-ccolamd \
diff --git a/math/suitesparse-umfpack/files/patch-UMFPACK_Source_amd__internal.h b/math/suitesparse-umfpack/files/patch-UMFPACK_Source_amd__internal.h
new file mode 100644
index 000000000000..f7fb7257c4c5
--- /dev/null
+++ b/math/suitesparse-umfpack/files/patch-UMFPACK_Source_amd__internal.h
@@ -0,0 +1,283 @@
+--- UMFPACK/Source/amd_internal.h.orig 2023-09-18 19:30:26 UTC
++++ UMFPACK/Source/amd_internal.h
+@@ -0,0 +1,280 @@
++//------------------------------------------------------------------------------
++// AMD/Include/amd_internal.h: internal definitions for AMD
++//------------------------------------------------------------------------------
++
++// AMD, Copyright (c) 1996-2022, Timothy A. Davis, Patrick R. Amestoy, and
++// Iain S. Duff. All Rights Reserved.
++// SPDX-License-Identifier: BSD-3-clause
++
++//------------------------------------------------------------------------------
++
++/* This file is for internal use in AMD itself, and does not normally need to
++ * be included in user code (it is included in UMFPACK, however). All others
++ * should use amd.h instead.
++ */
++
++/* ========================================================================= */
++/* === NDEBUG ============================================================== */
++/* ========================================================================= */
++
++/*
++ * Turning on debugging takes some work (see below). If you do not edit this
++ * file, then debugging is always turned off, regardless of whether or not
++ * -DNDEBUG is specified in your compiler options.
++ *
++ * If AMD is being compiled as a mexFunction, then MATLAB_MEX_FILE is defined,
++ * and mxAssert is used instead of assert. If debugging is not enabled, no
++ * MATLAB include files or functions are used. Thus, the AMD library libamd.a
++ * can be safely used in either a stand-alone C program or in another
++ * mexFunction, without any change.
++ */
++
++/*
++ AMD will be exceedingly slow when running in debug mode. The next three
++ lines ensure that debugging is turned off.
++*/
++#ifndef NDEBUG
++#define NDEBUG
++#endif
++
++/*
++ To enable debugging, uncomment the following line:
++#undef NDEBUG
++*/
++
++#define SUITESPARSE_LIBRARY
++#include "amd.h"
++
++/* ------------------------------------------------------------------------- */
++/* basic definitions */
++/* ------------------------------------------------------------------------- */
++
++#ifdef FLIP
++#undef FLIP
++#endif
++
++#ifdef MAX
++#undef MAX
++#endif
++
++#ifdef MIN
++#undef MIN
++#endif
++
++#ifdef EMPTY
++#undef EMPTY
++#endif
++
++#define PRIVATE static
++
++/* FLIP is a "negation about -1", and is used to mark an integer i that is
++ * normally non-negative. FLIP (EMPTY) is EMPTY. FLIP of a number > EMPTY
++ * is negative, and FLIP of a number < EMTPY is positive. FLIP (FLIP (i)) = i
++ * for all integers i. UNFLIP (i) is >= EMPTY. */
++#define EMPTY (-1)
++#define FLIP(i) (-(i)-2)
++#define UNFLIP(i) ((i < EMPTY) ? FLIP (i) : (i))
++
++/* for integer MAX/MIN, or for doubles when we don't care how NaN's behave: */
++#define MAX(a,b) (((a) > (b)) ? (a) : (b))
++#define MIN(a,b) (((a) < (b)) ? (a) : (b))
++
++/* logical expression of p implies q: */
++#define IMPLIES(p,q) (!(p) || (q))
++
++/* Note that the IBM RS 6000 xlc predefines TRUE and FALSE in <types.h>. */
++/* The Compaq Alpha also predefines TRUE and FALSE. */
++#ifdef TRUE
++#undef TRUE
++#endif
++#ifdef FALSE
++#undef FALSE
++#endif
++
++#define TRUE (1)
++#define FALSE (0)
++#define EMPTY (-1)
++
++/* largest value of size_t */
++#ifndef SIZE_T_MAX
++#ifdef SIZE_MAX
++/* C99 only */
++#define SIZE_T_MAX SIZE_MAX
++#else
++#define SIZE_T_MAX ((size_t) (-1))
++#endif
++#endif
++
++/* ------------------------------------------------------------------------- */
++/* integer type for AMD: int32_t or int64_t */
++/* ------------------------------------------------------------------------- */
++
++#if defined (DLONG) || defined (ZLONG)
++
++#define Int int64_t
++#define UInt uint64_t
++#define ID "%" PRId64
++#define Int_MAX INT64_MAX
++
++#define AMD_order amd_l_order
++#define AMD_defaults amd_l_defaults
++#define AMD_control amd_l_control
++#define AMD_info amd_l_info
++#define AMD_1 amd_l1
++#define AMD_2 amd_l2
++#define AMD_valid amd_l_valid
++#define AMD_aat amd_l_aat
++#define AMD_postorder amd_l_postorder
++#define AMD_post_tree amd_l_post_tree
++#define AMD_dump amd_l_dump
++#define AMD_debug amd_l_debug
++#define AMD_debug_init amd_l_debug_init
++#define AMD_preprocess amd_l_preprocess
++
++#else
++
++#define Int int32_t
++#define UInt uint32_t
++#define ID "%d"
++#define Int_MAX INT32_MAX
++
++#define AMD_order amd_order
++#define AMD_defaults amd_defaults
++#define AMD_control amd_control
++#define AMD_info amd_info
++#define AMD_1 amd_1
++#define AMD_2 amd_2
++#define AMD_valid amd_valid
++#define AMD_aat amd_aat
++#define AMD_postorder amd_postorder
++#define AMD_post_tree amd_post_tree
++#define AMD_dump amd_dump
++#define AMD_debug amd_debug
++#define AMD_debug_init amd_debug_init
++#define AMD_preprocess amd_preprocess
++
++#endif
++
++/* ------------------------------------------------------------------------- */
++/* AMD routine definitions (not user-callable) */
++/* ------------------------------------------------------------------------- */
++
++size_t AMD_aat
++(
++ Int n,
++ const Int Ap [ ],
++ const Int Ai [ ],
++ Int Len [ ],
++ Int Tp [ ],
++ double Info [ ]
++) ;
++
++void AMD_1
++(
++ Int n,
++ const Int Ap [ ],
++ const Int Ai [ ],
++ Int P [ ],
++ Int Pinv [ ],
++ Int Len [ ],
++ Int slen,
++ Int S [ ],
++ double Control [ ],
++ double Info [ ]
++) ;
++
++void AMD_postorder
++(
++ Int nn,
++ Int Parent [ ],
++ Int Npiv [ ],
++ Int Fsize [ ],
++ Int Order [ ],
++ Int Child [ ],
++ Int Sibling [ ],
++ Int Stack [ ]
++) ;
++
++Int AMD_post_tree
++(
++ Int root,
++ Int k,
++ Int Child [ ],
++ const Int Sibling [ ],
++ Int Order [ ],
++ Int Stack [ ]
++#ifndef NDEBUG
++ , Int nn
++#endif
++) ;
++
++void AMD_preprocess
++(
++ Int n,
++ const Int Ap [ ],
++ const Int Ai [ ],
++ Int Rp [ ],
++ Int Ri [ ],
++ Int W [ ],
++ Int Flag [ ]
++) ;
++
++/* ------------------------------------------------------------------------- */
++/* debugging definitions */
++/* ------------------------------------------------------------------------- */
++
++#ifndef NDEBUG
++
++/* from assert.h: assert macro */
++#include <assert.h>
++
++extern Int AMD_debug ;
++
++void AMD_debug_init ( char *s ) ;
++
++void AMD_dump
++(
++ Int n,
++ Int Pe [ ],
++ Int Iw [ ],
++ Int Len [ ],
++ Int iwlen,
++ Int pfree,
++ Int Nv [ ],
++ Int Next [ ],
++ Int Last [ ],
++ Int Head [ ],
++ Int Elen [ ],
++ Int Degree [ ],
++ Int W [ ],
++ Int nel
++) ;
++
++#ifdef ASSERT
++#undef ASSERT
++#endif
++
++/* Use mxAssert if AMD is compiled into a mexFunction */
++#ifdef MATLAB_MEX_FILE
++#define ASSERT(expression) (mxAssert ((expression), ""))
++#else
++#define ASSERT(expression) (assert (expression))
++#endif
++
++#define AMD_DEBUG0(params) { SUITESPARSE_PRINTF (params) ; }
++#define AMD_DEBUG1(params) { if (AMD_debug >= 1) SUITESPARSE_PRINTF (params) ; }
++#define AMD_DEBUG2(params) { if (AMD_debug >= 2) SUITESPARSE_PRINTF (params) ; }
++#define AMD_DEBUG3(params) { if (AMD_debug >= 3) SUITESPARSE_PRINTF (params) ; }
++#define AMD_DEBUG4(params) { if (AMD_debug >= 4) SUITESPARSE_PRINTF (params) ; }
++
++#else
++
++/* no debugging */
++#define ASSERT(expression)
++#define AMD_DEBUG0(params)
++#define AMD_DEBUG1(params)
++#define AMD_DEBUG2(params)
++#define AMD_DEBUG3(params)
++#define AMD_DEBUG4(params)
++
++#endif
diff --git a/math/suitesparse-umfpack/pkg-plist b/math/suitesparse-umfpack/pkg-plist
index fc9d0610ea5c..30698eab5ee9 100644
--- a/math/suitesparse-umfpack/pkg-plist
+++ b/math/suitesparse-umfpack/pkg-plist
@@ -1,9 +1,13 @@
include/suitesparse/umfpack.h
-lib/cmake/SuiteSparse/FindUMFPACK.cmake
+lib/cmake/UMFPACK/UMFPACKConfig.cmake
+lib/cmake/UMFPACK/UMFPACKConfigVersion.cmake
+lib/cmake/UMFPACK/UMFPACKTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/UMFPACK/UMFPACKTargets.cmake
lib/libumfpack.a
lib/libumfpack.so
lib/libumfpack.so.6
-lib/libumfpack.so.6.1.1
+lib/libumfpack.so.6.2.0
+libdata/pkgconfig/UMFPACK.pc
%%PORTDOCS%%%%DOCSDIR%%/UMFPACK_QuickStart.pdf
%%PORTDOCS%%%%DOCSDIR%%/UMFPACK_README.txt
%%PORTDOCS%%%%DOCSDIR%%/UMFPACK_UserGuide.pdf