poky: subtree update:2dcd1f2a21..9d1b332292

Alejandro Hernandez Samaniego (2):
      baremetal-helloworld: Enable RISC-V 64 port
      baremetal-image: Fix post process command rootfs_update_timestamp

Alexander Kanavin (94):
      python3: add markdown/smartypants/typogrify modules
      gi-docgen: add a recipe and class
      gdk-pixbuf/pango: replace gtk-doc with gi-docgen
      vala: upgrade 0.50.4 -> 0.52.2
      xkbcomp: upgrade 1.4.4 -> 1.4.5
      stress-ng: upgrade 0.12.05 -> 0.12.06
      xserver-xorg: upgrade 1.20.10 -> 1.20.11
      xorgproto: upgrade 2020.1 -> 2021.3
      dpkg: update 1.20.7.1 -> 1.20.9
      puzzles: update to latest revision
      cmake: update 3.19.5 -> 3.20.1
      meson: update 0.57.1 -> 0.57.2
      systemd: backport a patch to avoid unnecessary rsync dependency with latest meson
      pulseaudio: unbreak build with latest meson
      libdnf: upgrade 0.58.0 -> 0.62.0
      bluez5: upgrade 5.56 -> 5.58
      libxkbcommon: update 1.0.3 -> 1.2.1
      libgudev: update 234 -> 236
      vulkan-samples: update to latest revision
      gnupg: upgrade 2.2.27 -> 2.3.1
      virglrenderer: update 0.8.2 -> 0.9.1
      webkitgtk: update 2.30.6 -> 2.32.0
      acl: upgrade 2.2.53 -> 2.3.1
      bind: upgrade 9.16.12 -> 9.16.13
      bison: upgrade 3.7.5 -> 3.7.6
      createrepo-c: upgrade 0.17.0 -> 0.17.2
      cronie: upgrade 1.5.5 -> 1.5.7
      dnf: upgrade 4.6.0 -> 4.7.0
      e2fsprogs: upgrade 1.46.1 -> 1.46.2
      gnu-efi: upgrade 3.0.12 -> 3.0.13
      systemd-boot: backport a fix to address failures with new gnu-efi
      gobject-introspection: upgrade 1.66.1 -> 1.68.0
      gtk+3: upgrade 3.24.25 -> 3.24.28
      harfbuzz: upgrade 2.7.4 -> 2.8.0
      less: upgrade 563 -> 581
      libfm: upgrade 1.3.1 -> 1.3.2
      libinput: upgrade 1.16.4 -> 1.17.1
      libwpe: upgrade 1.8.0 -> 1.10.0
      libxres: upgrade 1.2.0 -> 1.2.1
      linux-firmware: upgrade 20210208 -> 20210315
      pango: upgrade 1.48.2 -> 1.48.4
      piglit: upgrade to latest revision
      pkgconf: upgrade 1.7.3 -> 1.7.4
      python3-hypothesis: upgrade 6.2.0 -> 6.9.1
      python3-importlib-metadata: upgrade 3.4.0 -> 3.10.1
      python3-pytest: upgrade 6.2.2 -> 6.2.3
      python3-setuptools-scm: upgrade 5.0.1 -> 6.0.1
      x264: upgrade to latest revision
      ptest: add a test for orphaned ptests, and restore ones found by it
      swig: fix upstream version check
      liberation-fonts: fix upstream version check
      Revert "go: Use dl.google.com for SRC_URI"
      powertop: update 2.13 -> 2.14
      mesa: add lmsensors PACKAGECONFIG
      ffmpeg: update 4.3.2 -> 4.4
      qemu: use 4 cores in qemu guests
      avahi: disable gtk bits
      gdk-pixbuf: rewrite the cross-build support for tests
      gnome: drop upstream even condition from a few recipes
      expat: upgrade 2.2.10 -> 2.3.0
      meson.bbclass: split python routines into a separate class
      gstreamer1.0-plugins-base: backport a patch to fix meson 0.58 builds
      meson: update 0.57.2 -> 0.58.0
      qemu: backport a patch to fix meson 0.58 builds
      nativesdk-meson: correctly set cpu_family
      bitbake: fetch2/wget: when checking latest versions, consider all numerical directories
      mklibs: remove recipes and class
      local.conf: Drop support for mklibs
      u-boot: upgrade 2021.01 -> 2021.04
      gdk-pixbuf: update a patch status
      systemd: update 247.6 -> 248.3
      systemd-conf: do not version in lockstep with systemd
      gnu-config: update to latest revision
      mmc-utils: update to latest revision
      python3-smartypants: fix upstream version check
      at: upgrade 3.2.1 -> 3.2.2
      gnomebase: trim the SRC_URI directory from the back
      gsettings-desktop-schemas: upgrade 3.38.0 -> 40.0
      igt-gpu-tools: upgrade 1.25 -> 1.26
      mesa: update 21.0.3 -> 21.1.1
      vulkan-samples: update to latest revision
      libgpg-error: update 1.41 -> 1.42
      webkitgtk: update 2.32.0 -> 2.32.1
      glib-2.0: update 2.68.1 -> 2.68.2
      apt: upgrade 2.2.2 -> 2.2.3
      cmake: update 3.20.1 -> 3.20.2
      libdnf: update 0.62.0 -> 0.63.0
      harfbuzz: update 2.8.0 -> 2.8.1
      curl: update 7.76.0 -> 7.76.1
      systemtap: update 4.4 -> 4.5
      wayland: package target binaries into -tools, not into -dev
      ptest: add newly discovered missing runtime dependencies across recipes
      images: remove sato/weston ptest images
      images: add ptest images based on core-image-minimal

Andreas Müller (1):
      gstreamer1.0-plugins-good: fix build with gcc11

Andrej Valek (1):
      expat: upgrade 2.3.0 -> 2.4.1

Anuj Mittal (1):
      lsb-release: fix reproducibility failure

Armin Kuster (5):
      bitbake: hashserv/server.py: drop unused imports
      bitbake: hashserver/client.py: drop unused imports
      poky.yaml: fedora33: add missing pkgs
      systemctl: Stop tracebacks use formated error messages
      package_manager/rpm: decode systemctl failures

Bastian Krause (1):
      ccache: version bump 4.2.1 -> 4.3

Bruce Ashfield (18):
      linux-yocto/5.4: qemuppc32: reduce serial shutdown issues
      kern-tools: Kconfiglib: add support for bare 'modules' keyword
      lttng-modules: update devupstream to v2.13-rc
      lttng-modules: update to v2.12.6
      kernel-yocto: provide debug / summary information for metadata
      linux-yocto/5.10: update to v5.10.35
      linux-yocto/5.4: update to v5.4.117
      linux-yocto/5.10: ktypes/standard: disable obsolete crypto options by default
      linux-yocto/5.10: update to v5.10.36
      linux-yocto/5.4: update to v5.4.118
      linux-yocto/5.10: update to v5.10.37
      linux-yocto/5.4: update to v5.4.119
      kernel-devsrc: adjust NM and OBJTOOL variables for target
      linux-yocto/5.10: update to v5.10.38
      linux-yocto-dev: bump to v5.13+
      linux-yocto/5.4: update to v5.4.120
      linux-yocto/5.10: update to v5.10.41
      linux-yocto/5.4: update to v5.4.123

Carlos Rafael Giani (1):
      ffmpeg: Add libopus packageconfig

