summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Hannud Abdo <abdo@member.fsf.org>2021-04-23 08:17:52 +0200
committerGuix Patches Tester <>2021-04-23 14:37:17 +0100
commit2bcb0fcc205d8959962ecf10125f18f5521c8b65 (patch)
treeef385122fb4eee1508441317c5d47790b07b2900
parentc15d31ac10be3be470c2a528a2948f5fd262cd08 (diff)
downloadguix-patches-2bcb0fcc205d8959962ecf10125f18f5521c8b65.tar
guix-patches-2bcb0fcc205d8959962ecf10125f18f5521c8b65.tar.gz
gnu: Add python-graph-tool.
* gnu/packages/graph.scm (python-graph-tool): New variable.
-rw-r--r--gnu/packages/graph.scm62
1 files changed, 62 insertions, 0 deletions
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index d2e4c875a1..94125ebdba 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru>
;;; Copyright © 2020 Pierre Langlois <pierre.langlos@gmx.com>
+;;; Copyright © 2021 Alexandre Hannud Abdo <abdo@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,13 +38,18 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages bioconductor)
#:use-module (gnu packages bioinformatics)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cran)
+ #:use-module (gnu packages datastructures)
#:use-module (gnu packages gd)
+ #:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
@@ -510,3 +516,59 @@ MSCs need not be complicated to create or use. Mscgen aims to provide a simple
text language that is clear to create, edit and understand, which can also be
transformed into common image formats for display or printing.")
(license license:gpl2+)))
+
+(define-public python-graph-tool
+ (package
+ (name "python-graph-tool")
+ (version "2.37")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://downloads.skewed.de/graph-tool/graph-tool-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "0w2i4d4zyk051zkykcg0ksngspajznwmp523hbsx50xnxc6jliyz"))))
+ (build-system gnu-build-system)
+ ;; (arguments '(#:configure-flags '("--disable-openmp")))
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-boost="
+ (assoc-ref %build-inputs "boost"))
+ (string-append "--with-python-module-path="
+ (assoc-ref %outputs "out")
+ "/lib/python"
+ ((lambda (version)
+ (substring version 0 (string-rindex version #\.)))
+ ,(package-version
+ (car (assoc-ref
+ (package-propagated-inputs this-package)
+ "python"))))
+ "/site-packages/"))))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("gcc-10" ,gcc-10)
+ ("ncurses" ,ncurses)))
+ (inputs `(("boost" ,boost)
+ ("expat" ,expat)
+ ("gmp" ,gmp)
+ ("cgal" ,cgal)
+ ("sparsehash" ,sparsehash)
+ ("gtk+" ,gtk+)
+ ("cairomm" ,cairomm)))
+ (propagated-inputs `(("python" ,python-wrapper)
+ ("python-scipy" ,python-scipy)
+ ("python-numpy" ,python-numpy)
+ ("python-pycairo" ,python-pycairo)
+ ("python-matplotlib" ,python-matplotlib)))
+ (synopsis "Efficient python module for analysis of graphs")
+ (description "Graph-tool is an efficient Python module for
+manipulation and statistical analysis of graphs (a.k.a. networks).
+Contrary to most other Python modules with similar functionality, the
+core data structures and algorithms are implemented in C++, making
+extensive use of template metaprogramming, based heavily on the Boost
+Graph Library. This confers it a level of performance that is
+comparable (both in memory usage and computation time) to that of a
+pure C/C++ library.")
+ (home-page "https://graph-tool.skewed.de/")
+ (license license:lgpl3+)))