guix-commits
[Top][All Lists]
Advanced

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

01/05: gnu: igraph: Update to 0.10.4.


From: guix-commits
Subject: 01/05: gnu: igraph: Update to 0.10.4.
Date: Fri, 27 Jan 2023 14:13:41 -0500 (EST)

apteryx pushed a commit to branch master
in repository guix.

commit a8754d3160e1ef129e71f0e3a7edfa94c3649018
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Fri Jan 27 12:07:32 2023 -0500

    gnu: igraph: Update to 0.10.4.
    
    * gnu/packages/graph.scm (igraph): Update to 0.10.4.
    [source]: Modify to preserve the bundled cs and pcg libraries, which cannot 
be
    used from the system.
    [arguments]: Use gexps, and provide the #:test-target argument.
    [inputs]: Delete suitesparse.
    [propagated-inputs]: New field.
---
 gnu/packages/graph.scm | 46 ++++++++++++++++++++++++++--------------------
 1 file changed, 26 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index a2f771799f..5633dfdea6 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -8,7 +8,7 @@
 ;;; Copyright © 2020 Pierre Langlois <pierre.langlos@gmx.com>
 ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2021 Alexandre Hannud Abdo <abdo@member.fsf.org>
-;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -91,35 +91,40 @@ distributions in empirical data.  SIAM Review 51, 661-703 
(2009)}).")
 (define-public igraph
   (package
     (name "igraph")
-    (version "0.9.8")
+    (version "0.10.4")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/igraph/igraph/releases/";
                            "download/" version "/igraph-" version ".tar.gz"))
-       (modules '((guix build utils)))
+       (modules '((guix build utils)
+                  (ice-9 ftw)
+                  (srfi srfi-26)))
        (snippet '(begin
-                   ;; Fully unbundle igraph (see:
-                   ;; https://github.com/igraph/igraph/issues/1897).
-                   (delete-file-recursively "vendor")
-                   (substitute* "CMakeLists.txt"
-                     (("add_subdirectory\\(vendor\\).*")
-                      ""))
-                   ;; Help CMake to find our plfit headers.
-                   (substitute* "etc/cmake/FindPLFIT.cmake"
-                     (("^  NAMES plfit.h.*" all)
-                      (string-append all
-                                     "  PATH_SUFFIXES plfit")))
+                   ;; igraph insists on building its own copy of CxSparse
+                   ;; (see: https://github.com/igraph/igraph/commit/\
+                   ;; 334318b7dfe46501236272ca336580f4748114b0) and the build
+                   ;; has no support to use a system provided 'pcg'.
+                   (define keep-libraries '("cs" "pcg"))
+                   (define keep (append '("." ".." "CMakeLists.txt")
+                                        keep-libraries))
+                   (define keep? (cut member <> keep))
+                   (with-directory-excursion "vendor"
+                     (for-each delete-file-recursively
+                               (scandir "." (negate keep?))))
+                   (call-with-output-file "vendor/CMakeLists.txt"
+                     (cut format <> "~{add_subdirectory(~a)~%~}"
+                          keep-libraries))
                    (substitute* '("src/CMakeLists.txt"
                                   "etc/cmake/benchmark_helpers.cmake")
-                     ;; Remove bundling related variables.
+                     ;; Remove extraneous bundling related variables.
                      ((".*_IS_VENDORED.*")
                       ""))))
        (sha256
-        (base32 "15v3ydq95gahnas37cip637hvc2nwrmk76xp0nv3gq53rrrk9a7r"))))
+        (base32 "1z1ay3l1h64jc2igbl2ibvi20sswy56v2yk3ykhis7jzijsh0mxa"))))
     (build-system cmake-build-system)
-    (arguments
-     '(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON")))
+    (arguments (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")
+                     #:test-target "check"))
     (native-inputs (list pkg-config))
     (inputs
      (list arpack-ng
@@ -128,8 +133,9 @@ distributions in empirical data.  SIAM Review 51, 661-703 
(2009)}).")
            libxml2
            lapack
            openblas
-           plfit
-           suitesparse))
+           plfit))
+    ;; libxml2 is in the 'Requires.private' of igraph.pc.
+    (propagated-inputs (list libxml2))
     (home-page "https://igraph.org";)
     (synopsis "Network analysis and visualization")
     (description



reply via email to

[Prev in Thread] Current Thread [Next in Thread]