Changqing Li (2):
      unfs3: correct configure option
      pkgconfig: update SRC_URI

Chen Qi (3):
      db: update CVE_PRODUCT
      rt-tests: update SRCREV
      xxhash: backport patch to fix special char problem

Daniel McGregor (3):
      lib/oe/gpg_sign.py: Fix gpg verification
      sstate: Ignore sstate signing key
      bison: Make libtextstyle and libreadline optional

Daniel Wagenknecht (1):
      kernel-dev: document KCONFIG_MODE

Douglas Royds (3):
      Revert "icecc: Don't use icecc when INHIBIT_DEFAULT_DEPS is set"
      icecc: Demote "could not get ICECC_CC" warning to note
      icecc-create-env: Silence warning: invalid ICECC_ENV_EXEC

Drew Moseley (1):
      manuals: fix a few incorrect option specifications.

Guillaume Champagne (1):
      image-live.bbclass: order do_bootimg after do_rootfs

Joshua Watt (1):
      zstd: Add patch to fix MinGW builds

Kai Kang (1):
      grub2.inc: remove '-O2' from CFLAGS

Khem Raj (17):
      swig: Upgrade to 4.0.2
      python3-markdown: Upgrade to 3.3.4
      ffmpeg: Fix build on mips
      npth: Check for pthread_create for including lpthread
      gcc: Add target gcc include search for musl config too
      gcc: Extend .gccrelocprefix section support to musl configs
      gcc: Refresh patch to fix patch fuzz
      musl: Fix __NR_fstatat syscall name for riscv
      libxfixes: Update to 6.0.0 release
      xorgproto: Upgrade to 2021.4 release
      glibc: Update to latest 2.33 branch
      systemd: Fix 248.3 on musl
      glibc: Enable memory tagging for aarch64
      gcc: Update to latest on release/gcc-11 branch
      apt: Add missing <array> header
      ovmf: Fix VLA warnings with GCC 11
      libucontext: Switch to meson build system

Martin Jansa (4):
      gcc-sanitizers: Package up static hwasan files as well
      webkitgtk: fix build without opengl in DISTRO_FEATURES
      binutils: backport DWARF-5 support for gold
      sstatesig.py: make it fatal error when sstate manifest isn't found

Michael Halstead (3):
      releases: update to include 3.2.4
      uninative: Upgrade to 3.2 (gcc11 support)
      releases: update to include 3.3.1

Michael Opdenacker (8):
      manuals: reduce verbosity with "worry about" expression
      manuals: reduce verbosity related to "the following" expression
      ref-manual: simplify style
      kernel-dev manual: simplify style
      dev-manual: simplify style
      sdk-manual: simplify style and fix formating
      overview-manual: simplify style and add missings references
      manuals: simplify style

Mike Crowe (2):
      npm.bbclass: Allow nodedir to be overridden by NPM_NODEDIR
      libnotify: Make gtk+3 dependency optional

Ming Liu (4):
      kernel-fitimage.bbclass: fix a wrong conditional check
      initramfs-framework:rootfs: fix wrong indentions
      kernel-fitimage.bbclass: drop unit addresses from bootscr sections
      uboot-sign/kernel-fitimage: split generate_rsa_keys task

Nikolay Papenkov (1):
      flex: correct license information

Nisha Parrakat (1):
      squashfs-tools: package squashfs-fs.h

Peter Kjellerstedt (3):
      libcap: Configure Make variables correctly without a horrible hack
      util-linux.inc: Do not modify BPN
      native.bbclass: Do not remove "-native" in the middle of recipe names

Petr Vorel (1):
      ltp: Update to 20210524

Richard Purdie (92):
      oeqa/qemurunner: Fix binary vs str issue
      oeqa/qemurunner: Improve handling of run_serial for shutdown commands
      ptest-packagelists: Add expat-ptest to fast ptests
      puzzles: Upstream changed to main branch for development
      grub2: Add CVE whitelist entries for issues fixed in 2.06
      glibc: Document and whitelist CVE-2019-1010022-25
      qemu: Exclude CVE-2017-5957 from cve-check
      qemu: Exclude CVE-2007-0998 from cve-check
      qemu: Exclude CVE-2018-18438 from cve-check
      jquery: Exclude CVE-2007-2379 from cve-check
      logrotate: Exclude CVE-2011-1548,1549,1550 from cve-check
      openssh: Exclude CVE-2007-2768 from cve-check
      ovmf: Improve reproducibility by enabling prefix mapping
      bind: Exclude CVE-2019-6470 from cve-check
      openssh: Exclude CVE-2008-3844 from cve-check
      unzip: Exclude CVE-2008-0888 from cve-check
      cpio: Exclude CVE-2010-4226 from cve-check
      xinetd: Exclude CVE-2013-4342 from cve-check
      ghostscript: Exclude CVE-2013-6629 from cve-check
      bluez: Exclude CVE-2020-12352 CVE-2020-24490 from cve-check
      tiff: Exclude CVE-2015-7313 from cve-check
      ovmf: Disable lto to aid reproducibility
      ovmf: Fix other reproducibility issues
      rpm: Exclude CVE-2021-20271 from cve-check
      coreutils: Exclude CVE-2016-2781 from cve-check
      librsvg: Exclude CVE-2018-1000041 from cve-check
      avahi: Exclude CVE-2021-26720 from cve-check
      qemu: Set SMP to 4 cpus for arm/x86 only
      qemuboot-x86: Switch to IvyBridge and q35 instead of pc
      qemu-x86: Add commandline options to improve boot
      sstate: Handle manifest 'corruption' issue
      lttng-ust: Upgrade 2.12.1 -> 2.12.2
      qemu: Upgrade 5.2.0 -> 6.0.0
      python3-markupsafe: Upgrade 1.1.1 -> 2.0.0
      python3-jinja2: Upgrade 2.11.3 -> 3.0.0
      ofono: upgrade 1.31 -> 1.32
      libnss-mdns: upgrade 0.14.1 -> 0.15
      python3-git: upgrade 3.1.14 -> 3.1.17
      bind: upgrade 9.16.13 -> 9.16.15
      vala: upgrade 0.52.2 -> 0.52.3
      libjpeg-turbo: upgrade 2.0.6 -> 2.1.0
      btrfs-tools: upgrade 5.12 -> 5.12.1
      python3-hypothesis: upgrade 6.9.1 -> 6.12.0
      python3-numpy: upgrade 1.20.2 -> 1.20.3
      gtk+3: upgrade 3.24.28 -> 3.24.29
      sudo: upgrade 1.9.6p1 -> 1.9.7
      stress-ng: upgrade 0.12.06 -> 0.12.08
      less: upgrade 581 -> 586
      libtirpc: upgrade 1.3.1 -> 1.3.2
      libinput: upgrade 1.17.1 -> 1.17.2
      zstd: upgrade 1.4.9 -> 1.5.0
      hdparm: upgrade 9.61 -> 9.62
      libxkbcommon: upgrade 1.2.1 -> 1.3.0
      spirv-tools: upgrade 2020.7 -> 2021.1
      diffoscope: upgrade 172 -> 175
      mpg123: upgrade 1.26.5 -> 1.27.2
      sqlite3: upgrade 3.35.3 -> 3.35.5
      wayland-protocols: upgrade 1.20 -> 1.21
      shaderc: upgrade 2020.5 -> 2021.0
      wpebackend-fdo: upgrade 1.8.3 -> 1.8.4
      libxcrypt-compat: upgrade 4.4.19 -> 4.4.20
      Revert "cml1.bbclass: Return sorted list of cfg files"
      bitbake: server/process: Handle error in heartbeat funciton in OOM case
      glibc: Add 8GB VM usage cap for usermode test suite
      cve-extra-exclusions.inc: add exclusion list for intractable CVE's
      rpm: Drop CVE exclusion as database fixed to handle
      cve-extra-exclusions: Fix typos
      grub: Exclude CVE-2019-14865 from cve-check
      cve-extra-exclusions.inc: Clean up merged CPE updates
      ltp: Disable problematic tests causing autobuilder hangs
      python3-setuptools: upgrade 56.0.0 -> 56.2.0
      distro/maintainers: Fix up the ptest image entries
      oeqa/runtime/rpm: Drop log message counting test component
      linux-firmware: upgrade 20210315 -> 20210511
      libxcrypt: Upgrade 4.4.20 -> 4.4.22
      iproute2: upgrade 5.11.0 -> 5.12.0
      libx11: upgrade 1.7.0 -> 1.7.1
      python3-hypothesis: upgrade 6.12.0 -> 6.13.7
      pango: upgrade 1.48.4 -> 1.48.5
      python3-importlib-metadata: upgrade 4.0.1 -> 4.3.0
      libmodulemd: upgrade 2.12.0 -> 2.12.1
      vte: upgrade 0.64.0 -> 0.64.1
      libinput: upgrade 1.17.2 -> 1.17.3
      gi-docgen: upgrade 2021.5 -> 2021.6
      kmod: upgrade 28 -> 29
      xorgproto: upgrade 2021.4 -> 2021.4.99.1
      libpcre2: upgrade 10.36 -> 10.37
      libepoxy: upgrade 1.5.5 -> 1.5.8
      python3-jinja2: upgrade 3.0.0 -> 3.0.1
      curl: upgrade 7.76.1 -> 7.77.0
      python3-setuptools: upgrade 56.2.0 -> 57.0.0
      oeqa/qemurunner: Improve timeout handling

