Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 1 | SUMMARY = "Documentation generator for glib-based software" |
| 2 | DESCRIPTION = "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" |
Andrew Geissler | 6ce62a2 | 2020-11-30 19:58:47 -0600 | [diff] [blame] | 4 | HOMEPAGE = "https://www.gtk.org/docs/" |
Andrew Geissler | 7e0e3c0 | 2022-02-25 20:34:39 +0000 | [diff] [blame] | 5 | LICENSE = "GPL-2.0-only" |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" |
| 7 | |
| 8 | inherit 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. |
| 12 | PACKAGECONFIG ??= "${@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 Bishop | 15ae250 | 2019-06-18 21:44:24 -0400 | [diff] [blame] | 18 | PACKAGECONFIG[working-scripts] = ",,libxslt-native xmlto-native python3-six python3-pygments" |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 19 | PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0" |
| 20 | |
Andrew Geissler | 615f2f1 | 2022-07-15 14:00:58 -0500 | [diff] [blame] | 21 | CACHED_CONFIGUREVARS += "ac_cv_path_XSLTPROC=xsltproc" |
| 22 | |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 23 | SRC_URI[archive.sha256sum] = "cc1b709a20eb030a278a1f9842a362e00402b7f834ae1df4c1998a723152bf43" |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 24 | SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \ |
| 25 | file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \ |
| 26 | file://conditionaltests.patch \ |
| 27 | file://no-clobber.patch \ |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 28 | " |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 29 | SRC_URI:append:class-native = " file://pkg-config-native.patch" |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 30 | |
| 31 | BBCLASSEXTEND = "native nativesdk" |
| 32 | |
| 33 | # Do not check for XML catalogs when building because that |
| 34 | # information is not used for anything during build. Recipe |
| 35 | # dependencies make sure we have all the right bits. |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 36 | do_configure:prepend() { |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 37 | sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac |
| 38 | } |
| 39 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 40 | do_install:append () { |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 41 | # configure values for python3 and pkg-config encoded in scripts |
| 42 | for fn in ${bindir}/gtkdoc-depscan \ |
| 43 | ${bindir}/gtkdoc-mkhtml2 \ |
Andrew Geissler | 90fd73c | 2021-03-05 15:25:55 -0600 | [diff] [blame] | 44 | ${datadir}/gtk-doc/python/gtkdoc/config_data.py \ |
Andrew Geissler | 4ed12e1 | 2020-06-05 18:00:41 -0500 | [diff] [blame] | 45 | ${datadir}/gtk-doc/python/gtkdoc/config.py; do |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 46 | sed -e 's,${RECIPE_SYSROOT_NATIVE}/usr/bin/pkg-config,${bindir}/pkg-config,' \ |
| 47 | -e 's,${HOSTTOOLS_DIR}/python3,${bindir}/python3,' \ |
Andrew Geissler | 615f2f1 | 2022-07-15 14:00:58 -0500 | [diff] [blame] | 48 | -e '1s|^#!.*|#!/usr/bin/env python3|' \ |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 49 | -i ${D}$fn |
| 50 | done |
| 51 | } |
| 52 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 53 | FILES:${PN} += "${datadir}/sgml" |
| 54 | FILES:${PN}-doc = "" |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 55 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 56 | SYSROOT_PREPROCESS_FUNCS:append:class-native = " gtkdoc_makefiles_sysroot_preprocess" |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 57 | gtkdoc_makefiles_sysroot_preprocess() { |
| 58 | # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries |
| 59 | # instead of libtool wrapper or running them directly |
| 60 | sed -i \ |
| 61 | -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \ |
| 62 | ${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make |
| 63 | } |