1{ stdenv
2, lib
3, buildPythonPackage
4, fetchPypi
5, fetchpatch
6, pythonOlder
7, mako
8, markdown
9, setuptools-git
10, setuptools-scm
11}:
12
13buildPythonPackage rec {
14 pname = "pdoc3";
15 version = "0.10.0";
16 disabled = pythonOlder "3.7";
17
18 src = fetchPypi {
19 inherit pname version;
20 hash = "sha256-XyLnvLlpAGc44apCGcdaMvNMLWLUbcnS+y0+CwKH5Lc=";
21 };
22
23 patches = [
24 (fetchpatch {
25 # test_Class_params fails in 0.10.0
26 # https://github.com/pdoc3/pdoc/issues/355
27 url = "https://github.com/pdoc3/pdoc/commit/4aa70de2221a34a3003a7e5f52a9b91965f0e359.patch";
28 hash = "sha256-W7Dy516cA+Oj0ZCTQBB6MJ+fCTBeLRp+aW8nANdxSx8=";
29 })
30 # https://github.com/pdoc3/pdoc/issues/400
31 (fetchpatch {
32 name = "fix-test-for-python310.patch";
33 url = "https://github.com/pdoc3/pdoc/commit/80af5d40d3ca39e2701c44941c1003ae6a280799.patch";
34 hash = "sha256-69Cn+BY7feisSHugONIF/PRgEDEfnvnS/RBHWv1P8/w=";
35 excludes = [".github/workflows/ci.yml"];
36 })
37 ];
38
39 nativeBuildInputs = [
40 setuptools-git
41 setuptools-scm
42 ];
43
44 propagatedBuildInputs = [
45 mako
46 markdown
47 ];
48
49 meta = with lib; {
50 description = "Auto-generate API documentation for Python projects.";
51 homepage = "https://pdoc3.github.io/pdoc/";
52 license = with licenses; [ agpl3Plus ];
53 maintainers = with maintainers; [ catern ];
54 };
55}