me
/
guix
Archived
1
0
Fork 0

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.
master
Maxim Cournoyer 2021-12-23 00:43:28 -05:00
parent 36681885d4
commit 3c50cb75ee
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
1 changed files with 36 additions and 10 deletions

View File

@ -88,28 +88,54 @@ distributions in empirical data. SIAM Review 51, 661-703 (2009)}).")
(define-public igraph (define-public igraph
(package (package
(name "igraph") (name "igraph")
(version "0.8.4") (version "0.9.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/igraph/igraph/releases/" (uri (string-append "https://github.com/igraph/igraph/releases/"
"download/" version "/igraph-" version ".tar.gz")) "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 (sha256
(base32 "127q6q40kbmvd62yhbz6dlfk370qiq98s1iscyagpgbpjwb4xvyf")))) (base32 "0ym1jnj6rqrrjad0dk7jsrm9351zdd0654brbn38gqp1j9wgdqy4"))))
(build-system gnu-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags '(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON")))
(list "--disable-static" (native-inputs (list pkg-config))
"--with-external-glpk"
"--with-external-blas"
"--with-external-lapack")))
(inputs (inputs
(list gmp (list arpack-ng
gmp
glpk glpk
libxml2 libxml2
lapack lapack
openblas openblas
zlib)) plfit
suitesparse))
(home-page "https://igraph.org") (home-page "https://igraph.org")
(synopsis "Network analysis and visualization") (synopsis "Network analysis and visualization")
(description (description