diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2021-12-23 00:43:28 -0500 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-01-10 11:44:47 -0500 |
commit | 3c50cb75eec0521fecb47d1e006a29122e97b0c5 (patch) | |
tree | bba4dbf99bbd224ac4b95f2e78a8d13f92c54fc6 /gnu | |
parent | 36681885d4a2a98c41fcef84f29e6804ef9d38c2 (diff) |
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.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/graph.scm | 46 |
1 files 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 |