1{
2 lib,
3 buildPythonPackage,
4 defusedxml,
5 docutils,
6 fetchFromGitHub,
7 fetchpatch,
8 pytestCheckHook,
9 pythonOlder,
10 sphinx,
11}:
12
13buildPythonPackage rec {
14 pname = "breathe";
15 version = "4.35.0";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "michaeljones";
22 repo = pname;
23 rev = "refs/tags/v${version}";
24 hash = "sha256-LJXvtScyWRL8zfj877bJ4xuIbLV9IN3Sn9KPUTLMjMI=";
25 };
26
27 patches = [
28 (fetchpatch {
29 # sphinx 7.2 support https://github.com/breathe-doc/breathe/pull/956
30 name = "breathe-sphinx7.2-support.patch";
31 url = "https://github.com/breathe-doc/breathe/commit/46abd77157a2a57e81586e4f8765ae8f1a09d167.patch";
32 hash = "sha256-zGFO/Ndk/9Yv2dbo8fpEoB/vchZP5vRceoC1E3sUny8=";
33 })
34 ];
35
36 propagatedBuildInputs = [
37 docutils
38 sphinx
39 ];
40
41 nativeCheckInputs = [ pytestCheckHook ];
42
43 checkInputs = [ defusedxml ];
44
45 pythonImportsCheck = [ "breathe" ];
46
47 meta = with lib; {
48 description = "Sphinx Doxygen renderer";
49 mainProgram = "breathe-apidoc";
50 homepage = "https://github.com/michaeljones/breathe";
51 license = licenses.bsd3;
52 maintainers = [ ];
53 inherit (sphinx.meta) platforms;
54 };
55}