blob: 1eaf370ab072b8e24f06c8813f461d09659db793 [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001SUMMARY = "Documentation generator for glib-based software"
2DESCRIPTION = "Gtk-doc is a set of scripts that extract specially formatted comments \
3 from glib-based software and produce a set of html documentation files from them"
4HOMEPAGE = "http://www.gtk.org/gtk-doc/"
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
7
8inherit gnomebase
9
10# Configure the scripts correctly (and build their dependencies) only if they are actually
11# going to be used; otheriwse we need only the m4/makefile includes from the gtk-doc tarball.
12PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "working-scripts", "", d)}"
13
14# This will cause target gtk-doc to hardcode paths of native dependencies
15# into its scripts. This means that target gtk-doc package is broken;
16# hopefully no one minds because its scripts are not used for anything during build
17# and shouldn't be used on targets.
Brad Bishop15ae2502019-06-18 21:44:24 -040018PACKAGECONFIG[working-scripts] = ",,libxslt-native xmlto-native python3-six python3-pygments"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080019PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0"
20
Brad Bishopf3f93bb2019-10-16 14:33:32 -040021SRC_URI[archive.md5sum] = "07764836262e154e94922e5f2aa476ae"
22SRC_URI[archive.sha256sum] = "de0ef034fb17cb21ab0c635ec730d19746bce52984a6706e7bbec6fb5e0b907c"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080023SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \
24 file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \
25 file://conditionaltests.patch \
26 file://no-clobber.patch \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080027 "
28SRC_URI_append_class-native = " file://pkg-config-native.patch"
29
30BBCLASSEXTEND = "native nativesdk"
31
32# Do not check for XML catalogs when building because that
33# information is not used for anything during build. Recipe
34# dependencies make sure we have all the right bits.
35do_configure_prepend() {
36 sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac
37}
38
Andrew Geissler82c905d2020-04-13 13:39:40 -050039do_install_append () {
40 # configure values for python3 and pkg-config encoded in scripts
41 for fn in ${bindir}/gtkdoc-depscan \
42 ${bindir}/gtkdoc-mkhtml2 \
Andrew Geissler4ed12e12020-06-05 18:00:41 -050043 ${datadir}/gtk-doc/python/gtkdoc/config.py; do
Andrew Geissler82c905d2020-04-13 13:39:40 -050044 sed -e 's,${RECIPE_SYSROOT_NATIVE}/usr/bin/pkg-config,${bindir}/pkg-config,' \
45 -e 's,${HOSTTOOLS_DIR}/python3,${bindir}/python3,' \
46 -i ${D}$fn
47 done
48}
49
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080050FILES_${PN} += "${datadir}/sgml"
51FILES_${PN}-dev += "${libdir}/cmake"
52FILES_${PN}-doc = ""
53
54SYSROOT_PREPROCESS_FUNCS_append_class-native = " gtkdoc_makefiles_sysroot_preprocess"
55gtkdoc_makefiles_sysroot_preprocess() {
56 # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries
57 # instead of libtool wrapper or running them directly
58 sed -i \
59 -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \
60 ${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make
61}
Andrew Geissler82c905d2020-04-13 13:39:40 -050062