All of lore.kernel.org
 help / color / mirror / Atom feed
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



  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.