1{ fetchurl, python, cairomm, sparsehash, pycairo, autoreconfHook
2, pkg-config, boost, expat, scipy, cgal, gmp, mpfr
3, gobject-introspection, pygobject3, gtk3, matplotlib, ncurses
4, buildPythonPackage
5, fetchpatch
6, pythonAtLeast
7, lib
8}:
9
10buildPythonPackage rec {
11 pname = "graph-tool";
12 format = "other";
13 version = "2.31";
14
15 src = fetchurl {
16 url = "https://downloads.skewed.de/graph-tool/graph-tool-${version}.tar.bz2";
17 sha256 = "0z6n9xkb5yz7z6rlwl6z9gq3ac5vdsby90nhvvvskadsx2pagd7v";
18 };
19
20 configureFlags = [
21 "--with-python-module-path=$(out)/${python.sitePackages}"
22 "--with-boost-libdir=${boost}/lib"
23 "--with-expat=${expat}"
24 "--with-cgal=${cgal}"
25 "--enable-openmp"
26 ];
27
28 nativeBuildInputs = [ autoreconfHook pkg-config ];
29 buildInputs = [ ncurses ];
30
31 propagatedBuildInputs = [
32 boost
33 cgal
34 expat
35 gmp
36 mpfr
37 python
38 scipy
39 # optional
40 sparsehash
41 # drawing
42 cairomm
43 gobject-introspection
44 gtk3
45 pycairo
46 matplotlib
47 pygobject3
48 ];
49
50 enableParallelBuilding = false;
51
52 meta = with lib; {
53 description = "Python module for manipulation and statistical analysis of graphs";
54 homepage = "https://graph-tool.skewed.de/";
55 license = licenses.gpl3;
56 maintainers = [ maintainers.joelmo ];
57 };
58}