Richard Weinberger (1):
      Add support for erofs filesystems

Robert Joslyn (3):
      liberation-fonts: Update to 2.1.4
      epiphany: Update to 40.1
      btrfs-tools: Update to 5.12

Robert P. J. Day (8):
      sdk-manual: couple minor fixes in using.rst
      sdk-manual: various cleanups to intro.rst
      ref-manual: delete references to dead LSB compliance
      ref-manual: delete extraneous back quote
      image.bbclass: fix comment "pacackages" -> "packages"
      meta/lib/oe/rootfs.py: Fix typo "Restoreing" -> "Restoring"
      bitbake.conf: alphabetize contents of ASSUME_PROVIDED
      ref-manual: add links to some variables in glossary

Romain Naour (1):
      dejagnu: needs expect at runtime

Ross Burton (12):
      cairo: backport patch for CVE-2020-35492
      libnotify: whitelist CVE-2013-7381 (specific to the NodeJS bindings)
      builder: whitelist CVE-2008-4178 (a different builder)
      libarchive: disable redundant libxml2 PACKAGECONFIG
      meson: update patch status
      cups: whitelist CVE-2021-25317
      libsolv: add missing db dependency
      rpm: turn Berkeley DB hard dependency into PACKAGECONFIG
      python3: update status on upstreamed patch
      ref-manual: Ubuntu 20.04 is also LTS
      package_rpm: pass XZ_THREADS to rpm
      gcc: revert libstc++-gdb.py installation changes

Samuli Piippo (3):
      gcc-cross-canadian: add symlinks for ld.bfd and ld.gold
      libarchive: enable zstd support
      cmake-native: enabled zstd support

Stefan Ghinea (1):
      boost: fix do_fetch failure

Steve Sakoman (1):
      expat: set CVE_PRODUCT

Tony Tascioglu (3):
      libxml2: Reformat runtest.patch
      libxml2: Add bash dependency for ptests.
      libxml2: Update to 2.9.12

Trevor Gamblin (2):
      python3: upgrade 3.9.4 -> 3.9.5
      bind: upgrade 9.16.15 -> 9.16.16

Ulrich Ölmann (1):
      local.conf.sample: fix typo

Vinícius Ossanes Aquino (1):
      lttng-modules: backport patches to fix build against 5.12+ kernel

Yann Dirson (1):
      linux-firmware: include all relevant files in -bcm4356

hongxu (1):
      gdk-pixbuf: fix nativesdk do_configure failed

wangmy (21):
      python3-pygments: upgrade 2.8.1 -> 2.9.0
      at-spi2-core: upgrade 2.40.0 -> 2.40.1
      ell: upgrade 0.39 -> 0.40
      kexec-tools: upgrade 2.0.21 -> 2.0.22
      go: upgrade 1.16.3 -> 1.16.4
      python3-attrs: upgrade 20.3.0 -> 21.2.0
      python3-six: upgrade 1.15.0 -> 1.16.0
      vulkan-samples: update to latest revision
      vulkan-headers: upgrade 1.2.170.0 -> 1.2.176.0
      vulkan-tools: upgrade 1.2.170.0 -> 1.2.176.0
      vulkan-loader: upgrade 1.2.170.0 -> 1.2.176.0
      distcc: upgrade 3.3.5 -> 3.4
      libdrm: upgrade 2.4.105 -> 2.4.106
      libidn2: upgrade 2.3.0 -> 2.3.1
      libtasn1: upgrade 4.16.0 -> 4.17.0
      python3-libarchive-c: upgrade 2.9 -> 3.0
      python3-markupsafe: upgrade 2.0.0 -> 2.0.1
      python3-more-itertools: upgrade 8.7.0 -> 8.8.0
      python3-pytest: upgrade 6.2.3 -> 6.2.4
      logrotate: upgrade 3.18.0 -> 3.18.1
      stress-ng: upgrade 0.12.08 -> 0.12.09

zhengruoqin (10):
      busybox: upgrade 1.33.0 -> 1.33.1
      rng-tools: upgrade 6.11 -> 6.12
      rpcbind: upgrade 1.2.5 -> 1.2.6
      sysklogd: upgrade 2.2.2 -> 2.2.3
      python3-importlib-metadata: upgrade 3.10.1 -> 4.0.1
      python3-sortedcontainers: upgrade 2.3.0 -> 2.4.0
      rxvt-unicode: upgrade 9.22 -> 9.26
      libedit: upgrade 20210419-3.1 -> 20210522-3.1
      libtest-needs-perl: upgrade 0.002006 -> 0.002009
      libucontext: upgrade 0.10 -> 1.1

Change-Id: I5e5148036ac2a7918974733e5751c3392139b17e
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc
index e186ded..f603814 100644
--- a/poky/meta/recipes-devtools/meson/meson.inc
+++ b/poky/meta/recipes-devtools/meson/meson.inc
@@ -12,21 +12,13 @@
            file://0003-native_bindir.patch \
            file://0001-python-module-do-not-manipulate-the-environment-when.patch \
            file://disable-rpath-handling.patch \
-           file://cross-prop-default.patch \
            file://0001-modules-python.py-do-not-substitute-python-s-install.patch \
-           file://0001-minstall-Correctly-set-uid-gid-of-installed-files.patch \
            file://gi-target-dep.patch \
