summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Hogan <code@greghogan.com>2025-05-05 15:52:10 +0000
committerGreg Hogan <code@greghogan.com>2025-05-13 16:35:43 +0000
commit35a15c5a700c0acc0dab9f07f847f51b5a0e1873 (patch)
tree5565fea4879f7a0b7ed05a0fa81d6aae820654b1
parent61e413eb7e47ed1cc4506d5154e5ff720bcd5a5a (diff)
gnu: Add libleidenalg.
* gnu/packages/graph.scm (libleidenalg): New variable. Change-Id: I73b21fcbca63ec26f521e8a17d45537dbcf82ffe
-rw-r--r--gnu/packages/graph.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 92ecf38429..c0f0e450e2 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -679,6 +679,39 @@ contains supporting code for evaluation and parameter tuning.")
clustering of dense vectors. This package provides Python bindings to the
Faiss library.")))
+(define-public libleidenalg
+ (package
+ (name "libleidenalg")
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vtraag/libleidenalg")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fqy79yrgnrifhyc2lys5jv84siq01ph6038qyz7qagl1yq5gdw8"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ;tests are not included
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'version-file
+ (lambda _
+ (let ((port (open-file "VERSION" "w")))
+ (display #$version port)
+ (close port)))))))
+ (inputs (list igraph))
+ (home-page "https://github.com/vtraag/libleidenalg")
+ (synopsis "Community detection in large networks")
+ (description "Leiden is a general algorithm for methods of community
+detection in large networks and is an extension of the Louvain algorithm.
+This package implements the Leiden algorithm in C++ and can be run on graphs
+of millions of nodes (as long as they can fit in memory).")
+ (license license:gpl3+)))
+
(define-public python-leidenalg
(package
(name "python-leidenalg")