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