From 7cd74dbcdeed43d3d08e85ddc714ec14a471011f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 30 Apr 2026 11:31:02 +0200 Subject: [PATCH] gnu: igraph-for-r-rigraphlib: Update to 1.0.1. * gnu/packages/graph.scm (igraph-for-r-rigraphlib): Update to 1.0.1. [source]: Adjust snippet to preserve qhull and cxsparse. [arguments]: Inherit from igraph; remove 'patch-suitesparse phase; disable infomap support. [inputs]: Remove suitesparse-cxsparse. Change-Id: I34fcb77d0cda31a8a2bb3982c7da462db6c72342 --- gnu/packages/graph.scm | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index f5279e84124..7eace53f6ca 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017-2025 Ricardo Wurmus +;;; Copyright © 2017-2026 Ricardo Wurmus ;;; Copyright © 2018 Joshua Sierles, Nextjournal ;;; Copyright © 2018, 2020, 2022 Tobias Geerinckx-Rice ;;; Copyright © 2019, 2021, 2022, 2024 Efraim Flashner @@ -227,7 +227,7 @@ more.") (package (inherit igraph) (name "igraph") - (version "0.10.15") + (version "1.0.1") (source (origin (inherit (package-source igraph)) @@ -239,7 +239,39 @@ more.") (file-name (git-file-name name version)) (sha256 (base32 - "0z9jqvl65j4z6brrjlfyykba2bs10az6dx6m8g41snlfnx21a82d"))))))) + "01mynhbl2ph0gkc0zr5klwqvczwcimfs2kdn6didwg4k8gsrcxlr")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-26))) + ;; We need the vendored versions of qhull and cxsparse. + (snippet '(begin + (delete-file-recursively "src/isomorphism/bliss") + (substitute* '("src/CMakeLists.txt" + "etc/cmake/benchmark_helpers.cmake") + ;; Remove extraneous bundling related variables. + ((".*_IS_VENDORED.*") "") + ((".*add_sub.*isomorphism/bliss.*") "") + (("(.*TARGETS.*)bliss(.*)pcg(.*)" + _ part1 part2 part3) + (string-append part1 part2 part3)) + ((" pcg ") " pcg_random ")))))) + (arguments + (substitute-keyword-arguments (package-arguments igraph) + ((#:phases phases '%standard-phases) + #~(modify-phases #$phases + ;; We have to use the bundled version because it has been + ;; modified from upstream. + (delete 'patch-suitesparse))) + ((#:configure-flags flags) + #~(list "-DBUILD_SHARED_LIBS=ON" + "-DIGRAPH_INFOMAP_SUPPORT=OFF" + "-DCMAKE_C_FLAGS=-Wno-error=incompatible-pointer-types" + ;; Use the same integer width as suitesparse-cxsparse, which + ;; uses int64_t in SuiteSparse v6.0.0 and later. + "-DIGRAPH_INTEGER_SIZE=64")))) + (inputs + (modify-inputs (package-inputs igraph) + (delete "suitesparse-cxsparse")))))) (define-public python-igraph (package