From a4e4ebf40ffa03af886c6c6a1f581a922ee39449 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Sun, 16 Mar 2025 17:33:50 +0100 Subject: [PATCH] pdoc --- profiles/desktop/gnome/default.nix | 1 + profiles/http/docs/pdoc.nix | 21 ++++++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/profiles/desktop/gnome/default.nix b/profiles/desktop/gnome/default.nix index 27ce554..acf8de3 100644 --- a/profiles/desktop/gnome/default.nix +++ b/profiles/desktop/gnome/default.nix @@ -44,6 +44,7 @@ loupe gnome-clocks + shotwell # image editor desktop-file-utils # update-desktop-database ]; diff --git a/profiles/http/docs/pdoc.nix b/profiles/http/docs/pdoc.nix index 780ae74..9b81c55 100644 --- a/profiles/http/docs/pdoc.nix +++ b/profiles/http/docs/pdoc.nix @@ -177,10 +177,12 @@ let then "https://docs.python.org/3/library/${toLiteral pkg}.html" else pkgs.python3Packages.${toName pkg}.meta.homepage or "-"; doc = pkgs.runCommand "pdoc${if use-pdoc3 then "3" else ""}-${toName pkg}-docs" { - nativeBuildInputs = (if use-pdoc3 - then [pkgs.python3Packages.pdoc3] - else [pkgs.python3Packages.pdoc]) - ++ lib.optional (!isBuiltin) (builtins.getAttr (toName pkg) pkgs.python3Packages); + nativeBuildInputs = [ + pkgs.jq + (if use-pdoc3 + then pkgs.python3Packages.pdoc3 + else pkgs.python3Packages.pdoc) + ] ++ lib.optional (!isBuiltin) pkgs.python3Packages.${toName pkg}; NAME = toName pkg; LITERAL = toLiteral pkg; # TODO: license @@ -212,7 +214,16 @@ let else write "-" fi - write "${lib.escapeXML description}" + if test "${description}" = "builtin"; then + write "$( + python -c ' + import '"$LITERAL"' as x; + print(getattr(x, "__doc__", "builtin").split("\n", 1)[0]) + ' | jq -Rr @html + )" + else + write "${lib.escapeXML description}" + fi ${if homepage == "-" then '' write "n/a" '' else ''