guix-commits
[Top][All Lists]
Advanced

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

89/145: gnu: igraph: Update to 0.9.5.


From: guix-commits
Subject: 89/145: gnu: igraph: Update to 0.9.5.
Date: Mon, 10 Jan 2022 11:44:13 -0500 (EST)

apteryx pushed a commit to branch version-1.4.0
in repository guix.

commit d64ef5c1e22d7ade5d5d9d5b8b3774d5e1083391
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Thu Dec 23 00:43:28 2021 -0500

    gnu: igraph: Update to 0.9.5.
    
    * gnu/packages/graph.scm (igraph): Update to 0.9.5.
    [source]: Add snippet to fully unbundle.
    [build-system]: Use cmake-build-system.
    [configure-flags]: Replace all by just '-DBUILD_SHARED_LIBS=ON'.
    [native-inputs]: Add pkg-config.
    [inputs]{zlib}: Delete input.
    {arpack-ng, plfit, suitesparse}: New inputs.
---
 gnu/packages/graph.scm | 46 ++++++++++++++++++++++++++++++++++++----------
 1 file changed, 36 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index bc27edc2fa..d33fcdf6dd 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -88,28 +88,54 @@ distributions in empirical data.  SIAM Review 51, 661-703 
(2009)}).")
 (define-public igraph
   (package
     (name "igraph")
-    (version "0.8.4")
+    (version "0.9.5")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/igraph/igraph/releases/";
                            "download/" version "/igraph-" version ".tar.gz"))
+       (modules '((guix build utils)))
+       (snippet '(begin
+                   ;; Fully unbundle igraph (see:
+                   ;; https://github.com/igraph/igraph/issues/1897).
+                   (delete-file-recursively "vendor")
+                   (substitute* "CMakeLists.txt"
+                     (("add_subdirectory\\(vendor\\).*")
+                      ""))
+                   (substitute* "src/CMakeLists.txt"
+                     ;; Remove bundling related variables.
+                     ((".*_IS_VENDORED.*") "")
+                     ;; Remove link/install directives to bundled plfit.
+                     (("plfit") "")
+                     ;; Patch in support to find plfit from the system.
+                     (("# Link igraph statically to some.*" all)
+                      (string-append "\
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(PLFIT REQUIRED libplfit IMPORTED_TARGET)
+target_link_libraries(igraph PUBLIC PkgConfig::PLFIT)\n"
+                                     all)))
+                   (substitute* (find-files "." "(\\.h|\\.c)$")
+                     ;; Adjust includes for the newer plfit used.
+                     (("plfit/error.h")
+                      "plfit/plfit_error.h")
+                     ;; And the newer SuiteSparse.
+                     (("cs/cs.h")
+                      "cs.h"))))
        (sha256
-        (base32 "127q6q40kbmvd62yhbz6dlfk370qiq98s1iscyagpgbpjwb4xvyf"))))
-    (build-system gnu-build-system)
+        (base32 "0ym1jnj6rqrrjad0dk7jsrm9351zdd0654brbn38gqp1j9wgdqy4"))))
+    (build-system cmake-build-system)
     (arguments
-     `(#:configure-flags
-       (list "--disable-static"
-             "--with-external-glpk"
-             "--with-external-blas"
-             "--with-external-lapack")))
+     '(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON")))
+    (native-inputs (list pkg-config))
     (inputs
-     (list gmp
+     (list arpack-ng
+           gmp
            glpk
            libxml2
            lapack
            openblas
-           zlib))
+           plfit
+           suitesparse))
     (home-page "https://igraph.org";)
     (synopsis "Network analysis and visualization")
     (description



reply via email to

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