1{ lib
2, fetchurl
3, meson
4, ninja
5, python3
6, gnome
7}:
8
9python3.pkgs.buildPythonApplication rec {
10 pname = "gi-docgen";
11 version = "2023.1";
12
13 format = "other";
14
15 src = fetchurl {
16 url = "mirror://gnome/sources/gi-docgen/${lib.versions.major version}/gi-docgen-${version}.tar.xz";
17 sha256 = "qaaHwbfEpBOaIUvUUeAcqGExoxYfaKo+BzJbBgArv7Y=";
18 };
19
20 depsBuildBuild = [
21 python3
22 ];
23
24 nativeBuildInputs = [
25 meson
26 ninja
27 ];
28
29 pythonPath = with python3.pkgs; [
30 jinja2
31 markdown
32 markupsafe
33 pygments
34 toml # remove once python311 is the default
35 typogrify
36 ];
37
38 doCheck = false; # no tests
39
40 postFixup = ''
41 # Do not propagate Python
42 substituteInPlace $out/nix-support/propagated-build-inputs \
43 --replace "${python3}" ""
44 '';
45
46 passthru = {
47 updateScript = gnome.updateScript {
48 packageName = "gi-docgen";
49 };
50 };
51
52 meta = with lib; {
53 description = "Documentation generator for GObject-based libraries";
54 homepage = "https://gitlab.gnome.org/GNOME/gi-docgen";
55 license = licenses.asl20; # OR GPL-3.0-or-later
56 maintainers = teams.gnome.members;
57 };
58}