xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "Documentation generator for glib-based software"
2*4882a593SmuzhiyunDESCRIPTION = "Gtk-doc is a set of scripts that extract specially formatted comments \
3*4882a593Smuzhiyun               from glib-based software and produce a set of html documentation files from them"
4*4882a593SmuzhiyunHOMEPAGE = "https://www.gtk.org/docs/"
5*4882a593SmuzhiyunLICENSE = "GPL-2.0-only"
6*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
7*4882a593Smuzhiyun
8*4882a593Smuzhiyuninherit gnomebase
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun# Configure the scripts correctly (and build their dependencies) only if they are actually
11*4882a593Smuzhiyun# going to be used; otheriwse we need only the m4/makefile includes from the gtk-doc tarball.
12*4882a593SmuzhiyunPACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "working-scripts", "", d)}"
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun# This will cause target gtk-doc to hardcode paths of native dependencies
15*4882a593Smuzhiyun# into its scripts. This means that target gtk-doc package is broken;
16*4882a593Smuzhiyun# hopefully no one minds because its scripts are not used for anything during build
17*4882a593Smuzhiyun# and shouldn't be used on targets.
18*4882a593SmuzhiyunPACKAGECONFIG[working-scripts] = ",,libxslt-native xmlto-native python3-six python3-pygments"
19*4882a593SmuzhiyunPACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0"
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunCACHED_CONFIGUREVARS += "ac_cv_path_XSLTPROC=xsltproc"
22*4882a593Smuzhiyun
23*4882a593SmuzhiyunSRC_URI[archive.sha256sum] = "cc1b709a20eb030a278a1f9842a362e00402b7f834ae1df4c1998a723152bf43"
24*4882a593SmuzhiyunSRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \
25*4882a593Smuzhiyun           file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \
26*4882a593Smuzhiyun           file://conditionaltests.patch \
27*4882a593Smuzhiyun           file://no-clobber.patch \
28*4882a593Smuzhiyun           "
29*4882a593SmuzhiyunSRC_URI:append:class-native = " file://pkg-config-native.patch"
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunBBCLASSEXTEND = "native nativesdk"
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun# Do not check for XML catalogs when building because that
34*4882a593Smuzhiyun# information is not used for anything during build. Recipe
35*4882a593Smuzhiyun# dependencies make sure we have all the right bits.
36*4882a593Smuzhiyundo_configure:prepend() {
37*4882a593Smuzhiyun        sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac
38*4882a593Smuzhiyun}
39*4882a593Smuzhiyun
40*4882a593Smuzhiyundo_install:append () {
41*4882a593Smuzhiyun    # configure values for python3 and pkg-config encoded in scripts
42*4882a593Smuzhiyun    for fn in ${bindir}/gtkdoc-depscan \
43*4882a593Smuzhiyun        ${bindir}/gtkdoc-mkhtml2 \
44*4882a593Smuzhiyun        ${datadir}/gtk-doc/python/gtkdoc/config_data.py \
45*4882a593Smuzhiyun        ${datadir}/gtk-doc/python/gtkdoc/config.py; do
46*4882a593Smuzhiyun        sed -e 's,${RECIPE_SYSROOT_NATIVE}/usr/bin/pkg-config,${bindir}/pkg-config,' \
47*4882a593Smuzhiyun            -e 's,${HOSTTOOLS_DIR}/python3,${bindir}/python3,' \
48*4882a593Smuzhiyun            -e '1s|^#!.*|#!/usr/bin/env python3|' \
49*4882a593Smuzhiyun            -i ${D}$fn
50*4882a593Smuzhiyun    done
51*4882a593Smuzhiyun}
52*4882a593Smuzhiyun
53*4882a593SmuzhiyunFILES:${PN} += "${datadir}/sgml"
54*4882a593SmuzhiyunFILES:${PN}-doc = ""
55*4882a593Smuzhiyun
56*4882a593SmuzhiyunSYSROOT_PREPROCESS_FUNCS:append:class-native = " gtkdoc_makefiles_sysroot_preprocess"
57*4882a593Smuzhiyungtkdoc_makefiles_sysroot_preprocess() {
58*4882a593Smuzhiyun        # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries
59*4882a593Smuzhiyun        # instead of libtool wrapper or running them directly
60*4882a593Smuzhiyun        sed -i \
61*4882a593Smuzhiyun           -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \
62*4882a593Smuzhiyun           ${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make
63*4882a593Smuzhiyun}
64