+           file://0001-Make-CPU-family-warnings-fatal.patch \
+           file://0002-Support-building-allarch-recipes-again.patch \
+           file://4e312c19e693a69b0650ce6c8a8903163c959996.patch \
            "
-SRC_URI[sha256sum] = "72e1c782ba9bda204f4a1ed57f98d027d7b6eb9414c723eebbd6ec7f1955c8a6"
-
-SRC_URI_append_class-native = " \
-    file://0001-Make-CPU-family-warnings-fatal.patch \
-    file://0002-Support-building-allarch-recipes-again.patch \
-"
-
-# remove at next version upgrade or when output changes
-PR = "r1"
-HASHEQUIV_HASH_VERSION .= ".1"
+SRC_URI[sha256sum] = "f4820df0bc969c99019fd4af8ca5f136ee94c63d8a5ad67e7eb73bdbc9182fdd"
 
 UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases"
 UPSTREAM_CHECK_REGEX = "meson-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
index 48941c9..bcccfab 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
@@ -1,41 +1,43 @@
-From 76934bcbf2cfa7304e8864e28c51f58adda0392f Mon Sep 17 00:00:00 2001
+From b64032a2eb1fb760f4ffd5b4b666e2433cf80d39 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Tue, 3 Jul 2018 13:59:09 +0100
-Subject: [PATCH] Make CPU family warnings fatal
+Subject: [PATCH 1/2] Make CPU family warnings fatal
 
 Upstream-Status: Inappropriate [OE specific]
 Signed-off-by: Ross Burton <ross.burton@intel.com>
-
 ---
  mesonbuild/envconfig.py   | 2 +-
  mesonbuild/environment.py | 4 +---
  2 files changed, 2 insertions(+), 4 deletions(-)
 
 diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
-index ba35d16..2d3c34c 100644
+index c6a4df3..4d58c91 100644
 --- a/mesonbuild/envconfig.py
 +++ b/mesonbuild/envconfig.py
-@@ -254,7 +254,7 @@ class MachineInfo:
-
+@@ -266,7 +266,7 @@ class MachineInfo:
+ 
          cpu_family = literal['cpu_family']
          if cpu_family not in known_cpu_families:
--            mlog.warning('Unknown CPU family {}, please report this at https://github.com/mesonbuild/meson/issues/new'.format(cpu_family))
+-            mlog.warning(f'Unknown CPU family {cpu_family}, please report this at https://github.com/mesonbuild/meson/issues/new')
 +            raise EnvironmentException('Unknown CPU family {}, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.'.format(cpu_family))
-
+ 
          endian = literal['endian']
          if endian not in ('little', 'big'):
 diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 756dd81..4d2c2b6 100644
+index fc9b703..eea8345 100644
 --- a/mesonbuild/environment.py
 +++ b/mesonbuild/environment.py
-@@ -434,9 +434,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
+@@ -436,9 +436,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
              trial = 'ppc64'
-
+ 
      if trial not in known_cpu_families:
 -        mlog.warning('Unknown CPU family {!r}, please report this at '
 -                     'https://github.com/mesonbuild/meson/issues/new with the '
 -                     'output of `uname -a` and `cat /proc/cpuinfo`'.format(trial))
 +        raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % trial)
-
+ 
      return trial
+ 
+-- 
+2.24.0
 
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch b/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
index 471f150..ce90e51 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
@@ -1,4 +1,4 @@
-From d3ef01a4208a801acad380a4aaceb6a21f8fa603 Mon Sep 17 00:00:00 2001
+From 2f9c59e0489e569c5382404667c10f5c200a72ad Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 4 Aug 2017 16:16:41 +0300
 Subject: [PATCH] gtkdoc: fix issues that arise when cross-compiling
@@ -20,11 +20,11 @@
  1 file changed, 4 insertions(+)
 
 diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
-index bcf77b9..6a4b472 100644
+index dc2979e..c9ff9bd 100644
 --- a/mesonbuild/modules/gnome.py
 +++ b/mesonbuild/modules/gnome.py
