GNU bug report logs - #77902
[PATCH science-team 0/2] Update SuiteSparse.

Previous Next

Package: guix-patches;

Reported by: Greg Hogan <code <at> greghogan.com>

Date: Fri, 18 Apr 2025 15:13:02 UTC

Severity: normal

Tags: patch

Done: Greg Hogan <code <at> greghogan.com>

To reply to this bug, email your comments to 77902 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#77902; Package guix-patches. (Fri, 18 Apr 2025 15:13:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Greg Hogan <code <at> greghogan.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 18 Apr 2025 15:13:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: guix-patches <at> gnu.org
Cc: Greg Hogan <code <at> greghogan.com>
Subject: [PATCH science-team 0/2] Update SuiteSparse.
Date: Fri, 18 Apr 2025 15:11:09 +0000
The component suitesparse packages have no other dependents.

igraph has 26 dependent packages. Switch igraph to the suitesparse
dependency as the newer CXSparse breaks the build (igraph vendors
CXSparse from SuiteSparse 5.12.0).

Greg Hogan (2):
  gnu: Add %suitesparse-package-versions.
  gnu: igraph: Update to 0.10.15.

 gnu/local.mk                                  |  1 -
 gnu/packages/graph.scm                        |  7 +-
 gnu/packages/maths.scm                        | 64 +++++++++++--------
 gnu/packages/patches/gklib-suitesparse.patch  |  6 +-
 .../igraph-fix-varargs-integer-size.patch     | 39 -----------
 5 files changed, 45 insertions(+), 72 deletions(-)
 delete mode 100644 gnu/packages/patches/igraph-fix-varargs-integer-size.patch


base-commit: ffc8a07ba45503014cc0647c5dd0613829999f98
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77902; Package guix-patches. (Fri, 18 Apr 2025 15:16:05 GMT) Full text and rfc822 format available.

Message #8 received at 77902 <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: 77902 <at> debbugs.gnu.org
Cc: Greg Hogan <code <at> greghogan.com>
Subject: [PATCH science-team 2/2] gnu: igraph: Update to 0.10.15.
Date: Fri, 18 Apr 2025 15:14:10 +0000
* gnu/packages/graph.scm (igraph): Update to 0.10.15.
[source]: Remove patches.
[inputs]: Replace suitesparse-cxsparse with suitesparse.
* gnu/packages/patches/igraph-fix-varargs-integer-size.patch: Delete.
* gnu/local.mk (dist_patch_DATA): Update accordingly.

Change-Id: Iffbfdc83b347f9abf82891f5b97954903d3df3dd
---
 gnu/local.mk                                  |  1 -
 gnu/packages/graph.scm                        |  7 ++--
 .../igraph-fix-varargs-integer-size.patch     | 39 -------------------
 3 files changed, 3 insertions(+), 44 deletions(-)
 delete mode 100644 gnu/packages/patches/igraph-fix-varargs-integer-size.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 62cfe230bb..2828d8913f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1610,7 +1610,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/id3lib-CVE-2007-4460.patch			\
   %D%/packages/patches/id3lib-UTF16-writing-bug.patch			\
   %D%/packages/patches/idris-test-ffi008.patch			\
-  %D%/packages/patches/igraph-fix-varargs-integer-size.patch	\
   %D%/packages/patches/ilmbase-fix-tests.patch			\
   %D%/packages/patches/indent-CVE-2024-0911.patch	\
   %D%/packages/patches/inferno-fix-crash.patch		\
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 467a7f661b..af4943c281 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -106,7 +106,7 @@ (define-public plfit
 (define-public igraph
   (package
     (name "igraph")
-    (version "0.10.7")
+    (version "0.10.15")
     (source
      (origin
        (method git-fetch)
@@ -114,7 +114,6 @@ (define-public igraph
              (url "https://github.com/igraph/igraph")
              (commit version)))
        (file-name (git-file-name name version))
-       (patches (search-patches "igraph-fix-varargs-integer-size.patch"))
        (modules '((guix build utils)
                   (ice-9 ftw)
                   (srfi srfi-26)))
@@ -136,7 +135,7 @@ (define-public igraph
                      (("add_sub.*vendor.*") ""))))
        (sha256
         (base32
-         "025f9c2jsawniqkig4l5z3v9aw3ipazmnlsf80b653mns5bvj1yn"))))
+         "0z9jqvl65j4z6brrjlfyykba2bs10az6dx6m8g41snlfnx21a82d"))))
     (build-system cmake-build-system)
     (arguments
      (list
@@ -201,7 +200,7 @@ (define-public igraph
            ;lapack
            openblas
            plfit
-           suitesparse-cxsparse))
+           suitesparse))
     ;; libxml2 is in the 'Requires.private' of igraph.pc.
     (propagated-inputs (list libxml2))
     (home-page "https://igraph.org")
diff --git a/gnu/packages/patches/igraph-fix-varargs-integer-size.patch b/gnu/packages/patches/igraph-fix-varargs-integer-size.patch
deleted file mode 100644
index 2d7ffd7e68..0000000000
--- a/gnu/packages/patches/igraph-fix-varargs-integer-size.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-If the size of int is different from IGRAPH_INTEGER_SIZE, the integer size
-passed to these vararg arguments is different from the assumed one,
-leading to undefined behavior.
-Submitted upstream: https://github.com/igraph/igraph/pull/2423
-
-
-diff -ur a/examples/simple/igraph_union.c b/examples/simple/igraph_union.c
---- a/examples/simple/igraph_union.c
-+++ b/examples/simple/igraph_union.c
-@@ -103,7 +103,7 @@
-     igraph_vector_ptr_init(&glist, 10);
-     for (i = 0; i < igraph_vector_ptr_size(&glist); i++) {
-         VECTOR(glist)[i] = calloc(1, sizeof(igraph_t));
--        igraph_vector_int_init_int_end(&v, -1, i, i + 1, 1, 0, -1);
-+        igraph_vector_int_init_int_end(&v, -1, (int) i, (int) i + 1, 1, 0, -1);
-         igraph_create(VECTOR(glist)[i], &v, 0, IGRAPH_DIRECTED);
-         igraph_vector_int_destroy(&v);
-     }
-@@ -123,7 +123,7 @@
-     igraph_vector_ptr_init(&glist, 10);
-     for (i = 0; i < igraph_vector_ptr_size(&glist); i++) {
-         VECTOR(glist)[i] = calloc(1, sizeof(igraph_t));
--        igraph_vector_int_init_int_end(&v, -1, i, i + 1, 1, 0, -1);
-+        igraph_vector_int_init_int_end(&v, -1, (int) i, (int) i + 1, 1, 0, -1);
-         igraph_create(VECTOR(glist)[i], &v, 0, IGRAPH_UNDIRECTED);
-         igraph_vector_int_destroy(&v);
-     }
-diff -ur a/src/core/matrix.pmt b/src/core/matrix.pmt
---- a/src/core/matrix.pmt
-+++ b/src/core/matrix.pmt
-@@ -1863,7 +1863,7 @@
- #ifdef FPRINTFUNC_ALIGNED
-             FPRINTFUNC_ALIGNED(file, VECTOR(column_width)[j], MATRIX(*m, i, j));
- #else
--            fprintf(file, format, VECTOR(column_width)[j], MATRIX(*m, i, j));
-+            fprintf(file, format, (int) VECTOR(column_width)[j], MATRIX(*m, i, j));
- #endif
-         }
-         fprintf(file, "\n");
-- 
2.49.0





