summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2021-05-05 17:18:47 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-05-09 23:30:14 +0100
commit7572042364dcb601f8078dff303fb6a3cc4a8466 (patch)
tree7b25e256bd298052b308284516a7deafecc9c36f
parent13e4ff2250ad965db333a9bdfb918e574fd00235 (diff)
downloadpoky-7572042364dcb601f8078dff303fb6a3cc4a8466.tar.gz
gi-docgen: add a recipe and class
This seems to be the gtk-doc successor, and gnome projects such as pango and gdk-pixbuf have started transitioning to it. (From OE-Core rev: f87bb7d848015c371095ef3ff423eee81e6d8ecd) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/gi-docgen.bbclass24
-rw-r--r--meta/conf/distro/include/maintainers.inc1
-rw-r--r--meta/recipes-gnome/gi-docgen/gi-docgen_git.bb22
3 files changed, 47 insertions, 0 deletions
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 @@
1# gi-docgen is a new gnome documentation generator, which
2# seems to be a successor to gtk-doc:
3# https://gitlab.gnome.org/GNOME/gi-docgen
4
5# This variable is set to True if api-documentation is in
6# DISTRO_FEATURES, and False otherwise.
7GIDOCGEN_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'True', 'False', d)}"
8# When building native recipes, disable gi-docgen, as it is not necessary,
9# pulls in additional dependencies, and makes build times longer
10GIDOCGEN_ENABLED_class-native = "False"
11GIDOCGEN_ENABLED_class-nativesdk = "False"
12
13# meson: default option name to enable/disable gi-docgen. This matches most
14# projects' configuration. In doubts - check meson_options.txt in project's
15# source path.
16GIDOCGEN_MESON_OPTION ?= 'gtk_doc'
17GIDOCGEN_MESON_ENABLE_FLAG ?= 'true'
18GIDOCGEN_MESON_DISABLE_FLAG ?= 'false'
19
20# Auto enable/disable based on GIDOCGEN_ENABLED
21EXTRA_OEMESON_prepend = "-D${GIDOCGEN_MESON_OPTION}=${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '${GIDOCGEN_MESON_ENABLE_FLAG}', '${GIDOCGEN_MESON_DISABLE_FLAG}', d)} "
22
23DEPENDS_append = "${@' gi-docgen-native gi-docgen' if d.getVar('GIDOCGEN_ENABLED') == 'True' else ''}"
24
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 <ross.burton@arm.com>"
205RECIPE_MAINTAINER_pn-gettext = "Robert Yang <liezhi.yang@windriver.com>" 205RECIPE_MAINTAINER_pn-gettext = "Robert Yang <liezhi.yang@windriver.com>"
206RECIPE_MAINTAINER_pn-gettext-minimal-native = "Robert Yang <liezhi.yang@windriver.com>" 206RECIPE_MAINTAINER_pn-gettext-minimal-native = "Robert Yang <liezhi.yang@windriver.com>"
207RECIPE_MAINTAINER_pn-ghostscript = "Hongxu Jia <hongxu.jia@windriver.com>" 207RECIPE_MAINTAINER_pn-ghostscript = "Hongxu Jia <hongxu.jia@windriver.com>"
208RECIPE_MAINTAINER_pn-gi-docgen = "Alexander Kanavin <alex.kanavin@gmail.com>"
208RECIPE_MAINTAINER_pn-git = "Robert Yang <liezhi.yang@windriver.com>" 209RECIPE_MAINTAINER_pn-git = "Robert Yang <liezhi.yang@windriver.com>"
209RECIPE_MAINTAINER_pn-glew = "Anuj Mittal <anuj.mittal@intel.com>" 210RECIPE_MAINTAINER_pn-glew = "Anuj Mittal <anuj.mittal@intel.com>"
210RECIPE_MAINTAINER_pn-glib-2.0 = "Anuj Mittal <anuj.mittal@intel.com>" 211RECIPE_MAINTAINER_pn-glib-2.0 = "Anuj Mittal <anuj.mittal@intel.com>"
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 @@
1SUMMARY = "Documentation tool for GObject-based libraries"
2DESCRIPTION = "GI-DocGen is a document generator for GObject-based libraries. GObject is \
3the base type system of the GNOME project. GI-Docgen reuses the \
4introspection data generated by GObject-based libraries to generate the API \
5reference of these libraries, as well as other ancillary documentation."
6HOMEPAGE = "https://gnome.pages.gitlab.gnome.org/gi-docgen/"
7
8LICENSE = "GPLv3+ & Apache-2.0"
9LIC_FILES_CHKSUM = "file://gi-docgen.py;beginline=1;endline=5;md5=2dc0f1f01202478cfe813c0e7f80b326"
10
11SRC_URI = "git://gitlab.gnome.org/GNOME/gi-docgen.git;protocol=https;branch=main"
12
13PV = "2021.5"
14SRCREV = "7dee859321573f9c843ef7fb136f11142cb6ddf8"
15
16S = "${WORKDIR}/git"
17
18inherit setuptools3
19
20RDEPENDS_${PN} += "python3-asyncio python3-core python3-jinja2 python3-json python3-markdown python3-markupsafe python3-pygments python3-toml python3-typogrify python3-xml"
21
22BBCLASSEXTEND = "native"