Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, graphviz
5, stdlib-list
6, pytestCheckHook
7, pythonOlder
8, pyyaml
9}:
10
11buildPythonPackage rec {
12 pname = "pydeps";
13 version = "1.11.0";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitHub {
19 owner = "thebjorn";
20 repo = pname;
21 rev = "refs/tags/v${version}";
22 hash = "sha256-XAx7B3v+7xYiW15nJgiL82YlNeBxW80M0Rq0LMMsWu0=";
23 };
24
25 buildInputs = [
26 graphviz
27 ];
28
29 propagatedBuildInputs = [
30 graphviz
31 stdlib-list
32 ];
33
34 checkInputs = [
35 pytestCheckHook
36 pyyaml
37 ];
38
39 postPatch = ''
40 # Path is hard-coded
41 substituteInPlace pydeps/dot.py \
42 --replace "dot -Gstart=1" "${lib.makeBinPath [ graphviz ]}/dot -Gstart=1"
43 '';
44
45 disabledTests = [
46 # Would require to have additional modules available
47 "test_find_package_names"
48 ];
49
50 pythonImportsCheck = [
51 "pydeps"
52 ];
53
54 meta = with lib; {
55 description = "Python module dependency visualization";
56 homepage = "https://github.com/thebjorn/pydeps";
57 changelog = "https://github.com/thebjorn/pydeps/releases/tag/v${version}";
58 license = licenses.bsd2;
59 maintainers = with maintainers; [ fab ];
60 };
61}