Information forwarded to andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org:
bug#77902; Package guix-patches. (Fri, 18 Apr 2025 15:16:07 GMT) Full text and rfc822 format available.

Message #11 received at 77902 <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: 77902 <at> debbugs.gnu.org
Cc: "X-Debbugs-Cc: Andreas Enge" <andreas <at> enge.fr>,
 Sharlatan Hellseher <sharlatanus <at> gmail.com>, Greg Hogan <code <at> greghogan.com>,
 Eric Bavier <bavier <at> posteo.net>
Subject: [PATCH science-team 1/2] gnu: Add %suitesparse-package-versions.
Date: Fri, 18 Apr 2025 15:14:09 +0000
* 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-monUse
goose,
suitesparse-spex, suitesparse-spqr, suitesparse-umfpack)
[version]: Use %suitesparse-package-versions.
(suitesparse-cholmod)[arguments]<#:phases>('install-license-files):
Update paths.
(suitesparse-klu)[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 and path.

Change-Id: I14a9bfeddb37330c88a2e94b0992c2f1afbc5310
---
 gnu/packages/maths.scm                       | 64 ++++++++++++--------
 gnu/packages/patches/gklib-suitesparse.patch |  6 +-
 2 files changed, 42 insertions(+), 28 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 4be9e71320..4cfcd5ba9e 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -6060,9 +6060,25 @@ (define-public openspecfun
     ;; public domain software.
     (license (list license:expat license:public-domain))))
 
+(define %suitesparse-package-versions
+  '(("AMD" . "3.3.3")
+    ("BTF" . "2.3.2")
+    ("CAMD" . "3.3.3")
+    ("CCOLAMD" . "3.3.4")
+    ("CHOLMOD" . "5.3.2")
+    ("COLAMD" . "3.3.4")
+    ("CXSparse" . "4.4.1")
+    ("KLU" . "2.3.5")
+    ("LDL" . "3.3.2")
+    ("SuiteSparse_Mongoose" . "3.3.4")
+    ("RBio" . "4.3.4")
+    ("SPEX" . "3.2.3")
+    ("SPQR" . "4.3.4")
+    ("UMFPACK" . "6.3.5")))
+
 ;; Source for the modular SuiteSparse packages. When updating, also update the
 ;; (different) versions of the subpackages.
