1SUMMARY = "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 = "https://www.gtk.org/docs/" 5LICENSE = "GPL-2.0-only" 6LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" 7 8GNOMEBASEBUILDCLASS = "autotools" 9inherit gnomebase 10 11# Configure the scripts correctly (and build their dependencies) only if they are actually 12# going to be used; otheriwse we need only the m4/makefile includes from the gtk-doc tarball. 13PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "working-scripts", "", d)}" 14 15# This will cause target gtk-doc to hardcode paths of native dependencies 16# into its scripts. This means that target gtk-doc package is broken; 17# hopefully no one minds because its scripts are not used for anything during build 18# and shouldn't be used on targets. 19PACKAGECONFIG[working-scripts] = ",,libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets python3-pygments" 20PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0" 21 22CACHED_CONFIGUREVARS += "ac_cv_path_XSLTPROC=xsltproc" 23 24SRC_URI[archive.sha256sum] = "cc1b709a20eb030a278a1f9842a362e00402b7f834ae1df4c1998a723152bf43" 25SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \ 26 file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \ 27 file://conditionaltests.patch \ 28 file://no-clobber.patch \ 29 file://0001-Don-t-use-docdir-from-environment.patch \ 30 " 31SRC_URI:append:class-native = " file://pkg-config-native.patch" 32 33BBCLASSEXTEND = "native nativesdk" 34 35# Do not check for XML catalogs when building because that 36# information is not used for anything during build. Recipe 37# dependencies make sure we have all the right bits. 38do_configure:prepend() { 39 sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac 40} 41 42do_install:append () { 43 # configure values for python3 and pkg-config encoded in scripts 44 for fn in ${bindir}/gtkdoc-depscan \ 45 ${bindir}/gtkdoc-mkhtml2 \ 46 ${datadir}/gtk-doc/python/gtkdoc/config_data.py \ 47 ${datadir}/gtk-doc/python/gtkdoc/config.py; do 48 sed -e 's,${RECIPE_SYSROOT_NATIVE}/usr/bin/pkg-config,${bindir}/pkg-config,' \ 49 -e 's,${HOSTTOOLS_DIR}/python3,${bindir}/python3,' \ 50 -e '1s|^#!.*|#!/usr/bin/env python3|' \ 51 -i ${D}$fn 52 done 53} 54 55FILES:${PN} += "${datadir}/sgml" 56FILES:${PN}-doc = "" 57 58SYSROOT_PREPROCESS_FUNCS:append:class-native = " gtkdoc_makefiles_sysroot_preprocess" 59gtkdoc_makefiles_sysroot_preprocess() { 60 # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries 61 # instead of libtool wrapper or running them directly 62 sed -i \ 63 -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \ 64 ${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make 65} 66