This seems to be the gtk-doc successor, and gnome
projects such as pango and gdk-pixbuf have started
transitioning to it.

Signed-off-by: Alexander Kanavin <[email protected]>
---
 meta/classes/gi-docgen.bbclass                | 24 +++++++++++++++++++
 meta/conf/distro/include/maintainers.inc      |  1 +
 meta/recipes-gnome/gi-docgen/gi-docgen_git.bb | 22 +++++++++++++++++
 3 files changed, 47 insertions(+)
 create mode 100644 meta/classes/gi-docgen.bbclass
 create mode 100644 meta/recipes-gnome/gi-docgen/gi-docgen_git.bb

diff --git a/meta/classes/gi-docgen.bbclass b/meta/classes/gi-docgen.bbclass
new file mode 100644
index 0000000000..5750f7028d
--- /dev/null
+++ b/meta/classes/gi-docgen.bbclass
@@ -0,0 +1,24 @@
+# gi-docgen is a new gnome documentation generator, which
+# seems to be a successor to gtk-doc:
+# https://gitlab.gnome.org/GNOME/gi-docgen
+
+# This variable is set to True if api-documentation is in
+# DISTRO_FEATURES, and False otherwise.
+GIDOCGEN_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 
'api-documentation', 'True', 'False', d)}"
+# When building native recipes, disable gi-docgen, as it is not necessary,
+# pulls in additional dependencies, and makes build times longer
+GIDOCGEN_ENABLED_class-native = "False"
+GIDOCGEN_ENABLED_class-nativesdk = "False"
+
+# meson: default option name to enable/disable gi-docgen. This matches most
+# projects' configuration. In doubts - check meson_options.txt in project's
+# source path.
+GIDOCGEN_MESON_OPTION ?= 'gtk_doc'
+GIDOCGEN_MESON_ENABLE_FLAG ?= 'true'
+GIDOCGEN_MESON_DISABLE_FLAG ?= 'false'
+
+# Auto enable/disable based on GIDOCGEN_ENABLED
+EXTRA_OEMESON_prepend = 
"-D${GIDOCGEN_MESON_OPTION}=${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', 
'${GIDOCGEN_MESON_ENABLE_FLAG}', '${GIDOCGEN_MESON_DISABLE_FLAG}', d)} "
+
+DEPENDS_append = "${@' gi-docgen-native gi-docgen' if 
d.getVar('GIDOCGEN_ENABLED') == 'True' else ''}"
+
diff --git a/meta/conf/distro/include/maintainers.inc 
b/meta/conf/distro/include/maintainers.inc
index 0c3e3628ba..bfebd68acf 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -205,6 +205,7 @@ RECIPE_MAINTAINER_pn-gdk-pixbuf = "Ross Burton 
<[email protected]>"
 RECIPE_MAINTAINER_pn-gettext = "Robert Yang <[email protected]>"
 RECIPE_MAINTAINER_pn-gettext-minimal-native = "Robert Yang 
<[email protected]>"
 RECIPE_MAINTAINER_pn-ghostscript = "Hongxu Jia <[email protected]>"
+RECIPE_MAINTAINER_pn-gi-docgen = "Alexander Kanavin <[email protected]>"
 RECIPE_MAINTAINER_pn-git = "Robert Yang <[email protected]>"
 RECIPE_MAINTAINER_pn-glew = "Anuj Mittal <[email protected]>"
 RECIPE_MAINTAINER_pn-glib-2.0 = "Anuj Mittal <[email protected]>"
diff --git a/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb 
b/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb
new file mode 100644
index 0000000000..4d779a9bdd
--- /dev/null
+++ b/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Documentation tool for GObject-based libraries"
+DESCRIPTION = "GI-DocGen is a document generator for GObject-based libraries. 
GObject is \
+the base type system of the GNOME project. GI-Docgen reuses the \
+introspection data generated by GObject-based libraries to generate the API \
+reference of these libraries, as well as other ancillary documentation."
+HOMEPAGE = "https://gnome.pages.gitlab.gnome.org/gi-docgen/";
+
+LICENSE = "GPLv3+ & Apache-2.0"
+LIC_FILES_CHKSUM = 
"file://gi-docgen.py;beginline=1;endline=5;md5=2dc0f1f01202478cfe813c0e7f80b326"
+
+SRC_URI = 
"git://gitlab.gnome.org/GNOME/gi-docgen.git;protocol=https;branch=main"
+
+PV = "2021.5"
+SRCREV = "7dee859321573f9c843ef7fb136f11142cb6ddf8"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+RDEPENDS_${PN} += "python3-asyncio python3-core python3-jinja2 python3-json 
python3-markdown python3-markupsafe python3-pygments python3-toml 
python3-typogrify python3-xml"
+
+BBCLASSEXTEND = "native"
-- 
2.31.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#151323): 
https://lists.openembedded.org/g/openembedded-core/message/151323
Mute This Topic: https://lists.openembedded.org/mt/82607077/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to