aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/graph.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-12-23 00:43:28 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-01-10 11:44:47 -0500
commit3c50cb75eec0521fecb47d1e006a29122e97b0c5 (patch)
treebba4dbf99bbd224ac4b95f2e78a8d13f92c54fc6 /gnu/packages/graph.scm
parent36681885d4a2a98c41fcef84f29e6804ef9d38c2 (diff)
downloadguix-3c50cb75eec0521fecb47d1e006a29122e97b0c5.tar
guix-3c50cb75eec0521fecb47d1e006a29122e97b0c5.tar.gz
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/packages/graph.scm')
-rw-r--r--gnu/packages/graph.scm46
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