1{ lib
2, fetchFromGitLab
3, fetchpatch
4, meson
5, ninja
6, python3
7}:
8
9python3.pkgs.buildPythonApplication rec {
10 pname = "gi-docgen";
11 version = "2021.8";
12
13 format = "other";
14
15 src = fetchFromGitLab {
16 domain = "gitlab.gnome.org";
17 owner = "GNOME";
18 repo = pname;
19 rev = version;
20 sha256 = "Y1IdCH6bytxbKIj48IAw/3XUQhoqwPshvdj/d1hRS3o=";
21 };
22
23 patches = [
24 # Fix building docs of some packages (e.g. gnome-builder)
25 # https://gitlab.gnome.org/GNOME/gi-docgen/-/issues/111
26 (fetchpatch {
27 url = "https://gitlab.gnome.org/GNOME/gi-docgen/-/commit/72f3c5dbe27aabb5f7a376afda23f3dfc3c2e212.patch";
28 sha256 = "iVXc3idmcjmFVZQdE2QX2V53YZ79lqxZid9nWdxAZ/Q=";
29 })
30 ];
31
32 depsBuildBuild = [
33 python3
34 ];
35
36 nativeBuildInputs = [
37 meson
38 ninja
39 ];
40
41 pythonPath = with python3.pkgs; [
42 jinja2
43 markdown
44 markupsafe
45 pygments
46 toml
47 typogrify
48 ];
49
50 doCheck = false; # no tests
51
52 postFixup = ''
53 # Do not propagate Python
54 substituteInPlace $out/nix-support/propagated-build-inputs \
55 --replace "${python3}" ""
56 '';
57
58 meta = with lib; {
59 description = "Documentation generator for GObject-based libraries";
60 homepage = "https://gitlab.gnome.org/GNOME/gi-docgen";
61 license = licenses.asl20; # OR GPL-3.0-or-later
62 maintainers = teams.gnome.members;
63 };
64}