1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5, pkg-config
6, igraph
7, texttable
8, unittestCheckHook
9}:
10
11buildPythonPackage rec {
12 pname = "igraph";
13 version = "0.10.2";
14
15 disabled = pythonOlder "3.7";
16
17 src = fetchFromGitHub {
18 owner = "igraph";
19 repo = "python-igraph";
20 rev = version;
21 hash = "sha256-ro2EkJQxW8aHejAvkaXI9mJC5XgFt31akhzFDAPZ4ow=";
22 };
23
24 postPatch = ''
25 rm -r vendor
26 '';
27
28 nativeBuildInputs = [
29 pkg-config
30 ];
31
32 buildInputs = [
33 igraph
34 ];
35
36 propagatedBuildInputs = [
37 texttable
38 ];
39
40 # NB: We want to use our igraph, not vendored igraph, but even with
41 # pkg-config on the PATH, their custom setup.py still needs to be explicitly
42 # told to do it. ~ C.
43 setupPyGlobalFlags = [ "--use-pkg-config" ];
44
45 checkInputs = [
46 unittestCheckHook
47 ];
48
49 pythonImportsCheck = [ "igraph" ];
50
51 meta = with lib; {
52 description = "High performance graph data structures and algorithms";
53 homepage = "https://igraph.org/python/";
54 changelog = "https://github.com/igraph/python-igraph/blob/${src.rev}/CHANGELOG.md";
55 license = licenses.gpl2Plus;
56 maintainers = with maintainers; [ MostAwesomeDude dotlambda ];
57 };
58}