From 3c50cb75eec0521fecb47d1e006a29122e97b0c5 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 23 Dec 2021 00:43:28 -0500 Subject: 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 -- cgit v1.2.3