1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-12 18:10:47 +02:00
guix/gnu/packages/patches/gklib-suitesparse.patch
Greg Hogan c6aaffba1c
gnu: Add %suitesparse-package-versions.
* gnu/packages/maths.scm (%suitesparse-package-versions): New variable.
(suitesparse-version): Update to 7.10.2.
(suitesparse-source)[origin]: Update deletion list.
(suitesparse-amd, suitesparse-btf, suitesparse-camd, suitesparse-colamd,
suitesparse-ccolamd, suitesparse-cholmod, suitesparse-cxsparse,
suitesparse-klu, suitesparse-ldl, suitesparse-rbio,
suitesparse-mongoose, suitesparse-spex, suitesparse-spqr,
suitesparse-umfpack)[version]: Use %suitesparse-package-versions.
[arguments]<#:configure-flags>: Preserve include path.
(suitesparse-cholmod)[arguments]<#:phases>('install-license-files):
Update paths.
(suitesparse-cholmod)[arguments]<#:phases>('build-doc): Update paths.
(suitesparse-spex)[native-inputs]: Add texlive-fncychap.
(suitesparse-spqr)[native-inputs]: Add texlive-etoolbox.
* gnu/packages/patches/gklib-suitesparse.patch: Update version.

Change-Id: I14a9bfeddb37330c88a2e94b0992c2f1afbc5310
2025-05-13 16:35:40 +00:00

65 lines
1.8 KiB
Diff

This patch contains the relevant changes to GKlib made in SuiteSparse
(CHOLMOD) for the version 7.10.2
(https://github.com/DrTimothyAldenDavis/SuiteSparse/commit/8a7641cdb4809533c681417e94f98058c07c5da2).
The disabling of signal handling when MATLAB_MEX_FILE is defined is omitted.
diff -ur a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,8 @@
option(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)" OFF)
+find_package ( SuiteSparse_config 7.10.2 REQUIRED )
+
get_filename_component(abs "." ABSOLUTE)
set(GKLIB_PATH ${abs})
unset(abs)
diff -ur a/GKlib.h b/GKlib.h
--- a/GKlib.h
+++ b/GKlib.h
@@ -59,6 +59,24 @@
#include <omp.h>
#endif
+/* -------------------------------------------------------------------------- */
+/* Added for incorporation into SuiteSparse.
+ Tim Davis, Oct 31, 2022, Texas A&M University. */
+#include "SuiteSparse_config.h"
+#define malloc SuiteSparse_config_malloc
+#define calloc SuiteSparse_config_calloc
+#define realloc SuiteSparse_config_realloc
+#define free(p) \
+{ \
+ if ((p) != NULL) \
+ { \
+ SuiteSparse_config_free (p) ; \
+ (p) = NULL ; \
+ } \
+}
+
+/* -------------------------------------------------------------------------- */
+
diff -ur a/memory.c b/memory.c
--- a/memory.c
+++ b/memory.c
@@ -108,6 +108,8 @@
/*************************************************************************/
int gk_malloc_init()
{
+ gkmcore = NULL;
+#if 0
if (gkmcore == NULL)
gkmcore = gk_gkmcoreCreate();
@@ -115,6 +117,7 @@
return 0;
gk_gkmcorePush(gkmcore);
+#endif
return 1;
}