Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / diagrams / default.nix
blob963161e7c77ebaddc3cc74970e6c837ea9545a5d
1 { lib
2 , buildPythonPackage
3 , pythonOlder
4 , fetchFromGitHub
5 , jinja2
6 , poetry-core
7 , round
8 , graphviz
9 , inkscape
10 , imagemagick
11 , pytestCheckHook
12 , typed-ast
15 buildPythonPackage rec {
16   pname = "diagrams";
17   version = "0.23.4";
18   format = "pyproject";
20   disabled = pythonOlder "3.7";
22   src = fetchFromGitHub {
23     owner = "mingrammer";
24     repo = pname;
25     rev = "refs/tags/v${version}";
26     hash = "sha256-2jRWN2glGEr51fzny8nkqa5c2EdJG5aZPG2eTD7AISY=";
27   };
29   postPatch = ''
30     substituteInPlace pyproject.toml \
31       --replace 'graphviz = ">=0.13.2,<0.20.0"' 'graphviz = "*"'
32   '';
34   preConfigure = ''
35     patchShebangs autogen.sh
36     ./autogen.sh
37   '';
39   patches = [
40     # The build-system section is missing
41     ./build_poetry.patch
42     ./remove-black-requirement.patch
43   ];
45   # Despite living in 'tool.poetry.dependencies',
46   # these are only used at build time to process the image resource files
47   nativeBuildInputs = [
48     inkscape imagemagick
49     jinja2
50     poetry-core
51     round
52   ];
54   propagatedBuildInputs = [
55     graphviz
56     typed-ast
57   ];
59   nativeCheckInputs = [
60     pytestCheckHook
61   ];
63   pythonImportsCheck = [
64     "diagrams"
65   ];
67   meta = with lib; {
68     description = "Diagram as Code";
69     homepage = "https://diagrams.mingrammer.com/";
70     changelog = "https://github.com/mingrammer/diagrams/releases/tag/v${version}";
71     license = licenses.mit;
72     maintainers = with maintainers; [ addict3d ];
73   };