From: Alexander Kanavin <alex.kanavin@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: Alexander Kanavin <alex@linutronix.de>
Subject: [PATCH 15/45] gtk-doc: upgrade 1.35.1 -> 1.36.1
Date: Mon, 6 Jul 2026 19:16:29 +0200 [thread overview]
Message-ID: <20260706171701.70536-15-alex.kanavin@gmail.com> (raw)
In-Reply-To: <20260706171701.70536-1-alex.kanavin@gmail.com>
From: Alexander Kanavin <alex@linutronix.de>
Convert to meson, remove autotools-specific tweaks and patches:
- conditionaltests.patch adds an option already available in meson
- 0001-Do-not-error-out-if-xsltproc-is-not-found.patch
(see below).
Add a patch and a meson option to avoid unneeded check for runtime python
module dependencies.
Move dependencies needed to run gtk-doc to gtk-doc bbclass
(so they aren't built and pulled in until actually needed).
This allows dropping the 'working-scripts' logic in the recipe,
except for xsltproc-native whose location is used during gtk-doc build.
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
meta/classes-recipe/gtk-doc.bbclass | 2 +-
...t-error-out-if-xsltproc-is-not-found.patch | 28 ----------
...code-paths-to-perl-python-in-scripts.patch | 2 +-
...an-option-to-not-check-for-runtime-d.patch | 56 +++++++++++++++++++
.../gtk-doc/files/conditionaltests.patch | 42 --------------
.../gtk-doc/files/no-clobber.patch | 2 +-
.../gtk-doc/files/pkg-config-native.patch | 2 +-
.../{gtk-doc_1.35.1.bb => gtk-doc_1.36.1.bb} | 33 +++--------
8 files changed, 68 insertions(+), 99 deletions(-)
delete mode 100644 meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch
create mode 100644 meta/recipes-gnome/gtk-doc/files/0001-meson.build-add-an-option-to-not-check-for-runtime-d.patch
delete mode 100644 meta/recipes-gnome/gtk-doc/files/conditionaltests.patch
rename meta/recipes-gnome/gtk-doc/{gtk-doc_1.35.1.bb => gtk-doc_1.36.1.bb} (51%)
diff --git a/meta/classes-recipe/gtk-doc.bbclass b/meta/classes-recipe/gtk-doc.bbclass
index 33f6617e1b..5f4745e433 100644
--- a/meta/classes-recipe/gtk-doc.bbclass
+++ b/meta/classes-recipe/gtk-doc.bbclass
@@ -36,7 +36,7 @@ DEPENDS:append = " gtk-doc-native"
export STAGING_DIR_HOST
inherit pkgconfig qemu
-DEPENDS:append = "${@' qemu-native' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
+DEPENDS:append = "${@' qemu-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native python3-pygments-native' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
inherit_defer ${@bb.utils.contains('GTKDOC_ENABLED', 'True', 'python3native', '', d)}
diff --git a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch
deleted file mode 100644
index 575ca5d32f..0000000000
--- a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 5d64ab3a7c18904231d611b1262d1289b7282930 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 7 Sep 2016 14:52:04 +0300
-Subject: [PATCH] Do not error out if xsltproc is not found.
-
-This allows us to drop the hard xsltproc dependency, if we're not
-going to actually run the gtkdoc scripts (when api documentation is
-disabled).
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index f238de9..909771d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -37,7 +37,7 @@ dnl Check for xsltproc
- dnl
- AC_PATH_PROG([XSLTPROC], [xsltproc])
- if test -z "$XSLTPROC"; then
-- AC_MSG_ERROR([xsltproc not found])
-+ AC_MSG_WARN([xsltproc not found])
- fi
-
- dnl
diff --git a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch
index 600ea40f3d..c9d78145ff 100644
--- a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch
+++ b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch
@@ -1,4 +1,4 @@
-From 98fc3c6e6ac36a2351ee7ff260bf74a7866c8483 Mon Sep 17 00:00:00 2001
+From 00a3a827aca9e053cb0d69bea50a61fece341f0f Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 31 Aug 2016 16:44:46 +0300
Subject: [PATCH] Do not hardocode paths to perl/python in scripts.
diff --git a/meta/recipes-gnome/gtk-doc/files/0001-meson.build-add-an-option-to-not-check-for-runtime-d.patch b/meta/recipes-gnome/gtk-doc/files/0001-meson.build-add-an-option-to-not-check-for-runtime-d.patch
new file mode 100644
index 0000000000..88ec64cdb3
--- /dev/null
+++ b/meta/recipes-gnome/gtk-doc/files/0001-meson.build-add-an-option-to-not-check-for-runtime-d.patch
@@ -0,0 +1,56 @@
+From ffa3ed38663cc806f914691c63ca7d8fab959eef Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Sun, 21 Jun 2026 11:11:04 +0200
+Subject: [PATCH] meson.build: add an option to not check for runtime
+ dependencies at build time
+
+pygments and parametrized are run-time dependencies, and should
+not be enforced at build time as they are never actually used then.
+
+This is especially useful in cross-compilation, as the modules
+are checked in the python installation on the build host, and that
+has no relevance to the target environment that the build outputs
+will be executed in.
+
+https://gitlab.gnome.org/GNOME/gtk-doc/-/merge_requests/105
+Upstream-Status: Backport [link above]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ meson.build | 9 ++++++---
+ meson_options.txt | 6 ++++++
+ 2 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 30f1520..e087cff 100644
+--- a/meson.build
++++ b/meson.build
+@@ -8,9 +8,12 @@ fs = import('fs')
+ gnome = import('gnome')
+ python = import('python')
+
+-required_python_modules = ['pygments']
+-if get_option('tests')
+- required_python_modules += ['parameterized']
++required_python_modules = []
++if get_option('check_runtime_deps')
++ required_python_modules = ['pygments']
++ if get_option('tests')
++ required_python_modules += ['parameterized']
++ endif
+ endif
+
+ python3 = python.find_installation('python3', modules: required_python_modules)
+diff --git a/meson_options.txt b/meson_options.txt
+index d44dbb4..84463b2 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -21,3 +21,9 @@ option(
+ type: 'boolean', value: true,
+ description: 'Build the test suite (requires glib and the parameterized python module)'
+ )
++
++option(
++ 'check_runtime_deps',
++ type: 'boolean', value: true,
++ description: 'Check for runtime dependencies during build configuration'
++)
diff --git a/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch b/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch
deleted file mode 100644
index 81017f61ce..0000000000
--- a/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From e4d003318a87ff895b1fcdad1ba4ca3f4f730cf9 Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Tue, 27 Jun 2017 21:00:58 +0100
-Subject: [PATCH] gtk-doc: Handle floating gtk-doc dependency
-
-Allow the tests to be explicitly disabled to avoid floating dependnecy
-issues. This is not really an issue with RSS but is on previous releases.
-
-RP 2017/6/27
-Upstream-Status: Pending
----
- configure.ac | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 909771d..9db9fbc 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -82,6 +82,11 @@ if test "x$GCC" = "xyes"; then
- fi
- fi
-
-+AC_ARG_ENABLE([tests],
-+ AS_HELP_STRING([--enable-tests],
-+ [enable tests (default=yes)]),,
-+ [enable_tests="yes"])
-+
- dnl if glib is available we can enable the tests
- PKG_CHECK_MODULES(TEST_DEPS, [glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0],
- [ glib_prefix="`$PKG_CONFIG --variable=prefix glib-2.0`"
-@@ -92,6 +97,11 @@ PKG_CHECK_MODULES(TEST_DEPS, [glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0],
- build_tests="no"
- ]
- )
-+if test "x$enable_tests" != "xyes"; then
-+ gtk_doc_use_libtool="no"
-+ build_tests="no"
-+fi
-+
- AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL" -a x$gtk_doc_use_libtool = xyes )
- dnl this enables the rule in test/Makefile.am
- AM_CONDITIONAL(BUILD_TESTS, test x$build_tests = xyes)
diff --git a/meta/recipes-gnome/gtk-doc/files/no-clobber.patch b/meta/recipes-gnome/gtk-doc/files/no-clobber.patch
index a75c2bceb7..a9c7154fc4 100644
--- a/meta/recipes-gnome/gtk-doc/files/no-clobber.patch
+++ b/meta/recipes-gnome/gtk-doc/files/no-clobber.patch
@@ -1,4 +1,4 @@
-From bcf24419dc1965086793b4ff66a2f9b06574f974 Mon Sep 17 00:00:00 2001
+From 01a52d8cf076e2692d947c8ed2681cb794eaa3c0 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Wed, 21 Mar 2018 14:47:29 +0000
Subject: [PATCH] gtk-doc: don't regenerate gtk-doc in do_install
diff --git a/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch b/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
index b1c6c25dc4..de16ea0cc6 100644
--- a/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
+++ b/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
@@ -1,4 +1,4 @@
-From 24ddd2afb4fcdb8b7c88af5caec0c18ec9e7ff4e Mon Sep 17 00:00:00 2001
+From 0800f184cffc837276ea65b86e4efc7942eb1d7e Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Mon, 5 Sep 2016 22:25:44 +0100
Subject: [PATCH] Use native pkg-config when looking for gtk-doc.
diff --git a/meta/recipes-gnome/gtk-doc/gtk-doc_1.35.1.bb b/meta/recipes-gnome/gtk-doc/gtk-doc_1.36.1.bb
similarity index 51%
rename from meta/recipes-gnome/gtk-doc/gtk-doc_1.35.1.bb
rename to meta/recipes-gnome/gtk-doc/gtk-doc_1.36.1.bb
index c9ab7ff1e9..dcdeebe258 100644
--- a/meta/recipes-gnome/gtk-doc/gtk-doc_1.35.1.bb
+++ b/meta/recipes-gnome/gtk-doc/gtk-doc_1.36.1.bb
@@ -5,55 +5,38 @@ HOMEPAGE = "https://www.gtk.org/docs/"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase
-# Configure the scripts correctly (and build their dependencies) only if they are actually
-# going to be used; otheriwse we need only the m4/makefile includes from the gtk-doc tarball.
-PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "working-scripts", "", d)}"
+DEPENDS += "libxslt-native"
-# This will cause target gtk-doc to hardcode paths of native dependencies
-# into its scripts. This means that target gtk-doc package is broken;
-# hopefully no one minds because its scripts are not used for anything during build
-# and shouldn't be used on targets.
-PACKAGECONFIG[working-scripts] = ",,libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets python3-pygments"
-PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0"
+PACKAGECONFIG ??= ""
-CACHED_CONFIGUREVARS += "ac_cv_path_XSLTPROC=xsltproc"
+PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,glib-2.0"
-SRC_URI[archive.sha256sum] = "611c9f24edd6d88a8ae9a79d73ab0dc63c89b81e90ecc31d6b9005c5f05b25e2"
+EXTRA_OEMESON = "-Dyelp_manual=false -Dcheck_runtime_deps=false"
+
+SRC_URI[archive.sha256sum] = "0e517a5f97069831181be177516bde8aa8b3922398f2bdb09e265d22aecadbc5"
SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \
- file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \
- file://conditionaltests.patch \
file://no-clobber.patch \
+ file://0001-meson.build-add-an-option-to-not-check-for-runtime-d.patch \
"
SRC_URI:append:class-native = " file://pkg-config-native.patch"
BBCLASSEXTEND = "native nativesdk"
-# Do not check for XML catalogs when building because that
-# information is not used for anything during build. Recipe
-# dependencies make sure we have all the right bits.
-do_configure:prepend() {
- sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac
-}
-
do_install:append () {
# configure values for python3 and pkg-config encoded in scripts
for fn in ${bindir}/gtkdoc-depscan \
${bindir}/gtkdoc-mkhtml2 \
${datadir}/gtk-doc/python/gtkdoc/config_data.py \
${datadir}/gtk-doc/python/gtkdoc/config.py; do
- sed -e 's,${RECIPE_SYSROOT_NATIVE}/usr/bin/pkg-config,${bindir}/pkg-config,' \
+ sed -e 's,${RECIPE_SYSROOT_NATIVE}/usr/bin/,,' \
-e 's,${HOSTTOOLS_DIR}/python3,${bindir}/python3,' \
-e '1s|^#!.*|#!/usr/bin/env python3|' \
-i ${D}$fn
done
}
-FILES:${PN} += "${datadir}/sgml"
-FILES:${PN}-doc = ""
-
SYSROOT_PREPROCESS_FUNCS:append:class-native = " gtkdoc_makefiles_sysroot_preprocess"
gtkdoc_makefiles_sysroot_preprocess() {
# Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries
--
2.47.3
next prev parent reply other threads:[~2026-07-06 17:17 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-06 17:16 [PATCH 01/45] selftest/locales: opt out of ptests in DISTRO_FEATURES Alexander Kanavin
2026-07-06 17:16 ` [PATCH 02/45] files/common-licenses/MIT-with-fmt-exception: add a custom license Alexander Kanavin
2026-07-06 17:16 ` [PATCH 03/45] acl: upgrade 2.3.2 -> 2.4.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 04/45] appstream: upgrade 1.1.2 -> 1.1.3 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 05/45] at-spi2-core: upgrade 2.60.4 -> 2.60.5 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 06/45] attr: upgrade 2.5.2 -> 2.6.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 07/45] barebox-tools: upgrade 2026.06.0 -> 2026.06.1 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 08/45] cmake: upgrade 4.3.3 -> 4.3.4 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 09/45] expat: upgrade 2.8.1 -> 2.8.2 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 10/45] fmt: upgrade 12.1.0 -> 12.2.0 Alexander Kanavin
2026-07-09 16:35 ` [OE-core] " Khem Raj
2026-07-06 17:16 ` [PATCH 11/45] git: upgrade 2.54.0 -> 2.55.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 12/45] glib-2.0: upgrade 2.88.1 -> 2.88.2 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 13/45] gnu-config: upgrade to latest revision Alexander Kanavin
2026-07-06 17:16 ` [PATCH 14/45] gn: " Alexander Kanavin
2026-07-06 17:16 ` Alexander Kanavin [this message]
2026-07-06 17:16 ` [PATCH 16/45] iproute2: upgrade 7.0.0 -> 7.1.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 17/45] json-c: upgrade 0.18 -> 0.19 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 18/45] libarchive: upgrade 3.8.7 -> 3.8.8 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 19/45] libffi: upgrade 3.5.2 -> 3.6.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 20/45] libical: upgrade 3.0.20 -> 4.0.3 Alexander Kanavin
2026-07-08 5:52 ` [OE-core] " Mathieu Dubois-Briand
2026-07-08 12:04 ` Alexander Kanavin
2026-07-06 17:16 ` [PATCH 21/45] libpsl: upgrade 0.21.5 -> 0.22.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 22/45] lighttpd: upgrade 1.4.83 -> 1.4.84 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 23/45] lttng-modules: upgrade 2.15.1 -> 2.15.2 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 24/45] opkg: upgrade 0.9.0 -> 0.10.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 25/45] piglit: upgrade to latest revision Alexander Kanavin
2026-07-06 17:16 ` [PATCH 26/45] python3-click: upgrade 8.4.1 -> 8.4.2 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 27/45] python3-hypothesis: upgrade 6.155.2 -> 6.155.7 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 28/45] python3-pdm: upgrade 2.27.0 -> 2.28.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 29/45] python3-pytest: upgrade 9.1.0 -> 9.1.1 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 30/45] python3-setuptools-rust: upgrade 1.12.1 -> 1.13.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 31/45] python3-setuptools-scm: upgrade 10.0.5 -> 10.2.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 32/45] python3-vcs-versioning: upgrade 1.1.1 -> 2.2.2 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 33/45] python3-wcwidth: upgrade 0.8.1 -> 0.8.2 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 34/45] qemu: upgrade 11.0.1 -> 11.0.2 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 35/45] shared-mime-info: upgrade 2.4 -> 2.5.1 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 36/45] socat: upgrade 1.8.1.1 -> 1.8.1.3 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 37/45] sqlite3: upgrade 3.53.2 -> 3.53.3 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 38/45] strace: upgrade 7.0 -> 7.1 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 39/45] tcl: upgrade 9.0.3 -> 9.0.4 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 40/45] ttyrun: upgrade 2.42.1 -> 2.43.0 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 41/45] vulkan-samples: upgrade to latest revision Alexander Kanavin
2026-07-06 17:16 ` [PATCH 42/45] vulkan: upgrade 1.4.350.0 -> 1.4.350.1 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 43/45] waffle: upgrade 1.8.2 -> 1.8.3 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 44/45] wic: upgrade 0.3.0 -> 0.3.1 Alexander Kanavin
2026-07-06 17:16 ` [PATCH 45/45] xkeyboard-config: upgrade 2.47 -> 2.48 Alexander Kanavin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260706171701.70536-15-alex.kanavin@gmail.com \
--to=alex.kanavin@gmail.com \
--cc=alex@linutronix.de \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox