1{ buildPythonPackage
2, lib
3, fetchurl
4
5, autoreconfHook
6, boost
7, cairomm
8, cgal
9, expat
10, gmp
11, gobject-introspection
12, gtk3
13, matplotlib
14, mpfr
15, numpy
16, pkg-config
17, pycairo
18, pygobject3
19, python
20, scipy
21, sparsehash
22}:
23
24buildPythonPackage rec {
25 pname = "graph-tool";
26 format = "other";
27 version = "2.45";
28
29 src = fetchurl {
30 url = "https://downloads.skewed.de/graph-tool/graph-tool-${version}.tar.bz2";
31 hash = "sha256-+S2nrM/aArKXke/k8LPtkzKfJyMq9NOvwHySQh7Ghmg=";
32 };
33
34 configureFlags = [
35 "--with-python-module-path=$(out)/${python.sitePackages}"
36 "--with-boost-libdir=${boost}/lib"
37 "--with-expat=${expat}"
38 "--with-cgal=${cgal}"
39 "--enable-openmp"
40 ];
41
42 enableParallelBuilding = true;
43
44 nativeBuildInputs = [
45 autoreconfHook
46 pkg-config
47 ];
48
49 # https://git.skewed.de/count0/graph-tool/-/wikis/installation-instructions#manual-compilation
50 propagatedBuildInputs = [
51 boost
52 cairomm
53 cgal
54 expat
55 gmp
56 gobject-introspection
57 gtk3
58 matplotlib
59 mpfr
60 numpy
61 pycairo
62 pygobject3
63 scipy
64 sparsehash
65 ];
66
67 meta = with lib; {
68 description = "Python module for manipulation and statistical analysis of graphs";
69 homepage = "https://graph-tool.skewed.de";
70 license = licenses.lgpl3Plus;
71 maintainers = with maintainers; [ ];
72 };
73}