-(define suitesparse-version "7.2.0")
+(define suitesparse-version "7.10.2")
 (define suitesparse-source
   (origin
     (method git-fetch)
@@ -6072,10 +6088,12 @@ (define suitesparse-source
     (file-name (git-file-name "suitesparse" suitesparse-version))
     (sha256
      (base32
-      "1draljn8i46862drc6008cnb2zjpklf74j8c34jirjazzpf53kaa"))
+      "1ndwx2cp5zxrikq4xdrzjrxk1b5ps7lyi6qw34m8jpfpa0ba01ln"))
     (modules '((guix build utils)))
     (snippet
      #~(begin
+         ;; Empty except for a .gitignore.
+         (delete-file-recursively "build")
          ;; Delete autogenerated and bundled files
          (for-each delete-file (find-files "." "\\.pdf$"))
          ;; ssget
@@ -6086,19 +6104,13 @@ (define suitesparse-source
          (delete-file-recursively "CHOLMOD/SuiteSparse_metis")
          ; GraphBLAS
          (delete-file "GraphBLAS/README.md")
-         (delete-file "GraphBLAS/Config/GB_config.h")
          (delete-file "GraphBLAS/Config/GB_prejit.c")
          (delete-file-recursively "GraphBLAS/cpu_features")
-         (delete-file "GraphBLAS/CUDA/GB_cuda_common_jitFactory.hpp")
-         (delete-file "GraphBLAS/JITpackage/GB_JITpackage.c")
          (delete-file-recursively "GraphBLAS/lz4/lz4.c")
          (delete-file-recursively "GraphBLAS/lz4/lz4.h")
          (delete-file-recursively "GraphBLAS/lz4/lz4hc.c")
          (delete-file-recursively "GraphBLAS/lz4/lz4hc.h")
-         (delete-file "GraphBLAS/GraphBLAS/Config/GB_config.h")
          (delete-file "GraphBLAS/Tcov/PreJIT/GB_prejit.c")
-         (delete-file-recursively "GraphBLAS/Source/FactoryKernels")
-         (delete-file "GraphBLAS/Source/GB_AxB__include1.h")
          (delete-file "GraphBLAS/xxHash/xxhash.h")
          (delete-file-recursively "GraphBLAS/zstd/zstd_subset")
          ;; KLU
@@ -6144,7 +6156,7 @@ (define-public suitesparse-config
 (define-public suitesparse-amd
   (package
     (name "suitesparse-amd")
-    (version "3.2.0")
+    (version (assoc-ref %suitesparse-package-versions "AMD"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
@@ -6192,7 +6204,7 @@ (define-public suitesparse-amd
 (define-public suitesparse-btf
   (package
     (name "suitesparse-btf")
-    (version "2.2.0")
+    (version (assoc-ref %suitesparse-package-versions "BTF"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
@@ -6225,7 +6237,7 @@ (define-public suitesparse-btf
 (define-public suitesparse-camd
   (package
     (name "suitesparse-camd")
-    (version "3.2.0")
+    (version (assoc-ref %suitesparse-package-versions "CAMD"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
@@ -6270,7 +6282,7 @@ (define-public suitesparse-camd
 (define-public suitesparse-colamd
   (package
     (name "suitesparse-colamd")
-    (version "3.2.0")
+    (version (assoc-ref %suitesparse-package-versions "COLAMD"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
@@ -6303,7 +6315,7 @@ (define-public suitesparse-colamd
 (define-public suitesparse-ccolamd
   (package
     (name "suitesparse-ccolamd")
-    (version "3.2.0")
+    (version (assoc-ref %suitesparse-package-versions "CCOLAMD"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
@@ -6386,7 +6398,7 @@ (define-public metis-suitesparse
 (define-public suitesparse-cholmod
   (package
     (name "suitesparse-cholmod")
-    (version "4.2.0")
+    (version (assoc-ref %suitesparse-package-versions "CHOLMOD"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
@@ -6448,7 +6460,7 @@ (define-public suitesparse-cholmod
               (let ((out (string-append #$output
                                         "/share/doc/" #$name "-" #$version)))
                 (install-file "../CHOLMOD/Doc/License.txt" out)
-                (install-file "../CHOLMOD/Core/lesser.txt" out)
+                (install-file "../CHOLMOD/Check/lesser.txt" out)
                 (install-file "../CHOLMOD/MatrixOps/gpl.txt" out)))))))
     (inputs
      (list gklib-suitesparse
@@ -6471,7 +6483,7 @@ (define-public suitesparse-cholmod
 (define-public suitesparse-cxsparse
   (package
     (name "suitesparse-cxsparse")
-    (version "4.2.0")
+    (version (assoc-ref %suitesparse-package-versions "CXSparse"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
@@ -6505,7 +6517,7 @@ (define-public suitesparse-cxsparse
 (define-public suitesparse-klu
   (package
     (name "suitesparse-klu")
-    (version "2.2.0")
+    (version (assoc-ref %suitesparse-package-versions "KLU"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
@@ -6537,7 +6549,7 @@ (define-public suitesparse-klu
             (lambda _
               (substitute* "../KLU/Doc/Makefile"
                 (("\\.\\./\\.\\./BTF/Include/btf.h")
-                 (string-append #$suitesparse-btf "/include/btf.h")))
+                 (string-append #$suitesparse-btf "/include/suitesparse/btf.h")))
               (with-directory-excursion "../KLU/Doc"
                 (invoke "make"))))
           (add-after 'install 'install-doc
@@ -6569,7 +6581,7 @@ (define-public suitesparse-klu
 (define-public suitesparse-ldl
   (package
     (name "suitesparse-ldl")
-    (version "3.2.0")
+    (version (assoc-ref %suitesparse-package-versions "LDL"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
@@ -6622,7 +6634,7 @@ (define-public suitesparse-ldl
 (define-public suitesparse-rbio
   (package
     (name "suitesparse-rbio")
-    (version "4.2.0")
+    (version (assoc-ref %suitesparse-package-versions "RBio"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
@@ -6660,7 +6672,7 @@ (define-public suitesparse-rbio
 (define-public suitesparse-mongoose
   (package
     (name "suitesparse-mongoose")
-    (version "3.2.0")
+    (version (assoc-ref %suitesparse-package-versions "SuiteSparse_Mongoose"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
@@ -6735,7 +6747,7 @@ (define-public suitesparse-mongoose
 (define-public suitesparse-spex
   (package
     (name "suitesparse-spex")
-    (version "2.2.0")
+    (version (assoc-ref %suitesparse-package-versions "SPEX"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
@@ -6778,6 +6790,7 @@ (define-public suitesparse-spex
                   texlive-soul
                   texlive-multirow
                   texlive-algorithms
+                  texlive-fncychap
                   texlive-float
                   texlive-algorithmicx
                   texlive-cprotect
@@ -6801,7 +6814,7 @@ (define-public suitesparse-spex
 (define-public suitesparse-spqr
   (package
     (name "suitesparse-spqr")
-    (version "4.2.0")
+    (version (assoc-ref %suitesparse-package-versions "SPQR"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
@@ -6851,7 +6864,8 @@ (define-public suitesparse-spqr
     (propagated-inputs (list suitesparse-cholmod))
     (native-inputs
      (list (texlive-updmap.cfg
-            (list texlive-epsf))))
+            (list texlive-epsf
+                  texlive-etoolbox))))
     (home-page "https://people.engr.tamu.edu/davis/suitesparse.html")
     (synopsis "Sparse QR factorization method")
     (description "The SPQR (SuiteSparseQR) package provides sparse QR
@@ -6862,7 +6876,7 @@ (define-public suitesparse-spqr
 (define-public suitesparse-umfpack
   (package
     (name "suitesparse-umfpack")
-    (version "6.2.0")
+    (version (assoc-ref %suitesparse-package-versions "UMFPACK"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
diff --git a/gnu/packages/patches/gklib-suitesparse.patch b/gnu/packages/patches/gklib-suitesparse.patch
index 8b6c708b6a..d207f080b1 100644
--- a/gnu/packages/patches/gklib-suitesparse.patch
+++ b/gnu/packages/patches/gklib-suitesparse.patch
@@ -1,5 +1,5 @@
 This patch contains the relevant changes to GKlib made in SuiteSparse
-(CHOLMOD) for the version 7.2.0
+(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.
 
@@ -10,7 +10,7 @@ diff -ur a/CMakeLists.txt b/CMakeLists.txt
  
  option(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)" OFF)
  
-+find_package ( SuiteSparse_config 7.1.0 REQUIRED )
++find_package ( SuiteSparse_config 7.10.2 REQUIRED )
 +
  get_filename_component(abs "." ABSOLUTE)
  set(GKLIB_PATH ${abs})
@@ -25,7 +25,7 @@ diff -ur a/GKlib.h b/GKlib.h
 +/* -------------------------------------------------------------------------- */
 +/* Added for incorporation into SuiteSparse.
 +   Tim Davis, Oct 31, 2022, Texas A&M University. */
-+#include "SuiteSparse_config.h"
++#include "suitesparse/SuiteSparse_config.h"
 +#define malloc  SuiteSparse_config_malloc
 +#define calloc  SuiteSparse_config_calloc
 +#define realloc SuiteSparse_config_realloc
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77902; Package guix-patches. (Mon, 05 May 2025 16:48:02 GMT) Full text and rfc822 format available.

Message #14 received at 77902 <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: 77902 <at> debbugs.gnu.org
Cc: Greg Hogan <code <at> greghogan.com>
Subject: [PATCH v2 science-team 0/7] Update SuiteSparse.
Date: Mon,  5 May 2025 16:43:20 +0000
v2 restores the installation directory of the suitesparse header files
by overriding the new default subdirectory "suitesparse".

Also includes updates and fixes for dependent packages.

Greg Hogan (7):
  gnu: Add %suitesparse-package-versions.
  gnu: igraph: Update to 0.10.15.
  gnu: python-igraph: Update to 0.11.8.
  gnu: python-vtraag-louvain: Deprecate.
  gnu: python-louvain-igraph: Update to 0.8.2.
  gnu: Add libleidenalg.
  gnu: python-leidenalg: Update to 0.10.2.

 gnu/local.mk                                  |   1 -
 gnu/packages/graph.scm                        | 183 ++++++++----------
 gnu/packages/maths.scm                        |  77 +++++---
 gnu/packages/patches/gklib-suitesparse.patch  |   4 +-
 .../igraph-fix-varargs-integer-size.patch     |  39 ----
 5 files changed, 141 insertions(+), 163 deletions(-)
 delete mode 100644 gnu/packages/patches/igraph-fix-varargs-integer-size.patch


base-commit: 90f0f8713da9cf0dc0bb5c93446a4eba11075352
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77902; Package guix-patches. (Mon, 05 May 2025 16:48:02 GMT) Full text and rfc822 format available.

Message #17 received at 77902 <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: 77902 <at> debbugs.gnu.org
Cc: Greg Hogan <code <at> greghogan.com>
Subject: [PATCH v2 science-team 2/7] gnu: igraph: Update to 0.10.15.
Date: Mon,  5 May 2025 16:43:22 +0000
* gnu/packages/graph.scm (igraph): Update to 0.10.15.
[source]: Remove patches.
* gnu/packages/patches/igraph-fix-varargs-integer-size.patch: Delete.
* gnu/local.mk (dist_patch_DATA): Update accordingly.

Change-Id: Iffbfdc83b347f9abf82891f5b97954903d3df3dd
---
 gnu/local.mk                                  |  1 -
 gnu/packages/graph.scm                        |  5 +--
 .../igraph-fix-varargs-integer-size.patch     | 39 -------------------
 3 files changed, 2 insertions(+), 43 deletions(-)
 delete mode 100644 gnu/packages/patches/igraph-fix-varargs-integer-size.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index e25fcc115b..d351005ae3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1614,7 +1614,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/id3lib-CVE-2007-4460.patch			\
   %D%/packages/patches/id3lib-UTF16-writing-bug.patch			\
   %D%/packages/patches/idris-test-ffi008.patch			\
-  %D%/packages/patches/igraph-fix-varargs-integer-size.patch	\
   %D%/packages/patches/ilmbase-fix-tests.patch			\
   %D%/packages/patches/indent-CVE-2024-0911.patch	\
   %D%/packages/patches/inferno-fix-crash.patch		\
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 9cca8520ba..0d65558a60 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -106,7 +106,7 @@ (define-public plfit
 (define-public igraph
   (package
     (name "igraph")
-    (version "0.10.7")
+    (version "0.10.15")
     (source
      (origin
        (method git-fetch)
@@ -114,7 +114,6 @@ (define-public igraph
              (url "https://github.com/igraph/igraph")
              (commit version)))
        (file-name (git-file-name name version))
-       (patches (search-patches "igraph-fix-varargs-integer-size.patch"))
        (modules '((guix build utils)
                   (ice-9 ftw)
                   (srfi srfi-26)))
@@ -136,7 +135,7 @@ (define-public igraph
                      (("add_sub.*vendor.*") ""))))
        (sha256
         (base32
-         "025f9c2jsawniqkig4l5z3v9aw3ipazmnlsf80b653mns5bvj1yn"))))
+         "0z9jqvl65j4z6brrjlfyykba2bs10az6dx6m8g41snlfnx21a82d"))))
     (build-system cmake-build-system)
     (arguments
      (list
diff --git a/gnu/packages/patches/igraph-fix-varargs-integer-size.patch b/gnu/packages/patches/igraph-fix-varargs-integer-size.patch
deleted file mode 100644
index 2d7ffd7e68..0000000000
--- a/gnu/packages/patches/igraph-fix-varargs-integer-size.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-If the size of int is different from IGRAPH_INTEGER_SIZE, the integer size
-passed to these vararg arguments is different from the assumed one,
-leading to undefined behavior.
-Submitted upstream: https://github.com/igraph/igraph/pull/2423
-
-
-diff -ur a/examples/simple/igraph_union.c b/examples/simple/igraph_union.c
---- a/examples/simple/igraph_union.c
-+++ b/examples/simple/igraph_union.c
-@@ -103,7 +103,7 @@
-     igraph_vector_ptr_init(&glist, 10);
-     for (i = 0; i < igraph_vector_ptr_size(&glist); i++) {
-         VECTOR(glist)[i] = calloc(1, sizeof(igraph_t));
--        igraph_vector_int_init_int_end(&v, -1, i, i + 1, 1, 0, -1);
-+        igraph_vector_int_init_int_end(&v, -1, (int) i, (int) i + 1, 1, 0, -1);
-         igraph_create(VECTOR(glist)[i], &v, 0, IGRAPH_DIRECTED);
-         igraph_vector_int_destroy(&v);
-     }
-@@ -123,7 +123,7 @@
-     igraph_vector_ptr_init(&glist, 10);
-     for (i = 0; i < igraph_vector_ptr_size(&glist); i++) {
-         VECTOR(glist)[i] = calloc(1, sizeof(igraph_t));
--        igraph_vector_int_init_int_end(&v, -1, i, i + 1, 1, 0, -1);
-+        igraph_vector_int_init_int_end(&v, -1, (int) i, (int) i + 1, 1, 0, -1);
-         igraph_create(VECTOR(glist)[i], &v, 0, IGRAPH_UNDIRECTED);
-         igraph_vector_int_destroy(&v);
-     }
-diff -ur a/src/core/matrix.pmt b/src/core/matrix.pmt
---- a/src/core/matrix.pmt
-+++ b/src/core/matrix.pmt
-@@ -1863,7 +1863,7 @@
- #ifdef FPRINTFUNC_ALIGNED
-             FPRINTFUNC_ALIGNED(file, VECTOR(column_width)[j], MATRIX(*m, i, j));
- #else
--            fprintf(file, format, VECTOR(column_width)[j], MATRIX(*m, i, j));
-+            fprintf(file, format, (int) VECTOR(column_width)[j], MATRIX(*m, i, j));
- #endif
-         }
-         fprintf(file, "\n");
-- 
2.49.0





Information forwarded to andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org:
bug#77902; Package guix-patches. (Mon, 05 May 2025 16:48:03 GMT) Full text and rfc822 format available.

Message #20 received at 77902 <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: 77902 <at> debbugs.gnu.org
Cc: Greg Hogan <code <at> greghogan.com>
Subject: [PATCH v2 science-team 1/7] gnu: Add %suitesparse-package-versions.
Date: Mon,  5 May 2025 16:43:21 +0000
* 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
---
 gnu/packages/maths.scm                       | 77 ++++++++++++++------
 gnu/packages/patches/gklib-suitesparse.patch |  4 +-
 2 files changed, 55 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index eb23a375b4..b1ff9c36bd 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -6179,9 +6179,25 @@ (define-public openspecfun
     ;; public domain software.
     (license (list license:expat license:public-domain))))
 
+(define %suitesparse-package-versions
+  '(("AMD" . "3.3.3")
+    ("BTF" . "2.3.2")
+    ("CAMD" . "3.3.3")
+    ("CCOLAMD" . "3.3.4")
+    ("CHOLMOD" . "5.3.2")
+    ("COLAMD" . "3.3.4")
+    ("CXSparse" . "4.4.1")
+    ("KLU" . "2.3.5")
+    ("LDL" . "3.3.2")
+    ("SuiteSparse_Mongoose" . "3.3.4")
+    ("RBio" . "4.3.4")
+    ("SPEX" . "3.2.3")
+    ("SPQR" . "4.3.4")
+    ("UMFPACK" . "6.3.5")))
+
 ;; Source for the modular SuiteSparse packages. When updating, also update the
 ;; (different) versions of the subpackages.
-(define suitesparse-version "7.2.0")
+(define suitesparse-version "7.10.2")
 (define suitesparse-source
   (origin
     (method git-fetch)
@@ -6191,10 +6207,12 @@ (define suitesparse-source
     (file-name (git-file-name "suitesparse" suitesparse-version))
     (sha256
      (base32
-      "1draljn8i46862drc6008cnb2zjpklf74j8c34jirjazzpf53kaa"))
+      "1ndwx2cp5zxrikq4xdrzjrxk1b5ps7lyi6qw34m8jpfpa0ba01ln"))
     (modules '((guix build utils)))
     (snippet
      #~(begin
+         ;; Empty except for a .gitignore.
+         (delete-file-recursively "build")
          ;; Delete autogenerated and bundled files
          (for-each delete-file (find-files "." "\\.pdf$"))
          ;; ssget
@@ -6205,19 +6223,13 @@ (define suitesparse-source
          (delete-file-recursively "CHOLMOD/SuiteSparse_metis")
          ; GraphBLAS
          (delete-file "GraphBLAS/README.md")
-         (delete-file "GraphBLAS/Config/GB_config.h")
          (delete-file "GraphBLAS/Config/GB_prejit.c")
          (delete-file-recursively "GraphBLAS/cpu_features")
-         (delete-file "GraphBLAS/CUDA/GB_cuda_common_jitFactory.hpp")
-         (delete-file "GraphBLAS/JITpackage/GB_JITpackage.c")
          (delete-file-recursively "GraphBLAS/lz4/lz4.c")
          (delete-file-recursively "GraphBLAS/lz4/lz4.h")
          (delete-file-recursively "GraphBLAS/lz4/lz4hc.c")
          (delete-file-recursively "GraphBLAS/lz4/lz4hc.h")
-         (delete-file "GraphBLAS/GraphBLAS/Config/GB_config.h")
          (delete-file "GraphBLAS/Tcov/PreJIT/GB_prejit.c")
-         (delete-file-recursively "GraphBLAS/Source/FactoryKernels")
-         (delete-file "GraphBLAS/Source/GB_AxB__include1.h")
          (delete-file "GraphBLAS/xxHash/xxhash.h")
          (delete-file-recursively "GraphBLAS/zstd/zstd_subset")
          ;; KLU
@@ -6247,6 +6259,7 @@ (define-public suitesparse-config
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -6263,12 +6276,13 @@ (define-public suitesparse-config
 (define-public suitesparse-amd
   (package
     (name "suitesparse-amd")
-    (version "3.2.0")
+    (version (assoc-ref %suitesparse-package-versions "AMD"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -6311,12 +6325,13 @@ (define-public suitesparse-amd
 (define-public suitesparse-btf
   (package
     (name "suitesparse-btf")
-    (version "2.2.0")
+    (version (assoc-ref %suitesparse-package-versions "BTF"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -6344,12 +6359,13 @@ (define-public suitesparse-btf
 (define-public suitesparse-camd
   (package
     (name "suitesparse-camd")
-    (version "3.2.0")
+    (version (assoc-ref %suitesparse-package-versions "CAMD"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -6389,12 +6405,13 @@ (define-public suitesparse-camd
 (define-public suitesparse-colamd
   (package
     (name "suitesparse-colamd")
-    (version "3.2.0")
+    (version (assoc-ref %suitesparse-package-versions "COLAMD"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -6422,12 +6439,13 @@ (define-public suitesparse-colamd
 (define-public suitesparse-ccolamd
   (package
     (name "suitesparse-ccolamd")
-    (version "3.2.0")
+    (version (assoc-ref %suitesparse-package-versions "CCOLAMD"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -6505,12 +6523,13 @@ (define-public metis-suitesparse
 (define-public suitesparse-cholmod
   (package
     (name "suitesparse-cholmod")
-    (version "4.2.0")
+    (version (assoc-ref %suitesparse-package-versions "CHOLMOD"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -6567,7 +6586,7 @@ (define-public suitesparse-cholmod
               (let ((out (string-append #$output
                                         "/share/doc/" #$name "-" #$version)))
                 (install-file "../CHOLMOD/Doc/License.txt" out)
-                (install-file "../CHOLMOD/Core/lesser.txt" out)
+                (install-file "../CHOLMOD/Check/lesser.txt" out)
                 (install-file "../CHOLMOD/MatrixOps/gpl.txt" out)))))))
     (inputs
      (list gklib-suitesparse
@@ -6590,12 +6609,13 @@ (define-public suitesparse-cholmod
 (define-public suitesparse-cxsparse
   (package
     (name "suitesparse-cxsparse")
-    (version "4.2.0")
+    (version (assoc-ref %suitesparse-package-versions "CXSparse"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -6624,12 +6644,13 @@ (define-public suitesparse-cxsparse
 (define-public suitesparse-klu
   (package
     (name "suitesparse-klu")
-    (version "2.2.0")
+    (version (assoc-ref %suitesparse-package-versions "KLU"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -6688,12 +6709,13 @@ (define-public suitesparse-klu
 (define-public suitesparse-ldl
   (package
     (name "suitesparse-ldl")
-    (version "3.2.0")
+    (version (assoc-ref %suitesparse-package-versions "LDL"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -6741,12 +6763,13 @@ (define-public suitesparse-ldl
 (define-public suitesparse-rbio
   (package
     (name "suitesparse-rbio")
-    (version "4.2.0")
+    (version (assoc-ref %suitesparse-package-versions "RBio"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -6779,12 +6802,13 @@ (define-public suitesparse-rbio
 (define-public suitesparse-mongoose
   (package
     (name "suitesparse-mongoose")
-    (version "3.2.0")
+    (version (assoc-ref %suitesparse-package-versions "SuiteSparse_Mongoose"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -6854,12 +6878,13 @@ (define-public suitesparse-mongoose
 (define-public suitesparse-spex
   (package
     (name "suitesparse-spex")
-    (version "2.2.0")
+    (version (assoc-ref %suitesparse-package-versions "SPEX"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -6897,6 +6922,7 @@ (define-public suitesparse-spex
                   texlive-soul
                   texlive-multirow
                   texlive-algorithms
+                  texlive-fncychap
                   texlive-float
                   texlive-algorithmicx
                   texlive-cprotect
@@ -6920,12 +6946,13 @@ (define-public suitesparse-spex
 (define-public suitesparse-spqr
   (package
     (name "suitesparse-spqr")
-    (version "4.2.0")
+    (version (assoc-ref %suitesparse-package-versions "SPQR"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -6970,7 +6997,8 @@ (define-public suitesparse-spqr
     (propagated-inputs (list suitesparse-cholmod))
     (native-inputs
      (list (texlive-updmap.cfg
-            (list texlive-epsf))))
+            (list texlive-epsf
+                  texlive-etoolbox))))
     (home-page "https://people.engr.tamu.edu/davis/suitesparse.html")
     (synopsis "Sparse QR factorization method")
     (description "The SPQR (SuiteSparseQR) package provides sparse QR
@@ -6981,12 +7009,13 @@ (define-public suitesparse-spqr
 (define-public suitesparse-umfpack
   (package
     (name "suitesparse-umfpack")
-    (version "6.2.0")
+    (version (assoc-ref %suitesparse-package-versions "UMFPACK"))
     (source suitesparse-source)
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #f
+      #:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
diff --git a/gnu/packages/patches/gklib-suitesparse.patch b/gnu/packages/patches/gklib-suitesparse.patch
index 8b6c708b6a..757354f9ba 100644
--- a/gnu/packages/patches/gklib-suitesparse.patch
+++ b/gnu/packages/patches/gklib-suitesparse.patch
@@ -1,5 +1,5 @@
 This patch contains the relevant changes to GKlib made in SuiteSparse
-(CHOLMOD) for the version 7.2.0
+(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.
 
@@ -10,7 +10,7 @@ diff -ur a/CMakeLists.txt b/CMakeLists.txt
  
  option(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)" OFF)
  
-+find_package ( SuiteSparse_config 7.1.0 REQUIRED )
++find_package ( SuiteSparse_config 7.10.2 REQUIRED )
 +
  get_filename_component(abs "." ABSOLUTE)
  set(GKLIB_PATH ${abs})
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77902; Package guix-patches. (Mon, 05 May 2025 16:48:03 GMT) Full text and rfc822 format available.

Message #23 received at 77902 <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: 77902 <at> debbugs.gnu.org
Cc: Greg Hogan <code <at> greghogan.com>
Subject: [PATCH v2 science-team 3/7] gnu: python-igraph: Update to 0.11.8.
Date: Mon,  5 May 2025 16:43:23 +0000
* gnu/packages/graph.scm (python-igraph): Update to 0.11.8.

Change-Id: I6493392a700ea64bb0bf3c300a39a323e9eebf36
---
 gnu/packages/graph.scm | 85 ++++++++++++++++++++----------------------
 1 file changed, 40 insertions(+), 45 deletions(-)

diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 0d65558a60..6a0b16d79a 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -213,51 +213,46 @@ (define-public igraph
     (license license:gpl2+)))
 
 (define-public python-igraph
-  ;; Temporarily use a precise commit, as there was a mistake in the last
-  ;; release that was fixed by it (see:
-  ;; https://github.com/igraph/python-igraph/issues/632).
-  (let ((revision "0")
-        (commit "b6ebd8eb277fc1d0e33340a6624629a10c638992"))
-    (package
-      (inherit igraph)
-      (name "python-igraph")
-      (version (git-version "0.10.4" revision commit))
-      (source (origin
-                (method git-fetch)
-                ;; The PyPI archive lacks tests.
-                (uri (git-reference
-                      (url "https://github.com/igraph/python-igraph")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0dhrz5a6pi6vs94fm8q4nmkh6v1nmpw1sk482xls213zcbbh67hd"))))
-      (build-system pyproject-build-system)
-      (arguments
-       (list
-        #:phases
-        #~(modify-phases %standard-phases
-            (add-after 'unpack 'specify-libigraph-location
-              (lambda _
-                (let ((igraph #$(this-package-input "igraph")))
-                  (substitute* "setup.py"
-                    (("(LIBIGRAPH_FALLBACK_INCLUDE_DIRS = ).*" _ var)
-                     (string-append
-                      var (format #f "[~s]~%"
-                                  (string-append igraph "/include/igraph"))))
-                    (("(LIBIGRAPH_FALLBACK_LIBRARY_DIRS = ).*" _ var)
-                     (string-append
-                      var (format #f "[~s]~%"
-                                  (string-append igraph "/lib")))))))))))
-      (inputs (list igraph))
-      (propagated-inputs
-       (list python-texttable))
-      (native-inputs
-       (list python-pytest
-             python-setuptools
-             python-wheel))
-      (home-page "https://igraph.org/python/")
-      (synopsis "Python bindings for the igraph network analysis library"))))
+  (package
+    (inherit igraph)
+    (name "python-igraph")
+    (version "0.11.8")
+    (source (origin
+              (method git-fetch)
+              ;; The PyPI archive lacks tests.
+              (uri (git-reference
+                    (url "https://github.com/igraph/python-igraph")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1c73nypzm2apqqwzqxxhbh692h4ri2x8q4i8f7q2kwczz156v19k"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'specify-libigraph-location
+            (lambda _
+              (let ((igraph #$(this-package-input "igraph")))
+                (substitute* "setup.py"
+                  (("(LIBIGRAPH_FALLBACK_INCLUDE_DIRS = ).*" _ var)
+                   (string-append
+                    var (format #f "[~s]~%"
+                                (string-append igraph "/include/igraph"))))
+                  (("(LIBIGRAPH_FALLBACK_LIBRARY_DIRS = ).*" _ var)
+                   (string-append
+                    var (format #f "[~s]~%"
+                                (string-append igraph "/lib")))))))))))
+    (inputs (list igraph))
+    (propagated-inputs
+     (list python-texttable))
+    (native-inputs
+     (list python-pytest
+           python-setuptools
+           python-wheel))
+    (home-page "https://igraph.org/python/")
+    (synopsis "Python bindings for the igraph network analysis library")))
 
 (define-public r-rbiofabric
   (let ((commit "666c2ae8b0a537c006592d067fac6285f71890ac")
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77902; Package guix-patches. (Mon, 05 May 2025 16:48:04 GMT) Full text and rfc822 format available.

Message #26 received at 77902 <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: 77902 <at> debbugs.gnu.org
Cc: Greg Hogan <code <at> greghogan.com>
Subject: [PATCH v2 science-team 4/7] gnu: python-vtraag-louvain: Deprecate.
Date: Mon,  5 May 2025 16:43:24 +0000
* gnu/packages/graph.scm (python-vtraag-louvain): Deprecate with
replacement python-louvain-igraph.

Change-Id: I4e8b938a0a7ffb1932209bfff97a84b075aabb0e
---
 gnu/packages/graph.scm | 39 +++------------------------------------
 1 file changed, 3 insertions(+), 36 deletions(-)

diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 6a0b16d79a..65aeb79830 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -395,42 +395,6 @@ (define-public python-louvain
 algorithm for community detection in large networks.")
     (license license:bsd-3)))
 
-(define-public python-vtraag-louvain
-  (package
-    (name "python-vtraag-louvain")
-    (version "0.8.0")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "louvain" version))
-              (sha256
-               (base32
-                "16l2zi4jwc3vpvpnz32jv7xy0g5087dp9y57wxplj1xa9r312x0i"))))
-    (build-system pyproject-build-system)
-    (arguments
-     (list
-      #:phases
-      '(modify-phases %standard-phases
-         (add-after 'unpack 'do-not-use-bundled-igraph
-           (lambda _
-             (substitute* "setup.py"
-               (("self.external = False")
-                "self.external = True")
-               (("self.use_pkgconfig = False")
-                "self.use_pkgconfig = True")))))))
-    (inputs (list igraph))
-    (propagated-inputs (list python-igraph python-setuptools))
-    (native-inputs
-     (list pkg-config
-           python-ddt
-           python-setuptools-scm
-           python-wheel))
-    (home-page "https://github.com/vtraag/louvain")
-    (synopsis "Community detection in large networks")
-    (description
-     "Louvain is a general algorithm for methods of community detection in
-large networks.")
-    (license license:gpl3+)))
-
 (define-public python-graphtools
   (package
     (name "python-graphtools")
@@ -535,6 +499,9 @@ (define-public python-louvain-igraph
 algorithm for a number of different methods.")
     (license license:gpl3+)))
 
+(define-public python-vtraag-louvain
+  (deprecated-package "python-vtraag-louvain" python-louvain-igraph))
+
 (define-public python-pygsp
   (package
     (name "python-pygsp")
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77902; Package guix-patches. (Mon, 05 May 2025 16:48:04 GMT) Full text and rfc822 format available.

Message #29 received at 77902 <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: 77902 <at> debbugs.gnu.org
Cc: Greg Hogan <code <at> greghogan.com>
Subject: [PATCH v2 science-team 5/7] gnu: python-louvain-igraph: Update to
 0.8.2.
Date: Mon,  5 May 2025 16:43:25 +0000
* gnu/packages/graph.scm (python-louvain-igraph): Update to 0.8.2.

Change-Id: Ifa755464fb88e0af6829d6f2569b900a80949e76
---
 gnu/packages/graph.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 65aeb79830..6bbcd30724 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -458,7 +458,7 @@ (define-public python-graphtools
 (define-public python-louvain-igraph
   (package
     (name "python-louvain-igraph")
-    (version "0.8.1")
+    (version "0.8.2")
     (source
      (origin
        (method git-fetch)
@@ -468,7 +468,7 @@ (define-public python-louvain-igraph
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1j2ybihvvzggwjb9zvm829aqb5b94q10h8bw6v0h42xd9w75z9sv"))))
+         "1aab6rnsnssi6wib939zy4vdzz3s2gcwwingn2dfjrijk05zjapv"))))
     (build-system pyproject-build-system)
     (arguments
      (list
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77902; Package guix-patches. (Mon, 05 May 2025 16:48:05 GMT) Full text and rfc822 format available.

Message #32 received at 77902 <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: 77902 <at> debbugs.gnu.org
Cc: Greg Hogan <code <at> greghogan.com>
Subject: [PATCH v2 science-team 6/7] gnu: Add libleidenalg.
Date: Mon,  5 May 2025 16:43:26 +0000
* gnu/packages/graph.scm (libleidenalg): New variable.

Change-Id: I73b21fcbca63ec26f521e8a17d45537dbcf82ffe
---
 gnu/packages/graph.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 6bbcd30724..49d2bd72a1 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -658,6 +658,39 @@ (define-public python-faiss
 clustering of dense vectors.  This package provides Python bindings to the
 Faiss library.")))
 
+(define-public libleidenalg
+  (package
+    (name "libleidenalg")
+    (version "0.11.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/vtraag/libleidenalg")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0fqy79yrgnrifhyc2lys5jv84siq01ph6038qyz7qagl1yq5gdw8"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+       #:tests? #f                      ;tests are not included
+       #:phases
+       #~(modify-phases %standard-phases
+           (add-after 'unpack 'version-file
+             (lambda _
+               (let ((port (open-file "VERSION" "w")))
+                 (display #$version port)
+                 (close port)))))))
+    (inputs (list igraph))
+    (home-page "https://github.com/vtraag/libleidenalg")
+    (synopsis "Community detection in large networks")
+    (description "Leiden is a general algorithm for methods of community
+detection in large networks and is an extension of the Louvain algorithm.
+This package implements the Leiden algorithm in C++ and can be run on graphs
+of millions of nodes (as long as they can fit in memory).")
+    (license license:gpl3+)))
+
 (define-public python-leidenalg
   (package
     (name "python-leidenalg")
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77902; Package guix-patches. (Mon, 05 May 2025 16:48:05 GMT) Full text and rfc822 format available.

Message #35 received at 77902 <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: 77902 <at> debbugs.gnu.org
Cc: Greg Hogan <code <at> greghogan.com>
Subject: [PATCH v2 science-team 7/7] gnu: python-leidenalg: Update to 0.10.2.
Date: Mon,  5 May 2025 16:43:27 +0000
* gnu/packages/graph.scm (python-leidenalg): Update to 0.10.2.
[inputs]: Add libleidenalg.
[description]: Update to account for removal of C++ implementation.

Change-Id: Ia00e819eda4c03f25e54dc72483c7bcaf2ab396f
---
 gnu/packages/graph.scm | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 49d2bd72a1..e2ef93b464 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -694,14 +694,14 @@ (define-public libleidenalg
 (define-public python-leidenalg
   (package
     (name "python-leidenalg")
-    (version "0.9.1")
+    (version "0.10.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "leidenalg" version))
        (sha256
         (base32
-         "1wvmi6ca9kf8pbxg6b18n64h82wr9a6wcdazyn82pww0dwxzwp3y"))))
+         "0k1f35bmgff8vc5fcyqa2dqfa1x17rb0vqzwkdqlm0sr5fllfh8g"))))
     (build-system python-build-system)
     (arguments
      '(#:tests? #f                      ;tests are not included
@@ -718,19 +718,14 @@ (define-public python-leidenalg
     (native-inputs
      (list pkg-config python-setuptools-scm))
     (inputs
-     (list igraph))
+     (list igraph libleidenalg))
     (propagated-inputs
      (list python-igraph))
     (home-page "https://github.com/vtraag/leidenalg")
     (synopsis "Community detection in large networks")
-    (description
-     "Leiden is a general algorithm for methods of community detection in
-large networks.  This package implements the Leiden algorithm in C++ and
-exposes it to Python.  Besides the relative flexibility of the implementation,
-it also scales well, and can be run on graphs of millions of nodes (as long as
-they can fit in memory).  The core function is @code{find_partition} which
-finds the optimal partition using the Leiden algorithm, which is an extension
-of the Louvain algorithm, for a number of different methods.")
+    (description "Leiden is a general algorithm for methods of community
+detection in large networks and is an extension of the Louvain algorithm. This
+packages provides a Python wrapper to the C++ implementation.")
     (license license:gpl3+)))
 
 (define-public edge-addition-planarity-suite
-- 
2.49.0





Reply sent to Greg Hogan <code <at> greghogan.com>:
You have taken responsibility. (Tue, 13 May 2025 17:32:05 GMT) Full text and rfc822 format available.

Notification sent to Greg Hogan <code <at> greghogan.com>:
bug acknowledged by developer. (Tue, 13 May 2025 17:32:05 GMT) Full text and rfc822 format available.

Message #40 received at 77902-done <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: 77902-done <at> debbugs.gnu.org
Subject: Re: [PATCH v2 science-team 0/7] Update SuiteSparse.
Date: Tue, 13 May 2025 13:31:30 -0400
On Mon, May 5, 2025 at 12:47 PM Greg Hogan <code <at> greghogan.com> wrote:
>
> v2 restores the installation directory of the suitesparse header files
> by overriding the new default subdirectory "suitesparse".
>
> Also includes updates and fixes for dependent packages.
>
> Greg Hogan (7):
>   gnu: Add %suitesparse-package-versions.
>   gnu: igraph: Update to 0.10.15.
>   gnu: python-igraph: Update to 0.11.8.
>   gnu: python-vtraag-louvain: Deprecate.
>   gnu: python-louvain-igraph: Update to 0.8.2.
>   gnu: Add libleidenalg.
>   gnu: python-leidenalg: Update to 0.10.2.
>
>  gnu/local.mk                                  |   1 -
>  gnu/packages/graph.scm                        | 183 ++++++++----------
>  gnu/packages/maths.scm                        |  77 +++++---
>  gnu/packages/patches/gklib-suitesparse.patch  |   4 +-
>  .../igraph-fix-varargs-integer-size.patch     |  39 ----
>  5 files changed, 141 insertions(+), 163 deletions(-)
>  delete mode 100644 gnu/packages/patches/igraph-fix-varargs-integer-size.patch
>
>
> base-commit: 90f0f8713da9cf0dc0bb5c93446a4eba11075352
> --
> 2.49.0

Pushed as c6aaffba1c766d67cac28c47682952fb3ec095e5^..c0fc7d2a0a8ac1b39f8fe9a9cbc43bda405d008e.




This bug report was last modified 28 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.