-@@ -974,6 +974,10 @@ This will become a hard error in the future.''')
-             args.append('--{}={}'.format(program_name, path))
+@@ -1053,6 +1053,10 @@ class GnomeModule(ExtensionModule):
+             args.append(f'--{program_name}={path}')
          if namespace:
              args.append('--namespace=' + namespace)
 +        gtkdoc_exe_wrapper = state.environment.properties.host.get('gtkdoc_exe_wrapper', None)
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch b/poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch
deleted file mode 100644
index d55b7cc..0000000
--- a/poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 3f6f4964dc79ae986f44afe1687922381f237edd Mon Sep 17 00:00:00 2001
-From: Peter Kjellerstedt <pkj@axis.com>
-Date: Wed, 3 Mar 2021 12:47:28 +0100
-Subject: [PATCH] minstall: Correctly set uid/gid of installed files
-
-In commit caab4d3d, the uid and gid arguments passed to os.chown() by
-set_chown() were accidentally swapped, causing files to end up with
-incorrect owner/group if the owner and group are not the same.
-
-Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/6226ac26ef63335bfb817db02b3f295c78214a82]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- mesonbuild/minstall.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py
-index 785ff5869..07da408aa 100644
---- a/mesonbuild/minstall.py
-+++ b/mesonbuild/minstall.py
-@@ -148,7 +148,7 @@ def set_chown(path: str, user: T.Optional[str] = None, group: T.Optional[str] =
-         Use a real function rather than a lambda to help mypy out. Also real
-         functions are faster.
-         """
--        real_os_chown(path, gid, uid, dir_fd=dir_fd, follow_symlinks=follow_symlinks)
-+        real_os_chown(path, uid, gid, dir_fd=dir_fd, follow_symlinks=follow_symlinks)
- 
-     try:
-         os.chown = chown
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch b/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
index eb0e90d..fdadc68 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
@@ -1,4 +1,4 @@
-From 689e28c49b85311f93f39df70cbee702fc44afb6 Mon Sep 17 00:00:00 2001
+From 2264e67d7c2c22ca634fd26ea8ada6f0344ab280 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 19 Nov 2018 14:24:26 +0100
 Subject: [PATCH] python module: do not manipulate the environment when calling
@@ -12,10 +12,10 @@
  1 file changed, 12 deletions(-)
 
 diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py
-index 07be318..b770603 100644
+index 422155b..aaf5844 100644
 --- a/mesonbuild/modules/python.py
 +++ b/mesonbuild/modules/python.py
-@@ -71,11 +71,6 @@ class PythonDependency(ExternalDependency):
+@@ -70,11 +70,6 @@ class PythonDependency(ExternalDependency):
                  old_pkg_libdir = os.environ.get('PKG_CONFIG_LIBDIR')
                  old_pkg_path = os.environ.get('PKG_CONFIG_PATH')
  
@@ -26,9 +26,9 @@
 -
                  try:
                      self.pkgdep = PkgConfigDependency(pkg_name, environment, kwargs)
-                     mlog.debug('Found "{}" via pkgconfig lookup in LIBPC ({})'.format(pkg_name, pkg_libdir))
-@@ -84,13 +79,6 @@ class PythonDependency(ExternalDependency):
-                     mlog.debug('"{}" could not be found in LIBPC ({})'.format(pkg_name, pkg_libdir))
+                     mlog.debug(f'Found "{pkg_name}" via pkgconfig lookup in LIBPC ({pkg_libdir})')
+@@ -83,13 +78,6 @@ class PythonDependency(ExternalDependency):
+                     mlog.debug(f'"{pkg_name}" could not be found in LIBPC ({pkg_libdir})')
                      mlog.debug(e)
  
 -                if old_pkg_path is not None:
@@ -39,5 +39,5 @@
 -                else:
 -                    os.environ.pop('PKG_CONFIG_LIBDIR', None)
              else:
-                 mlog.debug('"{}" could not be found in LIBPC ({}), this is likely due to a relocated python installation'.format(pkg_name, pkg_libdir))
+                 mlog.debug(f'"{pkg_name}" could not be found in LIBPC ({pkg_libdir}), this is likely due to a relocated python installation')
  
diff --git a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
index d0fe112..dcc1ce9 100644
--- a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
@@ -1,26 +1,28 @@
-From 6efb6114836fd4a1e012aa03b37f3beeeb22b466 Mon Sep 17 00:00:00 2001
+From 656bf55fed01df2d2e2ad6d9d9887173cb16b85c Mon Sep 17 00:00:00 2001
 From: Peter Kjellerstedt <pkj@axis.com>
 Date: Thu, 26 Jul 2018 16:32:49 +0200
-Subject: [PATCH] Support building allarch recipes again
+Subject: [PATCH 2/2] Support building allarch recipes again
 
 This registers "allarch" as a known CPU family.
 
 Upstream-Status: Inappropriate [OE specific]
 Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
-
 ---
  mesonbuild/envconfig.py | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
-index 2d3c34c..b9e7908 100644
+index 4d58c91..ff01ad1 100644
 --- a/mesonbuild/envconfig.py
 +++ b/mesonbuild/envconfig.py
-@@ -38,6 +38,7 @@ _T = T.TypeVar('_T')
-
-
+@@ -36,6 +36,7 @@ from pathlib import Path
+ 
+ 
  known_cpu_families = (
 +    'allarch',
      'aarch64',
      'alpha',
      'arc',
+-- 
+2.24.0
+
diff --git a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
index ed85116..89257b9 100644
--- a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
@@ -1,4 +1,4 @@
-From 1546e1f95a119175b7a4e4272a26dd85505e5ede Mon Sep 17 00:00:00 2001
+From 30e97d4090a3d3f5b7ddcaf27cfa17f3c8c1d462 Mon Sep 17 00:00:00 2001
 From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
 Date: Wed, 15 Nov 2017 15:05:01 +0100
 Subject: [PATCH] native_bindir
@@ -18,23 +18,22 @@
 
 ---
  mesonbuild/dependencies/base.py | 19 +++++++++++--------
- mesonbuild/dependencies/ui.py   |  6 +++---
- 2 files changed, 14 insertions(+), 11 deletions(-)
+ 1 file changed, 11 insertions(+), 8 deletions(-)
 
 diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
-index cd77b4b..7e3f338 100644
+index 14380d4..d0c443f 100644
 --- a/mesonbuild/dependencies/base.py
 +++ b/mesonbuild/dependencies/base.py
-@@ -192,7 +192,7 @@ class Dependency:
+@@ -179,7 +179,7 @@ class Dependency:
      def get_exe_args(self, compiler):
          return []
  
 -    def get_pkgconfig_variable(self, variable_name: str, kwargs: T.Dict[str, T.Any]) -> str:
 +    def get_pkgconfig_variable(self, variable_name: str, kwargs: T.Dict[str, T.Any], use_native=False) -> str:
-         raise DependencyException('{!r} is not a pkgconfig dependency'.format(self.name))
+         raise DependencyException(f'{self.name!r} is not a pkgconfig dependency')
  
      def get_configtool_variable(self, variable_name):
-@@ -280,7 +280,7 @@ class InternalDependency(Dependency):
+@@ -267,7 +267,7 @@ class InternalDependency(Dependency):
              return True
          return any(d.is_built() for d in self.ext_deps)
  
@@ -43,7 +42,7 @@
          raise DependencyException('Method "get_pkgconfig_variable()" is '
                                    'invalid for an internal dependency')
  
-@@ -658,8 +658,11 @@ class PkgConfigDependency(ExternalDependency):
+@@ -645,8 +645,11 @@ class PkgConfigDependency(ExternalDependency):
          return s.format(self.__class__.__name__, self.name, self.is_found,
                          self.version_reqs)
  
@@ -57,16 +56,16 @@
          p, out, err = Popen_safe(cmd, env=env)
          rc, out, err = p.returncode, out.strip(), err.strip()
          call = ' '.join(cmd)
-@@ -685,7 +688,7 @@ class PkgConfigDependency(ExternalDependency):
-             env['PKG_CONFIG_LIBDIR'] = new_pkg_config_libdir
-             mlog.debug('PKG_CONFIG_LIBDIR: ' + new_pkg_config_libdir)
+@@ -674,7 +677,7 @@ class PkgConfigDependency(ExternalDependency):
+             if key.startswith('PKG_'):
+                 mlog.debug(f'env[{key}]: {value}')
  
 -    def _call_pkgbin(self, args, env=None):
 +    def _call_pkgbin(self, args, env=None, use_native=False):
          # Always copy the environment since we're going to modify it
          # with pkg-config variables
          if env is None:
-@@ -699,7 +702,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -688,7 +691,7 @@ class PkgConfigDependency(ExternalDependency):
          targs = tuple(args)
          cache = PkgConfigDependency.pkgbin_cache
          if (self.pkgbin, targs, fenv) not in cache:
@@ -75,7 +74,7 @@
          return cache[(self.pkgbin, targs, fenv)]
  
      def _convert_mingw_paths(self, args: T.List[str]) -> T.List[str]:
-@@ -905,7 +908,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -894,7 +897,7 @@ class PkgConfigDependency(ExternalDependency):
                                        (self.name, out_raw))
          self.link_args, self.raw_link_args = self._search_libs(out, out_raw)
  
@@ -84,7 +83,7 @@
          options = ['--variable=' + variable_name, self.name]
  
          if 'define_variable' in kwargs:
-@@ -918,7 +921,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -907,7 +910,7 @@ class PkgConfigDependency(ExternalDependency):
  
              options = ['--define-variable=' + '='.join(definition)] + options
  
@@ -93,34 +92,3 @@
          variable = ''
          if ret != 0:
              if self.required:
-diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py
-index d897d76..a598d2e 100644
---- a/mesonbuild/dependencies/ui.py
-+++ b/mesonbuild/dependencies/ui.py
-@@ -325,7 +325,7 @@ class QtBaseDependency(ExternalDependency):
-         self.bindir = self.get_pkgconfig_host_bins(core)
-         if not self.bindir:
-             # If exec_prefix is not defined, the pkg-config file is broken
--            prefix = core.get_pkgconfig_variable('exec_prefix', {})
-+            prefix = core.get_pkgconfig_variable('exec_prefix', {}, use_native=True)
-             if prefix:
-                 self.bindir = os.path.join(prefix, 'bin')
- 
-@@ -528,7 +528,7 @@ class Qt4Dependency(QtBaseDependency):
-         applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease']
-         for application in applications:
-             try:
--                return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, {}))
-+                return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, {}, use_native=True))
-             except MesonException:
-                 pass
- 
-@@ -538,7 +538,7 @@ class Qt5Dependency(QtBaseDependency):
-         QtBaseDependency.__init__(self, 'qt5', env, kwargs)
- 
-     def get_pkgconfig_host_bins(self, core):
--        return core.get_pkgconfig_variable('host_bins', {})
-+        return core.get_pkgconfig_variable('host_bins', {}, use_native=True)
- 
-     def get_private_includes(self, mod_inc_dir, module):
-         return _qt_get_private_includes(mod_inc_dir, module, self.version)
diff --git a/poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch b/poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch
new file mode 100644
index 0000000..76daf01
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch
@@ -0,0 +1,412 @@
+From 4e312c19e693a69b0650ce6c8a8903163c959996 Mon Sep 17 00:00:00 2001
+From: Xavier Claessens <xavier.claessens@collabora.com>
+Date: Tue, 11 May 2021 09:18:47 -0400
+Subject: [PATCH] gnome: Fix gtkdoc generation
+
+install_scripts used to replace @BUILD_ROOT@ and @SOURCE_ROOT@ but it
+was not documented and got removed in Meson 0.58.0. gnome.gtkdoc() was
+relying on that behaviour, but it has always been broken in the case the
+source or build directory contains spaces.
+
+Fix this by changing get_include_args() to substitue paths directly
+which will then get escaped correctly.
+
+Add a unit test that builds GObject documentation which is where this
+issue has been spotted.
+
+Fixes: #8744
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mesonbuild/modules/__init__.py                | 54 +++++++++----------
+ mesonbuild/modules/gnome.py                   | 15 +++---
+ mesonbuild/modules/hotdoc.py                  |  3 +-
+ mesonbuild/modules/qt.py                      |  4 +-
+ mesonbuild/modules/windows.py                 |  5 +-
+ .../10 gtk-doc/doc/foobar1/foobar-docs.sgml   |  2 +-
+ .../doc/foobar1/foobar-sections.txt           | 16 ++++++
+ .../10 gtk-doc/doc/foobar1/foobar.types       |  4 ++
+ .../10 gtk-doc/doc/foobar1/meson.build        |  6 ++-
+ test cases/frameworks/10 gtk-doc/foo.c        | 30 +++++++++++
+ .../frameworks/10 gtk-doc/include/foo.h       | 18 +++++++
+ test cases/frameworks/10 gtk-doc/meson.build  | 12 +++++
+ test cases/frameworks/10 gtk-doc/test.json    |  4 +-
+ 13 files changed, 127 insertions(+), 46 deletions(-)
+ create mode 100644 test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt
+ create mode 100644 test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types
+ create mode 100644 test cases/frameworks/10 gtk-doc/foo.c
+
+diff --git a/mesonbuild/modules/__init__.py b/mesonbuild/modules/__init__.py
+index ddb5e3e6cf3..c0970294c34 100644
+--- a/mesonbuild/modules/__init__.py
++++ b/mesonbuild/modules/__init__.py
+@@ -56,6 +56,33 @@ def __init__(self, interpreter: 'Interpreter') -> None:
+         self.target_machine = interpreter.builtin['target_machine'].held_object
+         self.current_node = interpreter.current_node
+ 
++    def get_include_args(self, include_dirs, prefix='-I'):
++        if not include_dirs:
++            return []
++
++        srcdir = self.environment.get_source_dir()
++        builddir = self.environment.get_build_dir()
++
++        dirs_str = []
++        for dirs in unholder(include_dirs):
++            if isinstance(dirs, str):
++                dirs_str += [f'{prefix}{dirs}']
++                continue
++
++            # Should be build.IncludeDirs object.
++            basedir = dirs.get_curdir()
++            for d in dirs.get_incdirs():
++                expdir = os.path.join(basedir, d)
++                srctreedir = os.path.join(srcdir, expdir)
++                buildtreedir = os.path.join(builddir, expdir)
++                dirs_str += [f'{prefix}{buildtreedir}',
++                             f'{prefix}{srctreedir}']
++            for d in dirs.get_extra_build_dirs():
++                dirs_str += [f'{prefix}{d}']
++
++        return dirs_str
++
++
+ class ModuleObject:
+     """Base class for all objects returned by modules
+     """
+@@ -71,33 +98,6 @@ def __init__(self, interpreter: T.Optional['Interpreter'] = None) -> None:
+ class ExtensionModule(ModuleObject):
+     pass
+ 
+-def get_include_args(include_dirs, prefix='-I'):
+-    '''
+-    Expand include arguments to refer to the source and build dirs
+-    by using @SOURCE_ROOT@ and @BUILD_ROOT@ for later substitution
+-    '''
+-    if not include_dirs:
+-        return []
+-
+-    dirs_str = []
+-    for dirs in unholder(include_dirs):
+-        if isinstance(dirs, str):
+-            dirs_str += [f'{prefix}{dirs}']
+-            continue
+-
+-        # Should be build.IncludeDirs object.
+-        basedir = dirs.get_curdir()
+-        for d in dirs.get_incdirs():
+-            expdir = os.path.join(basedir, d)
+-            srctreedir = os.path.join('@SOURCE_ROOT@', expdir)
+-            buildtreedir = os.path.join('@BUILD_ROOT@', expdir)
+-            dirs_str += [f'{prefix}{buildtreedir}',
+-                         f'{prefix}{srctreedir}']
+-        for d in dirs.get_extra_build_dirs():
+-            dirs_str += [f'{prefix}{d}']
+-
+-    return dirs_str
+-
+ def is_module_library(fname):
+     '''
+     Check if the file is a library-like file generated by a module-specific
+diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
+index d0b053d4f76..c91cda66f8b 100644
+--- a/mesonbuild/modules/gnome.py
++++ b/mesonbuild/modules/gnome.py
+@@ -26,7 +26,6 @@
+ from .. import mesonlib
+ from .. import interpreter
+ from . import GResourceTarget, GResourceHeaderTarget, GirTarget, TypelibTarget, VapiTarget
+-from . import get_include_args
+ from . import ExtensionModule
+ from . import ModuleReturnValue
+ from ..mesonlib import (
+@@ -394,7 +393,7 @@ def _get_dependencies_flags(self, deps, state, depends, include_rpath=False,
+                     gi_includes.update([girdir])
+             if isinstance(dep, InternalDependency):
+                 cflags.update(dep.get_compile_args())
+-                cflags.update(get_include_args(dep.include_directories))
++                cflags.update(state.get_include_args(dep.include_directories))
+                 for lib in unholder(dep.libraries):
+                     if isinstance(lib, build.SharedLibrary):
+                         internal_ldflags.update(self._get_link_args(state, lib, depends, include_rpath))
+@@ -443,7 +442,7 @@ def _get_dependencies_flags(self, deps, state, depends, include_rpath=False,
+                     else:
+                         external_ldflags.update([lib])
+             elif isinstance(dep, (build.StaticLibrary, build.SharedLibrary)):
+-                cflags.update(get_include_args(dep.get_include_dirs()))
++                cflags.update(state.get_include_args(dep.get_include_dirs()))
+                 depends.append(dep)
+             else:
+                 mlog.log(f'dependency {dep!r} not handled to build gir files')
+@@ -853,7 +852,7 @@ def generate_gir(self, state, args, kwargs):
+         scan_command += self._scan_header(kwargs)
+         scan_command += self._scan_extra_args(kwargs)
+         scan_command += ['-I' + srcdir, '-I' + builddir]
+-        scan_command += get_include_args(girtargets_inc_dirs)
++        scan_command += state.get_include_args(girtargets_inc_dirs)
+         scan_command += ['--filelist=' + self._make_gir_filelist(state, srcdir, ns, nsversion, girtargets, libsources)]
+         scan_command += self._scan_link_withs(state, depends, kwargs)
+         scan_command += self._scan_include(state, depends, gir_inc_dirs, kwargs)
+@@ -863,8 +862,8 @@ def generate_gir(self, state, args, kwargs):
+         scan_command += ['--cflags-begin']
+         scan_command += cflags
+         scan_command += ['--cflags-end']
+-        scan_command += get_include_args(inc_dirs)
+-        scan_command += get_include_args(list(gi_includes) + gir_inc_dirs + inc_dirs, prefix='--add-include-path=')
++        scan_command += state.get_include_args(inc_dirs)
++        scan_command += state.get_include_args(list(gi_includes) + gir_inc_dirs + inc_dirs, prefix='--add-include-path=')
+         scan_command += list(internal_ldflags)
+         scan_command += self._scan_gir_targets(state, girtargets)
+         scan_command += self._scan_langs(state, [lc[0] for lc in langs_compilers])
+@@ -886,7 +885,7 @@ def generate_gir(self, state, args, kwargs):
+ 
+         typelib_output = f'{ns}-{nsversion}.typelib'
+         typelib_cmd = [gicompiler, scan_target, '--output', '@OUTPUT@']
+-        typelib_cmd += get_include_args(gir_inc_dirs, prefix='--includedir=')
++        typelib_cmd += state.get_include_args(gir_inc_dirs, prefix='--includedir=')
+ 
+         for incdir in typelib_includes:
+             typelib_cmd += ["--includedir=" + incdir]
+@@ -1127,7 +1126,7 @@ def _get_build_args(self, kwargs, state, depends):
+                     'Gir include dirs should be include_directories().')
+ 
+         cflags.extend(deps_cflags)
+-        cflags.extend(get_include_args(inc_dirs))
++        cflags.extend(state.get_include_args(inc_dirs))
+         ldflags = []
+         ldflags.extend(internal_ldflags)
+         ldflags.extend(external_ldflags)
+diff --git a/mesonbuild/modules/hotdoc.py b/mesonbuild/modules/hotdoc.py
+index bf8cd229c0d..89a5d938ea7 100644
+--- a/mesonbuild/modules/hotdoc.py
++++ b/mesonbuild/modules/hotdoc.py
+@@ -22,7 +22,6 @@
+ from mesonbuild.coredata import MesonException
+ from . import ModuleReturnValue
+ from . import ExtensionModule
+-from . import get_include_args
+ from ..dependencies import Dependency, InternalDependency
+ from ..interpreterbase import FeatureNew, InvalidArguments, noPosargs, noKwargs
+ from ..interpreter import CustomTargetHolder
+@@ -191,7 +190,7 @@ def process_dependencies(self, deps):
+         for dep in mesonlib.listify(ensure_list(deps)):
+             dep = getattr(dep, "held_object", dep)
+             if isinstance(dep, InternalDependency):
+-                inc_args = get_include_args(dep.include_directories)
++                inc_args = self.state.get_include_args(dep.include_directories)
+                 cflags.update([self.replace_dirs_in_string(x)
+                                for x in inc_args])
+                 cflags.update(self.process_dependencies(dep.libraries))
+diff --git a/mesonbuild/modules/qt.py b/mesonbuild/modules/qt.py
+index b7389bd59af..1bf0099d1df 100644
+--- a/mesonbuild/modules/qt.py
++++ b/mesonbuild/modules/qt.py
+@@ -23,7 +23,7 @@
+ from ..mesonlib import MesonException, extract_as_list, File, unholder, version_compare
+ from ..dependencies import Dependency
+ import xml.etree.ElementTree as ET
+-from . import ModuleReturnValue, get_include_args, ExtensionModule
++from . import ModuleReturnValue, ExtensionModule
+ from ..interpreterbase import noPosargs, permittedKwargs, FeatureNew, FeatureNewKwargs
+ from ..interpreter import extract_required_kwarg
+ from ..programs import NonExistingExternalProgram
+@@ -239,7 +239,7 @@ def preprocess(self, state, args, kwargs):
+             ui_gen = build.Generator([self.uic], ui_kwargs)
+             ui_output = ui_gen.process_files(f'Qt{self.qt_version} ui', ui_files, state)
+             sources.append(ui_output)
+-        inc = get_include_args(include_dirs=include_directories)
++        inc = state.get_include_args(include_dirs=include_directories)
+         compile_args = []
+         for dep in unholder(dependencies):
+             if isinstance(dep, Dependency):
+diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py
+index d7a86380885..c4fdc196681 100644
+--- a/mesonbuild/modules/windows.py
++++ b/mesonbuild/modules/windows.py
+@@ -19,7 +19,6 @@
+ from .. import mlog
+ from .. import mesonlib, build
+ from ..mesonlib import MachineChoice, MesonException, extract_as_list, unholder
+-from . import get_include_args
+ from . import ModuleReturnValue
+ from . import ExtensionModule
+ from ..interpreter import CustomTargetHolder
+@@ -83,12 +82,12 @@ def compile_resources(self, state, args, kwargs):
+         wrc_depends = extract_as_list(kwargs, 'depends', pop = True)
+         for d in wrc_depends:
+             if isinstance(d, CustomTargetHolder):
+-                extra_args += get_include_args([d.outdir_include()])
++                extra_args += state.get_include_args([d.outdir_include()])
+         inc_dirs = extract_as_list(kwargs, 'include_directories', pop = True)
+         for incd in inc_dirs:
+             if not isinstance(incd.held_object, (str, build.IncludeDirs)):
+                 raise MesonException('Resource include dirs should be include_directories().')
+-        extra_args += get_include_args(inc_dirs)
++        extra_args += state.get_include_args(inc_dirs)
+ 
+         rescomp, rescomp_type = self._find_resource_compiler(state)
+         if rescomp_type == ResourceCompilerType.rc:
+diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml
+index 95f73efdf45..6ccd087dc18 100644
+--- a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml	
++++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml	
+@@ -35,7 +35,7 @@
+     </partintro>
+     <xi:include href="xml/foo.xml"/>
+     <xi:include href="../../include/bar.xml"/>
+-    <xi:include href="xml/foo-version.xml"/>
++    <xi:include href="xml/version.xml"/>
+   </reference>
+ 
+ </book>
+diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt
+new file mode 100644
+index 00000000000..d14c8dab010
+--- /dev/null
++++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt	
+@@ -0,0 +1,16 @@
++<SECTION>
++<FILE>foo</FILE>
++<TITLE>FooObj</TITLE>
++FooObj
++FooObjClass
++foo_do_something
++</SECTION>
++
++<SECTION>
++<FILE>version</FILE>
++<TITLE>version</TITLE>
++FOO_MAJOR_VERSION
++FOO_MINOR_VERSION
++FOO_MICRO_VERSION
++</SECTION>
++
+diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types
+new file mode 100644
+index 00000000000..0a9c046f3ed
+--- /dev/null
++++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types	
+@@ -0,0 +1,4 @@
++% This include is useless it's a regression test for https://github.com/mesonbuild/meson/issues/8744
++#include <foo.h>
++
++foo_obj_get_type
+diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build b/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build
+index 149c6e956aa..f4b3724dbae 100644
+--- a/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build	
++++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build	
+@@ -1,5 +1,9 @@
+ gnome.gtkdoc('foobar',
+-  src_dir : inc,
++  src_dir : [inc, '.'],
+   main_sgml : 'foobar-docs.sgml',
+   content_files : [docbook, version_xml],
++  dependencies: foo_dep,
++  # Manually written types file for regression test:
++  # https://github.com/mesonbuild/meson/issues/8744
++  gobject_typesfile: 'foobar.types',
+   install : true)
+diff --git a/test cases/frameworks/10 gtk-doc/foo.c b/test cases/frameworks/10 gtk-doc/foo.c
+new file mode 100644
+index 00000000000..36c0639ec08
+--- /dev/null
++++ b/test cases/frameworks/10 gtk-doc/foo.c	
+@@ -0,0 +1,30 @@
++#include <foo.h>
++
++
++struct _FooObj {
++  GObject parent;
++  int dummy;
++};
++
++G_DEFINE_TYPE(FooObj, foo_obj, G_TYPE_OBJECT)
++
++static void foo_obj_init (FooObj *self)
++{
++}
++
++static void foo_obj_class_init (FooObjClass *klass)
++{
++}
++
++/**
++ * foo_do_something:
++ * @self: self
++ *
++ * Useless function.
++ *
++ * Returns: 0.
++ */
++int foo_do_something(FooObj *self)
++{
++  return 0;
++}
+diff --git a/test cases/frameworks/10 gtk-doc/include/foo.h b/test cases/frameworks/10 gtk-doc/include/foo.h
+index 7b8946b6a86..510f3d1ecb5 100644
+--- a/test cases/frameworks/10 gtk-doc/include/foo.h	
++++ b/test cases/frameworks/10 gtk-doc/include/foo.h	
+@@ -1,5 +1,7 @@
+ #pragma once
+ 
++#include <glib-object.h>
++
+ /**
+  * FooIndecision:
+  * @FOO_MAYBE:     Something maybe
+@@ -13,3 +15,19 @@ typedef enum {
+     FOO_POSSIBLY,
+ } FooIndecision;
+ 
++/**
++ * FooObjClass:
++ *
++ * The class
++ */
++
++/**
++ * FooObj:
++ *
++ * The instance
++ */
++
++#define FOO_TYPE_OBJ foo_obj_get_type()
++G_DECLARE_FINAL_TYPE(FooObj, foo_obj, FOO, OBJ, GObject)
++
++int foo_do_something(FooObj *self);
+diff --git a/test cases/frameworks/10 gtk-doc/meson.build b/test cases/frameworks/10 gtk-doc/meson.build
+index 5c22ad0afa4..292980fafa7 100644
+--- a/test cases/frameworks/10 gtk-doc/meson.build	
++++ b/test cases/frameworks/10 gtk-doc/meson.build	
+@@ -24,4 +24,16 @@ if gtkdoc_ver.version_compare('<1.26')
+   error('MESON_SKIP_TEST gtk-doc test requires gtkdoc >= 1.26.')
+ endif
+ 
++gobject = dependency('gobject-2.0')
++
++libfoo = library('foo', 'foo.c',
++  include_directories: inc,
++  dependencies: gobject,
++)
++
++foo_dep = declare_dependency(
++  link_with: libfoo,
++  include_directories: inc,
++)
++
+ subdir('doc')
+diff --git a/test cases/frameworks/10 gtk-doc/test.json b/test cases/frameworks/10 gtk-doc/test.json
+index c44126cc741..03ad0595817 100644
+--- a/test cases/frameworks/10 gtk-doc/test.json	
++++ b/test cases/frameworks/10 gtk-doc/test.json	
+@@ -4,8 +4,8 @@
+     {"type": "file", "file": "usr/share/gtk-doc/html/foobar/BAR.html"},
+     {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar.devhelp2"},
+     {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar.html"},
+-    {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar-foo.html"},
+-    {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar-foo-version.html"},
++    {"type": "file", "file": "usr/share/gtk-doc/html/foobar/FooObj.html"},
++    {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foo-version.html"},
+     {"type": "file", "file": "usr/share/gtk-doc/html/foobar/home.png"},
+     {"type": "file", "file": "usr/share/gtk-doc/html/foobar/index.html"},
+     {"type": "file", "file": "usr/share/gtk-doc/html/foobar/left.png"},
diff --git a/poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch b/poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch
deleted file mode 100644
index 772395e..0000000
--- a/poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-meson.build files that use cc.run() in native builds can silently fallback to
-meson.get_cross_property() in cross builds without an exe-wrapper, but there's
-no way to know that this is happening.
-
-As the defaults may be pessimistic (for example, disabling the support for a
-feature that should be enabled) emit a warning when the default is used, so that
-the recipe can explicitly set the cross property as relevant.
-
-Upstream-Status: Submitted [https://github.com/mesonbuild/meson/pull/5071]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
-index 3c3cfae0..10e741ae 100644
---- a/mesonbuild/interpreter.py
-+++ b/mesonbuild/interpreter.py
-@@ -1890,6 +1890,7 @@ class MesonMain(InterpreterObject):
-             return props[propname]
-         except Exception:
-             if len(args) == 2:
-+                mlog.warning('Cross property %s is using default value %s' % (propname, args[1]))
-                 return args[1]
-             raise InterpreterException('Unknown cross property: %s.' % propname)
- 
diff --git a/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch b/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch
index 25b30ca..29e164c 100644
--- a/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch
+++ b/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch
@@ -3,7 +3,7 @@
 native pkg-config can be used and the build will try to link native and host
 binaries together.
 
-Upstream-Status: Pending
+Upstream-Status: Backport [589236226856f591c9e8daf0cb7aa1aef8862388]
 Signed-off-by: Ross Burton <ross.burton@arm.com>
 
 diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
diff --git a/poky/meta/recipes-devtools/meson/meson_0.57.1.bb b/poky/meta/recipes-devtools/meson/meson_0.58.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/meson/meson_0.57.1.bb
rename to poky/meta/recipes-devtools/meson/meson_0.58.0.bb
diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.57.1.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.0.bb
similarity index 78%
rename from poky/meta/recipes-devtools/meson/nativesdk-meson_0.57.1.bb
rename to poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.0.bb
index 8778cab..74e1a71 100644
--- a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.57.1.bb
+++ b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.0.bb
@@ -1,21 +1,11 @@
 include meson.inc
 
-inherit siteinfo
+inherit meson-routines
 inherit nativesdk
 
 SRC_URI += "file://meson-setup.py \
             file://meson-wrapper"
 
-def meson_endian(prefix, d):
-    arch, os = d.getVar(prefix + "_ARCH"), d.getVar(prefix + "_OS")
-    sitedata = siteinfo_data_for_machine(arch, os, d)
-    if "endian-little" in sitedata:
-        return "little"
-    elif "endian-big" in sitedata:
-        return "big"
-    else:
-        bb.fatal("Cannot determine endianism for %s-%s" % (arch, os))
-
 # The cross file logic is similar but not identical to that in meson.bbclass,
 # since it's generating for an SDK rather than a cross-compile. Important
 # differences are:
@@ -44,7 +34,7 @@
 
 [host_machine]
 system = '${SDK_OS}'
-cpu_family = '${SDK_ARCH}'
+cpu_family = '${@meson_cpu_family("SDK_ARCH", d)}'
 cpu = '${SDK_ARCH}'
 endian = '${@meson_endian("SDK", d)}'
 EOF