subtree updates

meta-raspberrypi: 90b3ac6fb3..836755370f:
  Alexandru Costache (3):
        conf/machine: Add Pi Zero 2 Wifi 64bit yocto machine
        linux-firmware-rpidistro: Package bcm43436 and bcm43436s firmware
        linux-raspberrypi: Bump to 5.10.78

  Andrei Gherzan (14):
        raspberrypi-firmware: Bump to 20211007
        linux-raspberrypi: Bump 5.10 to 5.10.76
        linux-raspberrypi: Drop 5.4
        README.md: Fix docs and minor tweaks
        docs: Bump copyright year
        README.md: Fix sponsor table
        README.md: Fix sponsor table take two
        docs: Fix RtD build
        docs: Add module dependency/requirement for RtD
        docs: Advertise raspberrypi0-2w-64 supported machine
        Update references to Yocto mailing list
        README.md: Fix the matrix chat link
        libwpe: Migrate build workaround from oe-core
        rpi-config: Take into consideration ENABLE_UART value of 0

  Cameron Kellough (1):
        rpi-base.inc: Added gpio-poweroff overlay. Some machines need to have the kernel toggle a gpio when an external power source needs to shut off power to complete a shutdown and de-energize the processor.  gpio-poweroff provides this functionality but was omitted from the kernel overlays brought oveer by the rpi-layer from the kernel. Signed-off-by: Cameron Kellough <cameron@telemetrak.com>

  Joel Winarske (1):
        mesa: Enable building vulkan driver

  Khem Raj (4):
        linux-firmware-rpidistro: Use bullseye branch
        parselogs: Update the error regexps to 5.10 kernel
        linux-raspberrypi: Upgrade to 5.10.81
        weston-init: Add --continue-without-input option to weston

  Marcel Hamer (1):
        recipes: Update SRC_URI protocols for github

  Martin Jansa (1):
        rpi-config: don't trigger bbfatal for empty ENABLE_UART

  Peter A. Bigot (1):
        conf/machine: add variant Wi-Fi/BT drivers for CM4 and Pi 400

meta-openembedded: 2f6797d8d6..6b63095946:
  Alex Kiernan (2):
        ntpsec: Add recipe
        ntpsec: Add glibc-2.34/kernel-5.14 seccomp fixes

  Alexander Kanavin (23):
        libstatgrab: update 0.92 -> 0.92.1
        open-vpm-tools: update 11.2.5 -> 11.3.5
        libid3tag: add from oe-core
        libportal: add from oe-core
        gtkmm3: add gdk-pixbuf-native to satisfy meson 0.61
        gjs: drop patch to satisfy meson 0.61
        gnome-terminal: backport a meson 0.61 patch
        gnome-bluetooth: backport a meson 0.61 patch
        gnome-font-viewer: backport a meson 0.61 patch
        gnome-session: update 40.1.1 -> 41.3
        gnome-settings-daemon: add a meson 0.61 patch
        gnome-shell: backport a meson 0.61 patch
        accountsservice: backport a meson 0.61 patch
        gnome-screenshot: backport a meson 0.61 patch
        evince: fix meson 0.61 builds
        gnome-calendar: fix meson 0.61 builds
        gthumb: fix meson 0.61 builds
        gedit: add a meson 0.61 patch
        gnome-disk-utility: add a meson 0.61 patch
        gnome-control-center: add a meson 0.61 patch
        gnome-photos: add a meson 0.61 patch
        dconf-editor: add a meson 0.61 patch
        network-manager-applet: add meson 0.61 patch

  Andreas Müller (111):
        xfce4-sensors-plugin: upgrade 1.3.95 -> 1.4.1
        fftw: remove unused patch
        mozjs: Move back to recipes-extended - no meta-python specifics required
        Rename mozjs -> mozjs-91 to allow multiple versions of mozjs
        polkit: Adjust to mozjs-91 in DEPENDS
        mozjs-91: remove static library
        mozjs-78: Initial add
        graphene: enable introspection by default - gtk4 & mutter 41 require it
        graphene: extend to native and nativesdk
        graphene: Tidy up recipe a bit
        gtk4: initial add 4.4.0
        gjs: upgrade 1.58.8 -> 1.70.0
        mutter: upgrade 3.34.6 -> 41.0
        gdm: upgrade 3.36.3 -> 41.0
        upower: upgrade 0.99.11 -> 0.99.13
        udisks2: upgrade 2.9.3 -> 2.9.4
        gnome-settings-daemon: upgrade 3.36.1 -> 41.0
        gnome-shell: upgrade 3.34.5 -> 41.0
        gnome-shell-extensions: upgrade 3.34.2 -> 40.1
        gnome-desktop: upgrade 3.38.8 -> 41.0 and give up '3' receipe name suffix
        gnome-session: upgrade 3.36.0 -> 40.1.1
        gnome-control-center: upgrade 3.36.4 -> 41.1
        gexiv2: upgrade 0.12.2 -> 0.14.0
        gparted: upgrade 1.3.0 -> 1.3.1
        gnome-backgrounds: upgrade 3.38.0 -> 41.0
        gnome-tweaks: upgrade 3.34.0 -> 40.0
        gnome-terminal: upgrade 3.40.2 -> 3.42.0 / meson build
        gnome-panel: upgrade 3.36.1 -> 3.38.0
        grilo: upgrade 0.3.13 -> 0.3.14
        grilo-plugins: upgrade 0.3.13 -> 0.3.14
        mozjs-91: Fix build on powerpc
        gdm: Fix REQUIRED_DISTRO_FEATURES broken by adding introspection
        gnome-control-center: Add libhandy to DEPENDS
        gnome-backgrounds: Fix licenses
        poppler: upgrade 21.10.0 -> 21.11.0
        xfce4-whiskermenu-plugin: upgrade 2.5.3 -> 2.6.2
        ristretto: upgrade 0.11.0 -> 0.12.0
        xfce4-cpugraph-plugin: upgrade 1.2.3 -> 1.2.5
        xfce4-sensors-plugin: upgrade 1.4.1 -> 1.4.2
        catfish: upgrade 4.16.0 -> 4.16.3
        mousepad: upgrade 0.5.5 -> 0.5.7
        libxfce4ui: upgrade 4.16.0 -> 4.16.1
        fluidsynth: upgrade 2.2.2 -> 2.2.3
        vlc: Fix build with un-renameed native libtool
        fltk: upgrade 1.3.7 -> 1.3.8
        xfce4-whiskermenu-plugin: upgrade 2.6.2 -> 2.7.1
        ristretto: upgrade 0.12.0 -> 0.12.1
        mousepad: upgrade 0.5.7 -> 0.5.8
        poppler: upgrade 21.11.0 -> 21.12.0
        menulibre: upgrade 2.2.1 -> 2.2.3
        fluidsynth: upgrade 2.2.3 -> 2.2.4
        gegl: upgrade 0.4.30 -> 0.4.34
        gimp: upgrade 2.10.24 -> 2.10.30
        mpv: upgrade 0.33.1 -> 0.34.0
        gupnp: upgrade 1.2.7 -> 1.4.1
        gupnp: merge recipe with inc-file
        gupnp-av: upgrade 0.12.11 -> 0.14.0 / build with mesa
        gupnp-av: merge recipe with inc-file
        gupnp-dlna: upgrade 0.10.5 -> 0.12.0 / build with meson
        gupnp-igd: upgrade 0.2.5 -> 1.2.0 / build with meson
        gupnp-tools: upgrade 0.10.0 -> 0.10.2 / prettify recipe
        gtkwave: upgrade 3.3.109 -> 3.3.111
        blueman: upgrade 2.2.1 -> 2.2.3
        geany: upgrade 1.37.1 -> 1.38
        geany-plugins: upgrade 1.37 -> 1.3.8
        gnuplot: upgrade 5.4.1 -> 5.4.2
        gtksourceview5: initial add 5.2.0
        amtk: upgrade 5.2.0 -> 5.3.1 / build with meson
        evince: upgrade 40.4 -> 41.3
        evolution-data-server: upgrade 3.40.2 -> 3.42.2
        gnome-autoar: upgrade 0.3.3 -> 0.4.1 / build with meson
        gnome-calculator: upgrade 40.1 -> 41.1
        gnome-calendar; upgrade 41.0 -> 41.2
        gnome-control-center: upgrade 41.1 -> 41.2
        gnome-desktop: upgrade 41.0 -> 41.2
        gnome-disk-utility: upgrade 40.1 -> 41.0
        gnome-flashback: upgrade 3.40.0 -> 3.42.1
        gnome-font-viewer: upgrade 40.0 -> 41.0
        gnome-screenshot: upgrade 40.0 -> 41.0
        gnome-shell: upgrade 41.0 -> 41.2
        gnome-shell-extensions: upgrade 41.0 -> 41.1
        gnome-system-monitor: upgrade 40.1 -> 41.0
        gnome-terminal: upgrade 3.42.0 -> 3.42.1
        gsound: upgrade 1.0.2 -> 1.0.3 / build with meson
        gthumb: upgrade 3.10.3 -> 3.12.0
        gtksourceview4: upgrade 4.8.1 -> 4.8.2
        libgsf: upgrade 1.14.47 -> 1.14.48
        libgtkstylus: remove
        metacity: upgrade 3.40.0 -> 3.42.0
        mutter: upgrade 41.0 -> 41.2
        nautilus: upgrade 40.2 -> 41.1
        gnome-shell: Add gnome-desktop to RDEPENDS
        Drop gnome-desktop3 providers
        Rename gnome-menus3 -> gnome-menus
        packagegroup-gnome-desktop: Mark TUNE_PKGARCH specific
        mozjs-78: Shelve breaking lib rename/linking & split lib to separate package
        mozjs-78: renumber patches
        gnome-shell-extensions: Enable gnome-classic session for wayland
        zenity: Upgrade 3.32.0 -> 3.41.0 / meson build / rework
        yelp: upgrade 41.1 -> 41.2
        yelp-xsl: upgrade 41.0 -> 41.1
        usermode: upgrade 1.113 -> 1.114
        sysprof: upgrade 3.42.0 -> 3.42.1
        gnome-terminal: upgrade 3.42.1 -> 3.42.2
        gnome-panel: upgrade 3.38.0 -> 3.42.0
        gnome-autoar: upgrade 0.4.1 -> 0.4.2
        evolution-data-server: upgrade 3.42.2 -> 3.42.3
        poppler: upgrade 21.12.0 -> 22.01.0
        exo: upgrade 4.16.1 -> 4.16.3
        imsettings: upgrade 1.8.2 -> 1.8.3
        thunar: upgrade 4.16.8 -> 4.16.9

  Andrei Gherzan (2):
        mosquitto: Don't depends on dlt-daemon unconditionally
        python3-pymetno: Introduce recipe on 0.7.0

  Andrey Zhizhikin (1):
        gpsd: fix clang buid via export CC explicitly

  Armin Kuster (6):
        ldns: update to 1.8.1
        strongswan: provide PACKAGECONFIG for cureve25519
        strongswan: add tpm PACKAGECONFIG
        strongswan: add integrity options
        strongswan: remove redundant DEPENDS
        wireshark: update to latest stable 3.4.11

  Bartosz Golaszewski (6):
        python3-email-validator: new package
        libgpiod: ptest: rrecommend python3-unittest when building python tests
        libgpiod: ptest: rrecommend coreutils
        libgpiod: ptest: redirect stderr to stdout for test executables
        cmatrix: new package
        python3-zeroconf: bump version 0.36.13 -> 0.38.1

  Bhargav Das (1):
        python3-colorzero: add recipe for python colorzero

  Bruce Ashfield (2):
        vboxguestdrivers: fix build against 5.15 kernel/libc-headers headers
        python: remove recipes imported to oe-core

  Changqing Li (5):
        mozjs-78: fix do_configure failure
        mozjs-91: fix do_configure failure
        mozjs-91/mozjs-78: fix compile failure on centos7
        php: correct module name and library name
        postgresql: fix CVE-2021-23214,CVE-2021-23222

  Christian Eggers (5):
        gpsd: remove obsolete files from FILES:${PN}-dev
        gpsd: remove obsolete libgpsd package
        gpsd: remove obsolete files from FILES:gps-utils
        gpsd: list files for gps-utils individually
        python3-gcovr: add recipe

  Claude Bing (2):
        php: update from 7.4.21 to 8.0.12
        php: use qemu wrapper to build minilua

  Claus Stovgaard (3):
        Added usbip-tools for kernel USB/IP
        Add gutenprint to meta-oe
        Add pycups - python bindings for CUPS

  Ed Tanous (1):
        Update to new version of boost-uri

  Fathi Boudra (1):
        makedumpfile: upgrade from 1.6.9 to 1.7.0

  Geoff Parker (2):
        python3-cchardet: add BBCLASSEXTEND = "native nativesdk"
        python3-aiosignal, python3-frozenlist: Add native & nativestdk package support

  Gianfranco (2):
        vboxguestdrivers: upgrade 6.1.28 -> 6.1.30
        vboxguestdrivers: drop md5sum from SRC_URI.

  He Zhe (1):
        protobuf: Fix static init fiasco

  Hongxu Jia (5):
        ostree: add nativesdk support
        ostree: use Yocto mirror
        ostree: workaround compile error with option gcc option -Og
        libblockdev: Do not include duplicate entries in bd_lvm_lvs output
        grubby: fix conflict with debianutils

  Jacob Kroon (1):
        Revert "ccid: Fix floating runtime dependency on flex"

  Jan Vermaete (6):
        netdata: Using the github.com release + upstream_check.
        netdata: from 1.22.1 to 1.32.0
        netdata: version bump from 1.32.0 to 1.32.1
        netdata: fixed some oelint-adv issues in the recipe.
        netdata: do not send anonymous statistics by default.
        netdata: fix for commit 8554624cc7f84e6b63b2ea4b94ee5fd2821021ca

  Jeremy A. Puhlman (1):
        cdrkit: remove ${PN} from ${PN}-dev RDEPENDS

  Jeremy Kerr (4):
        mctp: upgrade to v1.0
        mctp: install dbus service configuration
        contrib: allow override-style syntax for vars & routines
        contrib: fix python warnings for oe-stylize

  Joshua Watt (8):
        colord: introspection is not valid meson option
        gdm: introspection is not valid meson option
        gnome-settings-daemon: introspection is not valid meson option
        gnome-shell: introspection is not valid meson option
        gnome-control-center: Fixup polkit directory permissions
        gnome-online-accounts: Switch back to libsoup2
        graphene: Move from meta-gnome -> meta-oe
        jemalloc: Fix license file

  Kai Kang (1):
        libqb: use branch main

  Khem Raj (97):
        bitwise: Fix build with latest ncurses 6.3+
        libcdio: Fix build with ncurses 6.3+
        nmon: Upgrade to 16m
        sysdig: Fix build with ncurses 6.3+
        iptraf-ng: Upgrade to 1.2.1
        tiptop: Fix build with ncurses 6.3+
        mtr: Fix build with ncurses 6.3+
        mtr: Explicitly use branch= in SRC_URI
        liburing: Use libc mmap() wrapper instead of calling __NR_mmap syscall directly
        protobuf: Upgrade to 3.19.1
        protobuf: Disable tailcall on mips/clang
        packagegroup-meta-python: Add python3-imgtool
        python3-prctl: Use https protocol for git fetcher
        mozjs-78: Check for big-endian icu data file existence before creating it
        mozjs-78: Set X lib/include paths
        mozjs-78: Pass C/C++ flags to js configure
        libjs-jquery-globalize: Use a proper SHA in SRCREV instead of tag
        iptraf-ng: Create /var/log and /var/lib subdirs at runtime
        gstd: Remove empty /var/volatile/log
        monkey: Keep /var/volatile empty
        hiawatha: Create /var/log /var/run at runtime
        python3-kivy: Use branch parameter in SRC_URI
        mdns: Upgrade to 1310.140.1
        packagegroup-meta-networking: Enable mdns on musl systems
        ntpsec: Disable seccomp on musl/rv32
        ntpsec: Disable documentation
        packagegroup-meta-networking: Add ntpsec
        sdbus-c++-libsystemd: Fix build with kernel 5.15+
        mctp: Fix build with 5.15+ kernel headers
        packagegroup-meta-python.bb: Add python3-pytz-deprecation-shim
        packagegroup-meta-oe: Add fwupd and fwupd-efi
        protobuf-c: Export native protoc
        linpack: Build both sp and dp binaries
        php: Build minilua for build host
        xf86-video-ati: Upgrade to 19.1.0
        sdbus-c++-libsystemd: Upgrade to 249.5
        xf86-video-nouveau: fixup driver for new X server ABI
        tracker: introspection is not valid meson option
        gnome-desktop: introspection is not valid meson option
        libmediaart: introspection is not valid meson option
        libgweather: introspection is not valid meson option
        tepl: introspection is not valid meson option
        gjs: introspection is not valid meson option
        tracker-miners: introspection is not valid meson option
        gedit: introspection is not valid meson option
        tracker,tracker-miners: Upgrade to 3.2.1
        gnome-tweaks: introspection is not valid meson option
        colord-gtk: introspection is not valid meson option
        packagegroup-meta-python: Add python3-gcovr
        ippool: silence a DeprecationWarning
        packagegroup-meta-oe: Add pim435
        influxdb: Upgrade to 1.8.10
        influxdb: Fix build with Go 1.17 on x86_64
        packagegroup-core-clutter: Mark TUNE_PKGARCH specific
        packagegroup-xfce-base: Mark TUNE_PKGARCH specific
        libcamera: Fix build break on musl
        meta-networking,meta-python: Fix README for yocto check layer
        gjs: Link with libatomic on rv32
        ntpsec: Disable seccomp on riscv32
        libunix-statgrab: Use compiler driver for linking as well
        tbb: Upgrade to 2021.4.0
        packagegroup-meta-oe: Add unifex
        gjs: Fix build failures with meson 0.60.2
        packagegroup-meta-perl: Add new packages
        packagegroup-meta-python: Add python3-pymetno
        yelp: Add option to support webkit2gtk-4-0
        surf: Add soup3 patch conditionally
        netdata: Link libatomic on mips
        gssdp: Use sniffer only when gnome layer is in mix
        packagegroup-meta-oe: Add graphene
        inotify-tools: Upgrade to 3.21.9.6
        inotify-tools: Disable -Werror
        python3-matplotlib: Generate correctly names setup config file
        inotify-tools: Fix build on musl
        libkcapi: Fix build with musl
        packagegroup-meta-oe: Add gutenprint, python3-pycups and usbip-tools
        tvheadend: Disable dvbscan
        pkcs11-helper: Fix build with nss >= 3.73.1
        tbb: Disable LTO on rv64
        packagegroup-meta-python: Add python3-colorzero
        packagegroup-meta-oe: Add cmatrix
        pcp: Fix build to exclude qt5
        packagegroup-meta-oe: Add dool and pcp
        nautilus: Fix build with libportal >= 0.5
        influxdb: Enable network during do_compile
        meta-oe: Use setuptools3-base
        thunar: Depend on libxml-parser-perl-native
        python3-matplotlib: Do not use setuptools_scm_git_archive
        python3-pytest-helpers-namespace: Enable network during do_compile
        python3-pybind11: Use setuptools3 instead of distutils3 functions
        pcp: Fix build race condition
        tnftp: Add missing header stdc-predef.h
        jemalloc: Fix build with glibc 2.35+clang
        packagegroup-meta-oe: Add duktape
        iotop: Use lld with clang on arm
        meta-xfce: Convert catfish and menulibre to use setuptools3
        sdbus-c++-libsystemd: Fix build on musl

  Konrad Weihmann (3):
        python3-wtforms: add missing dependencies
        python3-execnet: depend on setuptools-scm
        python3-lazy-object-proxy: upgrade 1.6.0 > 1.7.1

  Lei Maohui (1):
        sysprof: Added json-glib into DEPENDS to fix build error.

  Leif Middelschulte (1):
        dbus-daemon-proxy: add missing `return` statement

  Leon Anavi (92):
        python3-qrcode: Upgrade 7.3 -> 7.3.1
        python3-bidict: Upgrade 0.21.2 -> 0.21.4
        python3-pint: Upgrade 0.17 -> 0.18
        python3-prettytable: Upgrade 2.2.1 -> 2.3.0
        python3-astroid: Upgrade 2.8.2 -> 2.8.4
        python3-isort: Upgrade 5.9.3 -> 5.10.0
        python3-aenum: Upgrade 3.1.0 -> 3.1.2
        python3-natsort: Upgrade 7.1.1 -> 8.0.0
        python3-cachecontrol: Upgrade 0.12.6 -> 0.12.9
        python3-wrapt: Upgrade 1.13.2 -> 1.13.3
        python3-prettytable: Upgrade 2.3.0 -> 2.4.0
        python3-imageio: Upgrade 2.10.1 -> 2.10.3
        python3-pytz-deprecation-shim: Add recipe
        python3-tzlocal: Upgrade 4.0.1 -> 4.1
        python3-soupsieve: Upgrade 2.2.1 -> 2.3
        python3-configparser: Upgrade 5.0.2 -> 5.1.0
        python3-yappi: Upgrade 1.3.2 -> 1.3.3
        python3-pydicti: Upgrade 1.1.4 -> 1.1.6
        python3-zeroconf: Upgrade 0.36.9 -> 0.36.12
        python3-yarl: Upgrade 1.7.0 -> 1.7.2
        python3-elementpath: Upgrade 2.3.2 -> 2.4.0
        python3-astroid: Upgrade 2.8.4 -> 2.8.5
        python3-coverage: Upgrade 6.1.1 -> 6.1.2
        python3-aenum: Upgrade 3.1.3 -> 3.1.5
        python3-zeroconf: Upgrade 0.36.12 -> 0.36.13
        python3-bandit: Uprade 1.7.0 -> 1.7.1
        python3-colorlog: Upgrade 6.5.0 -> 6.6.0
        python3-soupsieve: Upgrade 2.3 -> 2.3.1
        python3-cchardet: Add recipe
        python3-charset-normalizer: Add recipe
        python3-frozenlist: Add recipe
        python3-aiosignal: Add recipe
        python3-aiohttp: Upgrade 3.8.0 -> 3.8.1
        packagegroup-meta-python.bb: Add new packages
        python3-eventlet: Upgrade 0.32.0 -> 0.33.0
        python3-imageio: Upgrade 2.10.3 -> 2.10.5
        python3-deprecated: Upgrade 1.2.12 -> 1.2.13
        python3-parso: Add runtime dependencies
        python3-jedi: Upgrade 0.18.0 -> 0.18.1
        python3-prompt-toolkit: Upgrade 3.0.21 -> 3.0.22
        python3-imageio: Upgrade 2.10.5 -> 2.11.0
        python3-cmd2: Upgrade 2.3.0 -> 2.3.1
        python3-simplejson: Upgrade 3.17.5 -> 3.17.6
        python3-aiohue: Upgrade 2.6.3 -> 3.0.1
        python3-imageio: Upgrade 2.11.0 -> 2.11.1
        python3-marshmallow: Upgrade 3.14.0 -> 3.14.1
        python3-jsonpointer: Upgrade 2.1 -> 2.2
        python3-humanize: Upgrade 3.12.0 -> 3.13.1
        python3-cachecontrol: Upgrade 0.12.9 -> 0.12.10
        python3-prompt-toolkit: Upgrade 3.0.22 -> 3.0.24
        python3-isodate: Upgrade 0.6.0 -> 0.6.1
        python3-pychromecast: Upgrade 10.1.1 -> 10.2.3
        python3-imageio: Upgrade 2.13.3 -> 2.13.5
        python3-psutil: Upgrade 5.8.0 -> 5.9.0
        python3-astroid: Upgrade 2.9.0 -> 2.9.2
        python3-robotframework: Upgrade 4.1.2 -> 4.1.3
        python3-cantools: Upgrade 37.0.0 -> 37.0.1
        python3-diskcache: Upgrade 5.3.0 -> 5.4.0
        python3-typeguard: Upgrade 2.13.2 -> 2.13.3
        python3-huey: Upgrade 2.4.2 -> 2.4.3
        python3-ujson: Upgrade 5.0.0 -> 5.1.0
        python3-google-api-core: Upgrade 2.2.0 -> 2.3.2
        python3-astroid: Upgrade 2.9.2 -> 2.9.3
        python3-urllib3: Upgrade 1.26.7 -> 1.26.8
        python3-rdflib: Upgrade 6.0.2 -> 6.1.1
        python3-bitarray: Upgrade 2.3.4 -> 2.3.5
        python3-asyncio-throttle: Add recipe
        python3-aiohue: Upgrade 3.0.1 -> 3.0.11
        python3-requests: Upgrade 2.26.0 -> 2.27.1
        python3-natsort: Upgrade 8.0.0 -> 8.0.2
        python3-sentry-sdk: Upgrade 1.4.3 -> 1.5.2
        python3-regex: Upgrade 2021.10.8 -> 2021.11.10
        python3-wtforms: Upgrade 3.0.0 -> 3.0.1
        python3-charset-normalizer: Upgarde 2.0.7 -> 2.0.10
        python3-gmpy2: Upgrade 2.1.1 -> 2.1.2
        python3-jdatetime: Upgrade 3.6.4 -> 3.8.1
        python3-fasteners: Upgrade 0.16.3 -> 0.17.2
        python3-jsmin: Upgrade 3.0.0 -> 3.0.1
        python3-croniter: Upgrade 1.1.0 -> 1.2.0
        python3-fastjsonschema: Upgrade 2.15.1 -> 2.15.3
        python3-aenum: Upgrade 3.1.5 -> 3.1.6
        python3-decorator: Upgrade 5.1.0 -> 5.1.1
        python3-pythonping: Upgrade 1.1.0 -> 1.1.1
        python3-dnspython: Upgrade 2.1.0 -> 2.2.0
        python3-frozenlist: Upgrade 1.2.0 -> 1.3.0
        python3-simpleeval: Upgrade 0.9.10 -> 0.9.12
        python3-twine: Upgrade 3.4.1 -> 3.7.1
        python3-pillow: Upgrade 8.3.2 -> 9.0.0
        python3-pycocotools: Upgrade 2.0.2 -> 2.0.4
        python3-paramiko: Upgrade 2.9.1 -> 2.9.2
        python3-sentry-sdk: Upgrade 1.5.2 -> 1.5.3
        imageio: Upgrade 2.13.5 -> 2.14.0

  Luca Boccassi (2):
        lvm2: do not install systemd units/initscripts when building native SDK tools
        Add recipe for duktape

  Marek Vasut (4):
        libsdl2-ttf: Remove incorrect x11 from REQUIRED_DISTRO_FEATURES
        freerdp: Upgrade 2.3.0 -> 2.4.1
        freerdp: Add missing libusb1 dependency
        freerdp: Make PCSC dependency optional

  Mark Hatle (1):
        python3-matplotlib: Disable automatic download during do_compile

  Markus Volk (5):
        libgdata: add vala PACKAGECONFIG
        gspell: inherit vala
        gmime: inherit vala
        evolution-data-server: cleanup; enable vala introspection
        folks: initial add recipe

  Martin Jansa (7):
        nodejs: fix build without scrypt
        unicode-ucd: set downloadfilename to include PV
        ntpsec: require x11 in DISTRO_FEATURES
        libgusb: add PACKAGECONFIG for vapi and keep it enabled only when introspection is
        Revert "libgusb: Use the correct args to disable vala support"
        packagegroup-meta-multimedia: include x265 only with commercial in LICENSE_FLAGS_WHITELIST
        simple-mtpfs: add dependency on autoconf-archive

  Matthias Klein (2):
        paho-mqtt-c: upgrade 1.3.8 -> 1.3.9
        paho-mqtt-cpp: new package

  Mauro Anjo (2):
        Upgrade libcamera
        libcamera: Update to latest commit

  Michael Vetter (1):
        jasper: upgrade 2.0.26 -> 2.0.33

  Mingli Yu (6):
        mariadb: Fix openssl 3.x compatibility
        libteam: switch to python3
        libteam: improve the ptest output
        php: Upgrade to 8.1.0
        php: avoid textrel QA Issue warning
        python3-lxml: check the return value

  Nisha Parrakat (1):
        nodejs_16.11.1.bb: only handle npm if configured

  Oleksandr Kravchuk (48):
        python3-protobuf: update to 3.19.0
        python3-google-api-core: update to 2.2.0
        python3-google-api-python-client: update to 2.28.0
        python3-imageio: update to 2.10.1
        python3-pybind11: update to 2.8.1
        liburing: update to 2.1
        protobuf: update to 3.19.0
        wolfssl: update to 5.0.0
        fb-test: fix SRC_URI
        bmon: fix PV
        cpuid: update to 20211129
        gtk4: set UPSTREAM_CHECK_REGEX to stable versions
        iwd: update to 1.20
        libnma: update to 1.8.32
        python3-astroid: update to 2.9.0
        python3-coverage: update to 6.2
        python3-croniter: update to 1.1.0
        python3-diskcache: update to 5.3.0
        python3-graphviz: update to 0.19
        python3-imageio: update to 2.13.3
        python3-iso8601: update to 1.0.2
        python3-ldap: update to 3.4.0
        python3-lz4: update to 3.1.10
        python3-matplotlib: update to 3.5.1
        python3-pymetno: update to 0.9.0
        python3-pywbem: update to 1.3.0
        python3-redis: update to 4.0.2
        python3-wtforms: update to 3.0.0
        soci: update to 4.0.2
        uftrace: update to 0.11
        librdkafka: update to 1.8.2
        gparted: add UPSTREAM_CHECK_URI
        libwacom: update to 1.12
        libsrtp: update to 2.4.2
        dbus-cxx: update to 2.1.0
        sysprof: update to 3.42.0
        gssdp: update to 1.4.0.1
        libkcapi: update to 1.3.1
        python3-lxml: update to 4.7.1
        python3-icu: update to 2.8
        python3-googleapis-common-protos: update to 1.54.0
        python3-gevent: update to 21.12.0
        python3-twitter: update 4.4.0
        python3-contextlib2: update to 21.6.0
        simple-mtpfs: update to 0.4.0
        xl2tpd: update to 1.3.16
        python-cantools: update to 37.0.0
        lirc: replace setuptools3-bas with distutils-common-base

  Ovidiu Panait (1):
        syslog-ng: adjust control socket location

  Patrick Williams (1):
        unifex: add recipe

  Peter Kjellerstedt (16):
        libssh: Support building for native and nativesdk
        corosync: Clean up leftover support for qdevice and qnetd
        corosync: Do not install the /var/log/cluster directory
        collectd: Do not install /var/log
        atop: Do not install the /var/log/atop directory
        openflow: Create /var/log/openflow in runtime
        mongodb: A little clean up
        mongodb: Create /var/log/mongodb in runtime
        opensaf: Create /var/log/opensaf/saflog in runtime
        opensaf: Make sure a file needed by opensafd.service is not removed
        gattlib: Explicitly disable Python support
        googletest: Switch branch from master to main
        libsrtp: Add support for specifying the crypto library
        nodejs: Drop workaround for a Python 2 dependency
        nodejs: Drop workaround for an absolute path in the npm shebang
        nodejs: A little clean up

  Philip Balister (1):
        fftw: Update to fftw-3.3.10

  Philippe Coval (7):
        lv-drivers: Lint recipe
        lv-lib-png: Lint recipe
        lvgl: Introduce global variable for configuration
        lvgl: Add hints about using configuration variables
        lvgl: Support external wayland config
        lvgl: Update to 8.1.0
        pim435: Add recipe for C implementation for userspace driver app

  Pierre-Jean Texier (1):
        libmxml: upgrade 3.2 -> 3.3

  Ramon Fried (1):
        bitwise: Upgrade 0.42 -> 0.43

  Richard Hughes (4):
        libgusb: Use the correct args to disable vala support
        libjcat: Update to 0.1.9
        libxmlb: Update to 0.3.6
        fwupd: Update to 1.7.3

  Richard Purdie (1):
        recipes: Update SRC_URI branch and protocols

  Robert Joslyn (2):
        htop: Update to 3.1.2
        postgresql: Update to 14.1

  Ross Burton (58):
        python3-imgtool: add recipe
        modemmanager: remove intltool-native DEPENDS
        python3-cryptography: backport patches to make this work against OpenSSL 3
        fwupd-efi: add new recipe
        fwupd: add new recipe
        nginx: use ln -rs
        libxmlb: put binary into separate package
        imlib2: clarify license
        xmlrpc-c: set precise BSD license
        xmlrpc-c: remove unused libxml2 dependency
        xmlrpc-c: clean up PACKAGECONFIG
        xmlrpc-c: use gnu-configize
        dash: set precise BSD license
        sg3-utils: set precise BSD license
        nodejs: set precise BSD license
        libkcapi: remove DEPENDS on target libtool
        libkcapi: set precise BSD license
        pcsc-lite: set precise BSD license
        python3-cryptography: set precise BSD license
        python3-crypto-vectors: set precise BSD license
        python3-gevent: use system libraries instead of embedding
        python3-gevent: update license
        python3-lxml: set precise BSD license
        python3-posix-ipc: set precise BSD license
        python3-posix-ipc: remove spurious dependencies
        python3-pyzmq: set precise BSD license
        fwupd: upgrade to 1.7.2
        fwupd: fix dependency typo
        net-snmp: use precise BSD license
        gnome-themes-extra: set correct SRC_URI
        qpdf: remove obsolete support for renamed libtool
        php: remove obsolete support for renamed libtool
        dhcp-relay: remove obsolete support for renamed libtool
        apache2: remove obsolete support for renamed libtool
        xfsdump: remove obsolete support for renamed libtool
        unbound: remove obsolete support for renamed libtool
        cpufrequtils: remove obsolete support for renamed libtool
        gtk+: remove obsolete support for renamed libtool
        apache-websocket: remove obsolete support for renamed libtool
        srecord: remove obsolete support for renamed libtool
        srecord: add libgcrypt PACKAGECONFIG
        srecord: properly initialize libtool
        dhcp-relay: fix rebuilds
        tbb: enable native/nativesdk builds
        fwts: do out-of-tree builds
        tbb: upgrade to 2021.5.0
        python3-scapy: remove redundant pycrypto RDEPENDS
        python3-smbbus: use DISTUTILS_SETUP_PATH
        python3-pycrypto: remove obsolete pycrypto module
        python3-smbus: use setuptools
        python3-greenlet: remove redundant distutils3 inherit
        python3-hexdump: remove
        python3-pyparted: port to setuptools
        python3-dbussy: port to setuptools
        cxxtest: move to setuptools
        iotop: move to the C port of iotop
        sanlock: port to setuptools
        pyxdg: upgrade and remove distutils

  Sakib Sajal (2):
        io-compress-lzma-perl: add recipe for version 2.096
        nss: upgrade 3.64 -> 3.73.1

  Salman Ahmed (2):
        openldap: upgrade 2.4.58 -> 2.5.8
        python3-ldap: for openldap v2.5.8, link with libldap instead of libldap_r

  Sean Nyekjaer (1):
        msgpack-cpp: fix msgpack-cpp is a header only library

  Stanislav Angelovic (1):
        Bump sdbus-c++ to version v1.0.0

  Tim Orling (12):
        python3-gammu: add recipe for v3.2.4
        python3-setuptools-rust-native: add v1.1.2 recipe
        python3-pyruvate: add recipe for v1.1.2
        python3-pytest-subtests: upgrade 0.5.0 -> 0.6.0
        python3-cryptography-vectors: upgrade 35.0.0 => 36.0.1
        python3-cryptography: upgrade 3.3.2 -> 36.0.1
        gammu: upgrade 1.32.0 -> 1.42.0
        tiptop: update download URL and HOMEPAGE
        cmocka: use https protocol for fetching
        pyo3.bbclass: add class for PyO3 cross-compilation
        setuptools3_rust.bbclass: setuptoools Rust plugin
        python3-pyruvate: disable 64 bit atomics for mips

  Trevor Gamblin (7):
        python3-pycparser: RSUGGESTS cpp and cpp-symlinks
        libnftnl: upgrade 1.2.0 -> 1.2.1
        python3-django: upgrade 3.2.5 -> 3.2.10
        libnftnl: add ptest
        python3-django: upgrade 2.2.25 -> 2.2.26
        python3-django: upgrade 3.2.10 -> 3.2.11
        python3-django: Add recipe for 4.0.1

  Wang Mingyu (10):
        gsl: upgrade 2.7 -> 2.7.1
        mozjs: upgrade 91.2.0 -> 91.4.0
        libgusb: upgrade 0.3.8 -> 0.3.9
        python3-pychromecast: upgrade 10.1.0 -> 10.1.1
        python3-websocket-client: upgrade 1.2.1 -> 1.2.3
        python3-sqlalchemy: upgrade 1.4.27 -> 1.4.28
        dnf-plugin-tui: Fix bug when generating CSV file
        sdbus-c++-tools: upgrade 1.0.0 -> 1.1.0
        sdbus-c++-libsystemd: upgrade 249 -> 250.3
        fmt: upgrade 8.0.1 -> 8.1.1

  William A. Kennington III (2):
        ipmitool: Split ipmievd into a separate package
        jq: upgrade 1.6 -> 2021-10-24 git

  Windel Bouwman (1):
        python3-coloredlogs: Added nativesdk

  Xu Huan (35):
        python3-websockets: upgrade 10.0 -> 10.1
        python3-xlsxwriter: upgrade 3.0.1 -> 3.0.2
        python3-socketio: upgrade 5.4.1 -> 5.5.0
        python3-pymongo: upgrade 3.12.0 -> 4.0
        python3-pyephem: upgrade 4.1 -> 4.1.1
        python3-pycparser: upgrade 2.20 -> 2.21
        python3-aiofiles: upgrade 0.7.0 -> 0.8.0
        python3-bitstruct: upgrade 8.11.1 -> 8.12.1
        python3-cmd2: upgrade 2.3.1 -> 2.3.3
        python3-configparser: upgrade 5.1.0 -> 5.2.0
        python3-rsa: upgrade 4.7.2 -> 4.8
        python3-django: upgrade 2.2.24 -> 2.2.25
        python3-gnupg: upgrade 0.4.7 ->0.4.8
        python3-graphviz: upgrade 0.19 -> 0.19.1
        python3-gmpy2: upgrade 2.1.0rc1 -> 2.1.1
        python3-grpcio: upgrade 1.41.1 -> 1.43.0
        python3-sqlalchemy: upgrade 1.4.28 ->1.4.29
        python3-pyro4: upgrade 4.81 -> 4.82
        python3-huey: upgrade 2.4.1 -> 2.4.2
        python3-msgpack: upgrade 1.0.2 -> 1.0.3
        python3-smpplib: upgrade 2.2.0 -> 2.2.1
        python3-wheel: upgrade 0.37.0 -> 0.37.1
        python3-meh: upgrade 0.50 -> 0.50.1
        python3-pandas: upgrade 1.3.4 -> 1.3.5
        python3-paramiko: upgrade 2.8.0 ->2.9.1
        python3-parso: upgrade 0.8.2 -> 0.8.3
        python3-protobuf: upgrade 3.19.0 ->3.19.3
        python3-pymongo: upgrade 4.0 -> 4.0.1
        python3-pynacl: upgrade 1.4.0 -> 1.5.0
        python3-pytest-timeout: upgrade 2.0.1 -> 2.0.2
        python3-socketio: upgrade 5.5.0 -> 5.5.1
        python3-argcomplete upgrade 1.12.3 -> 2.0.0
        python3-async-timeout: upgrade 4.0.0 -> 4.0.2
        python3-engineio: upgrade 4.3.0 -> 4.3.1
        python3-google-api-python-client: upgrade 2.33.0 -> 2.36.0

  Yi Zhao (31):
        netplan: fix hardcoded path for /lib/netplan
        libssh: use https instead of git in SRC_URI
        strongswan: add required kernel modules to RRECOMMENDS
        libldb: upgrade 2.3.0 -> 2.3.2
        samba: upgrade 4.14.8 -> 4.14.10
        libtalloc: fix pyext_PATTERN for cross compilation
        libtdb: fix pyext_PATTERN for cross compilation
        libtevent: fix pyext_PATTERN for cross compilation
        libldb: fix pyext_PATTERN for cross compilation
        samba: fix pyext_PATTERN for cross compilation
        samba: add pyldb to rdepends for samba-python3
        samba: update cross-answers files
        openldap: fix parallel build failure
        openldap: upgrade 2.5.8 -> 2.5.9
        openldap: fix strip issue with new patch
        postfix: upgrade 3.6.2 -> 3.6.3
        openipmi: upgrade 2.0.31 -> 2.0.32
        xmlsec1: enable native build
        upower: add UPSTREAM_CHECK_GITTAGREGEX
        lvm2: add UPSTREAM_CHECK_GITTAGREGEX
        ndctl: add UPSTREAM_CHECK_GITTAGREGEX
        nftables: upgrade 1.0.0 -> 1.0.1
        ipset: upgrade 7.11 -> 7.15
        libnetfilter-queue: upgrade 1.0.3 -> 1.0.5
        bridge-utils: upgrade 1.7 -> 1.7.1
        iscsi-initiator-utils: upgrade 2.1.4. -> 2.1.5
        openldap: ignore the mkdir errors in Makefile
        tnftp: upgrade 20151004 -> 20210827
        dracut: upgrade 051 -> 055
        tree: upgrade 2.0.0 -> 2.0.1
        postfix: upgrade 3.6.3 -> 3.6.4

  Zheng Ruoqin (4):
        spitools: upgrade 1.0.0 -> 1.0.1
        python3-rdflib: upgrade 6.0.0 -> 6.0.2
        python3-typeguard: upgrade 2.13.0 -> 2.13.2
        python3-ujson: upgrade 4.2.0 -> 4.3.0

  leimaohui (5):
        dstat: Deleted terminated project.
        pcp: Added a new recipe which provides dstat command.
        dool: Added a new OSS that forked from dstat project.
        xrdp: Fixed build error with openssl 3.0 and upgraded from 0.9.17 to 0.9.18.
        xorg-xrdp: Upgraded from 0.2.5 to 0.2.18.

  mk (1):
        python3-marshmallow: add recipe at version 3.14.0

  wangmy (79):
        avro-c: upgrade 1.10.2 -> 1.11.0
        botan: upgrade 2.18.1 -> 2.18.2
        c-ares: upgrade 1.17.2 -> 1.18.1
        grpc: upgrade 1.41.0 -> 1.41.1
        libcrypt-openssl-guess-perl: upgrade 0.13 -> 0.14
        fetchmail: upgrade 6.4.21 -> 6.4.23
        iwd: upgrade 1.18 -> 1.19
        debootstrap: upgrade 1.0.124 -> 1.0.126
        jsoncpp: upgrade 1.9.4 -> 1.9.5
        python3-aenum: upgrade 3.1.2 -> 3.1.3
        python3-aiohttp: upgrade 3.7.4 -> 3.8.0
        python3-async-timeout: upgrade 3.0.1 -> 4.0.0
        python3-fastnumbers: upgrade 3.1.0 -> 3.2.1
        python3-google-api-python-client: upgrade 2.28.0 -> 2.30.0
        python3-graphviz: upgrade 0.17 -> 0.18
        python3-httplib2: upgrade 0.20.1 -> 0.20.2
        openvpn: Change the default cipher to AES-256-GCM for server configurations
        ctags: upgrade 5.9.20210905.0 -> 5.9.20211114.0
        libmbim: upgrade 1.26.0 -> 1.26.2
        smcroute: upgrade 2.5.3 -> 2.5.4
        python3-absl: upgrade 0.15.0 -> 1.0.0
        python3-alembic: upgrade 1.7.4 -> 1.7.5
        python3-cmd2: upgrade 2.2.0 -> 2.3.0
        python3-gast: upgrade 0.5.2 -> 0.5.3
        python3-isort: upgrade 5.10.0 -> 5.10.1
        python3-pychromecast: upgrade 9.3.1 -> 10.1.0
        python3-sqlalchemy: upgrade 1.4.26 -> 1.4.27
        wireguard-tools: upgrade 1.0.20210315 -> 1.0.20210914
        cryptsetup: upgrade 2.4.1 -> 2.4.2
        libqb: upgrade 2.0.3 -> 2.0.4
        qpdf: upgrade 10.3.2 -> 10.4.0
        tesseract: upgrade 4.1.1 -> 4.1.3
        thin-provisioning-tools: upgrade 0.8.5 -> 0.9.0
        xmlsec1: upgrade 1.2.32 -> 1.2.33
        libnetfilter-log: upgrade 1.0.1 -> 1.0.2
        python3-autobahn: upgrade 21.3.1 -> 21.11.1
        pure-ftpd: upgrade 1.0.49 -> 1.0.50
        icewm: upgrade 2.8.0 -> 2.9.0
        ostree: upgrade 2021.5 -> 2021.6
        ply: upgrade 2.1.1 -> 2.2.0
        pps-tools: upgrade 1.0.2 -> 1.0.3
        dnf-plugin-tui: Fix a bug with newer version rpm.
        snort: upgrade 2.9.18.1 -> 2.9.19
        cloc: upgrade 1.90 -> 1.92
        python3-scrypt: upgrade 0.8.18 -> 0.8.19
        fio: upgrade 3.28 -> 3.29
        mpich: upgrade 3.4.2 -> 3.4.3
        nano: upgrade 5.9 -> 6.0
        redis-plus-plus: upgrade 1.3.2 -> 1.3.3
        satyr: upgrade 0.38 -> 0.39
        qpdf: upgrade 10.4.0 -> 10.5.0
        tree: upgrade 1.8.0 -> 2.0.0
        libfile-slurper-perl: upgrade 0.012 -> 0.013
        libio-socket-ssl-perl: upgrade 2.072 -> 2.073
        python3-ipython: upgrade 7.28.0 -> 7.30.1
        apache2: upgrade 2.4.51 -> 2.4.52
        python3-pyhamcrest: upgrade 2.0.2 -> 2.0.3
        python3-pymisp: upgrade 2.4.148 -> 2.4.152
        weechat: upgrade 3.0 -> 3.4
        wolfssl: upgrade 5.0.0 -> 5.1.0
        pkcs11-helper: upgrade 1.27 -> 1.28
        bats: upgrade 1.4.1 -> 1.5.0
        doxygen: upgrade 1.9.2 -> 1.9.3
        pcsc-tools: upgrade 1.5.7 -> 1.5.8
        dnfdragora: upgrade 1.1.2 -> 2.1.2
        iwd: upgrade 1.20 -> 1.21
        python3-pyscaffold: upgrade 4.1.1 -> 4.1.4
        python3-supervisor: upgrade 4.2.2 -> 4.2.4
        rdma-core: upgrade 36.0 -> 38.0
        nlohmann-json: upgrade 3.10.4 -> 3.10.5
        protobuf: upgrade 3.19.1 -> 3.19.3
        uriparser: upgrade 0.9.5 -> 0.9.6
        mtr: upgrade 0.94 -> 0.95
        networkmanager: upgrade 1.32.12 -> 1.34.0
        cryptsetup: upgrade 2.4.2 -> 2.4.3
        cups-filters: upgrade 1.27.2 -> 1.28.11
        libmodbus: upgrade 3.1.6 -> 3.1.7
        libsdl2-ttf: upgrade 2.0.15 -> 2.0.18
        monit: upgrade 5.29.0 -> 5.30.0

  zangrc (1):
        python3-smpplib: upgrade 2.1.0 -> 2.2.0

  zhengruoqin (18):
        python3-cantools: upgrade 36.4.0 -> 36.5.0
        python3-coverage: upgrade 6.0.2 -> 6.1.1
        python3-cycler: upgrade 0.10.0 -> 0.11.0
        python3-engineio: upgrade 4.2.1 -> 4.3.0
        python3-grpcio-tools: upgrade 1.41.0 -> 1.41.1
        python3-grpcio: upgrade 1.41.0 -> 1.41.1
        python3-ujson: upgrade 4.3.0 -> 5.0.0
        chrony: upgrade 4.1 -> 4.2
        openvpn: upgrade 2.5.4 -> 2.5.5
        samba: upgrade 4.14.10 -> 4.14.11
        libnet-dns-perl: upgrade 1.32 -> 1.33
        byacc: upgrade 20210808 -> 20211224
        glmark2: upgrade 2021.02 -> 2021.12
        python3-djangorestframework: upgrade 3.12.4 -> 3.13.1
        python3-google-api-python-client: upgrade 2.30.0 -> 2.33.0
        python3-networkx: upgrade 2.6.2 -> 2.6.3
        python3-pyatspi: upgrade 2.38.1 -> 2.38.2
        pugixml: upgrade 1.11.2 -> 1.11.4

poky: d78650b980..27ff420543:
  Adrian Freihofer (1):
        runqemu: support rootfs mounted ro

  Alejandro Hernandez Samaniego (3):
        tclibc-newlib: Supply missing /bin/sh target in newlib sdk
        tclibc-baremetal: Supply missing /bin/sh target in the baremetal sdk
        gcc-cross-canadian: Fix cross canadian compiler for baremetal targets

  Alexander Kanavin (262):
        runqemu: unbreak non-gl displays
        curl: submit patch upstream
        libxml2: submit patch upstream
        psplash: upgrade to latest revision
        python3-gitdb: upgrade 4.0.7 -> 4.0.9
        python3-pyparsing: upgrade 3.0.0 -> 3.0.4
        vala: upgrade 0.54.2 -> 0.54.3
        asciidoc: upgrade 10.0.0 -> 10.0.1
        lighttpd: upgrade 1.4.60 -> 1.4.61
        stress-ng: upgrade 0.13.00 -> 0.13.06
        mesa: upgrade 21.2.4 -> 21.2.5
        linux-firmware: upgrade 20210919 -> 20211027
        puzzles: upgrade to latest revision
        libsoup: upgrade 3.0.1 -> 3.0.2
        libsoup-2.4: upgrade 2.74.0 -> 2.74.1
        nghttp2: upgrade 1.45.1 -> 1.46.0
        diffoscope: upgrade 188 -> 189
        gawk: update 5.1.0 -> 5.1.1
        cmake: update 3.21.3 -> 3.21.4
        ffmpeg: update 4.4 -> 4.4.1
        icu: update 69.1 -> 70.1
        librsvg: update 2.52.2 -> 2.52.3
        xf86-video-intel: update to latest commit
        cracklib: update 2.9.5 -> 2.9.7
        cracklib: patches submitted upstream
        docbook-xml: patch is not upstreamable
        lrzsz: patch is not upstreamable
        libjitterentropy: upgrade 3.3.0 -> 3.3.1
        gdbm: upgrade 1.19 -> 1.22
        perl: backport gdbm 1.2x compatibility fixes
        valgrind: mark ptest-specific patch as inappropriate
        systemd-bootchart: submit musl patches upstream
        librsvg: set the needed atomic configuration flags directly per-target
        libxml2: mark patch as non-upstreamable
        libpcre/libpcre2: correct SRC_URI
        ovmf: submit patch upstream
        mesa-demos: drop glx option and patch
        mesa-demos: mark glew/glu patch as non-upstreamable
        xserver-xorg: update 1.20.13 -> 21.1.1
        xserver-xorg: convert from autotools to meson
        xserver-xorg: add missing libtirpc dependency
        rust: update 1.56.0 -> 1.56.1
        libgpg-error: update 1.42 -> 1.43
        socat: upgrade 1.7.4.1 -> 1.7.4.2
        kexec-tools: update 2.0.22 -> 2.0.23
        python3-hypothesis: upgrade 6.24.0 -> 6.24.2
        python3-numpy: upgrade 1.21.3 -> 1.21.4
        python3-packaging: upgrade 21.0 -> 21.2
        python3-pbr: upgrade 5.6.0 -> 5.7.0
        python3-py: upgrade 1.10.0 -> 1.11.0
        python3-setuptools: upgrade 58.3.0 -> 58.5.3
        python3-pyparsing: update 3.0.4 -> 3.0.5
        vulkan-samples: update to latest revision
        gnu-config: update to latest revision
        libgpg-error: mark patch as non-upstreamable
        valgrind: submit patch upstream
        meson: upgrade 0.59.2 -> 0.60.1
        shared-mime-info: fix meson 0.60 builds
        webkitgtk: submit patches upstream
        webkitgtk: remove unneeded patch
        spirv-headers: PV should be 1.5.4
        ovmf: submit patch upstream
        weston: submit patch upstream
        db: mark all patches as non-upstreamable
        unzip/zip: mark all patches as non-upstreamable
        automake: update 1.16.3 -> 1.16.5
        libunistring: address automake 1.16.5 failures
        gettext: address automake 1.16.5 failures
        ccache: upgrade 4.4.2 -> 4.5
        python3-hypothesis: upgrade 6.24.2 -> 6.24.3
        python3-pyparsing: upgrade 3.0.5 -> 3.0.6
        asciidoc: upgrade 10.0.1 -> 10.0.2
        libpipeline: upgrade 1.5.3 -> 1.5.4
        diffoscope: upgrade 190 -> 192
        piglit: upgrade to latest revision
        systemd: upgrade 249.5 -> 249.6
        xwayland: upgrade 21.1.2 -> 21.1.3
        librstd-rs: submit patches upstream
        curl: update 7.79.1 -> 7.80.0
        librsvg: update 2.52.3 -> 2.52.4
        libsamplerate0: update 0.1.9 -> 0.2.2
        patches: correct whitespace/spelling for Upstream-Status tags
        autoconf: add missing Upstream-Status to patches
        libxml2: add missing Upstream-Status tag
        unfs3: add missing Upstream-Status tag
        kea: add missing Upstream-Status to a patch
        libnl: add missing Upstream-Status tag
        rust-hello-world: add missing Upstream-Status to a patch
        numactl: add missing Upstream-Status to a patch
        expect: do not install examples, drop related patch
        slang: mark patch as inappropriate for upstream submission
        busybox: drop 0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch
        librsvg: submit system-deps patch upstream
        groff: include references to corresponding upstream commits in a patch
        logrotate: add a link to upstream review for one of the patch
        glib-2.0: submit patch upstream
        ell: remove unneeded patch
        apt: drop unneeded chunk from a musl patch, submit the rest upstream
        diffstat: remove unneeded patch
        dpkg: replace a patch with a tweak to an already existing sed fixup
        elfutils: update 0.185 -> 0.186
        elfutils: submit patch upstream
        weston: mark patch as denied
        gptfdisk: submit patch upstream
        git: update 2.33.1 -> 2.34.0
        cmake: update 3.21.4 -> 3.22.0
        systemd: update 249.6 -> 249.7
        vulkan: update 1.2.191.0 -> 1.2.198.0
        bind: update 9.16.22 -> 9.16.23
        python3-packaging: update 21.2 -> 21.3
        python3-setuptools: update 58.5.3 -> 59.2.0
        libcomps: remove unneeded patch
        libdnf: submit patches upstream
        meson: submit patch upstream
        perl-cross: submit patches upstream
        perl: submitted patch upstream
        testimage.bbclass: request the use of kvm by default
        go-helloworld: update to latest revision
        go-helloworld: test at runtime
        python3-rfc3339/3986-validator: correct upstream version check
        go: update 1.16.10 -> 1.17.3
        ovmf: remove patch merged upstream
        insane.bbclass: add a check that Upstream-Status patch tag is present and correctly formed
        perl: replace a patch with a config option
        meson: configure and use generic exe_wrapper
        perlcross: do not copy ${S}/patches into sysroot
        python3: mark patch as inappropriate, with better explanation
        vala: submit patch upstream
        valgrind: remove unneeded patch
        lighttpd: remove unneeded (since meson switch) patch
        stress-ng: submit patch upstream
        zstd: submit patch upstream
        sudo: submit patch upstream
        adwaita-icon-theme: submit patch upstream
        igt-gpu-tools: correct patch status
        wayland: drop unnecessary patch
        xserver-xorg: remove unneeded patch
        kexec-tools: drop unneeded patch
        piglit: submit patches upstream
        systemtap: submit patch upstream
        ffmpeg: submit patch upstream
        libfm: submit patches upstream
        libgcrypt: submit patch upstream
        libgpg-error: submit patch upstream
        lttng: submit patches upstream
        rustfmt: remove the recipe
        python3-pycryptodome: update to 3.12.0
        strace: update 5.14 -> 5.15
        cups: update 2.3.3op2 -> 2.4.0
        erofs-utils: update 1.3 -> 1.4
        rust: update 1.56.1 -> 1.57.0
        git: upgrade 2.34.0 -> 2.34.1
        go: update 1.17.3 -> 1.17.4
        libunwind: update 1.6.0 -> 1.6.2
        libseccomp: update 2.5.2 -> 2.5.3
        bitbake: fetch2/wget: do not hardcode tarball compressors in version check
        ruby: update 3.0.2 -> 3.0.3
        glib-2.0: upgrade 2.70.1 -> 2.70.2
        ell: upgrade 0.45 -> 0.46
        ccache: upgrade 4.5 -> 4.5.1
        mmc-utils: upgrade to latest revision
        python3-hypothesis: upgrade 6.24.3 -> 6.30.0
        python3-markdown: upgrade 3.3.4 -> 3.3.6
        python3-more-itertools: upgrade 8.11.0 -> 8.12.0
        python3-pbr: upgrade 5.7.0 -> 5.8.0
        python3-ruamel-yaml: upgrade 0.17.16 -> 0.17.17
        python3-setuptools: upgrade 59.2.0 -> 59.4.0
        freetype: upgrade 2.11.0 -> 2.11.1
        harfbuzz: upgrade 3.1.1 -> 3.1.2
        vulkan-loader: upgrade 1.2.198.0 -> 1.2.198.1
        mesa: upgrade 21.3.0 -> 21.3.1
        piglit: upgrade to latest revision
        webkitgtk: upgrade 2.34.1 -> 2.34.2
        diffoscope: upgrade 192 -> 194
        enchant2: upgrade 2.3.1 -> 2.3.2
        libsoup: upgrade 3.0.2 -> 3.0.3
        xxhash: upgrade 0.8.0 -> 0.8.1
        kern-tools-native: check tags, not commits for new versions
        libid3tag: move to meta-oe
        bitbake: fetch: add a test for version check where compression changes
        meson: upgrade 0.60.1 -> 0.60.2
        sstatetests: add a test for moving oe-core around in the filesystem
        serf: mark upstream as inactive
        rust-hello-world: test at runtime
        btrfs-tools: upgrade 5.15 -> 5.15.1
        python3-hypothesis: upgrade 6.30.0 -> 6.31.4
        elfutils: update patch submitted upstream
        python3-setuptools: upgrade 59.4.0 -> 59.5.0
        lighttpd: upgrade 1.4.61 -> 1.4.63
        vim: do not report upstream version check as broken
        harfbuzz: upgrade 3.1.2 -> 3.2.0
        less: upgrade 590 -> 598
        alsa: upgrade 1.2.5 -> 1.2.6
        dpkg: update 1.20.9 -> 1.21.1
        piglit: upgrade to latest revision
        go: upgrade 1.17.4 -> 1.17.5
        repo: update 2.18 -> 2.19
        libptytty: add recipe
        boost: update 1.77.0 -> 1.78.0
        rxvt-unicode: upgrade 9.26 -> 9.30
        diffoscope: upgrade 194 -> 196
        debianutils: update 4.11.2 -> 5.5
        libx11: update 1.7.3 -> 1.7.3.1
        libsdl2: update 2.0.16 -> 2.0.18
        runqemu: additional setting to force software rendering with sdl 2.0.18
        cantarell-fonts: update 0.301 -> 0.303.1
        go: log build id computations
        lib/oe/reproducible: correctly set .git location when recursively looking for git repos
        go: correctly set debug-prefix-map and build directory
        go: additional patches to help reproducibility
        selftest/reproducible: drop go items from exception list
        virgl: skip headless test on alma 8
        ruby: disable rdoc due to non-reproducibility
        rust-llvm: apply the same reproducibility patch as for llvm proper
        busybox: update 1.34.1 -> 1.35.0
        systemd: update 249.7 -> 250.1
        python3-numpy: update 1.21.4 -> 1.22.0
        mdadm: update 4.1 -> 4.2
        libportal: update 0.4 -> 0.5
        epiphany: make libportal optional, and move it to meta-oe
        librsvg: update 2.52.4 -> 2.52.5
        qemuboot/runqemu: fully form the ip= kernel parameter
        parselogs: add a couple systemd false positives
        systemd-boot: restore reproducibility
        connman-conf: do nothing in qemu, do not touch eth0
        python3: drop unneeded multiprocessing module patch
        ruby: update 3.0.3 -> 3.1.0
        meson: fold nativesdk into the main recipe
        meson: update 0.60.3 -> 0.61.1
        efivar: update 37 -> 38
        libuv: update 1.42.0 -> 1.43.0
        resolvconf: update 1.87 -> 1.91
        systemd: update 250.1 -> 250.3
        python3: update 3.10.1 -> 3.10.2
        logrotate: update 3.18.1 -> 3.19.0, drop rotate-across-filesystems patches
        sqlite: update 3.37.1 -> 3.37.2
        rust: update 1.57.0 -> 1.58.0
        readline: upgrade 8.1 -> 8.1.2
        socat: upgrade 1.7.4.2 -> 1.7.4.3
        go: upgrade 1.17.5 -> 1.17.6
        shadow: upgrade 4.10 -> 4.11.1
        e2fsprogs: upgrade 1.46.4 -> 1.46.5
        mtools: upgrade 4.0.36 -> 4.0.37
        python3-pygments: upgrade 2.11.1 -> 2.11.2
        python3-pyrsistent: upgrade 0.18.0 -> 0.18.1
        python3-ruamel-yaml: upgrade 0.17.19 -> 0.17.20
        vala: upgrade 0.54.4 -> 0.54.6
        pigz: upgrade 2.6 -> 2.7
        rpcsvc-proto: upgrade 1.4.2 -> 1.4.3
        piglit: upgrade to latest revision
        libinput: upgrade 1.19.2 -> 1.19.3
        xwayland: upgrade 21.1.3 -> 21.1.4
        puzzles: upgrade to latest revision
        webkitgtk: upgrade 2.34.2 -> 2.34.3
        diffoscope: upgrade 199 -> 200
        libsoup: upgrade 3.0.3 -> 3.0.4
        liburcu: upgrade 0.13.0 -> 0.13.1
        ffmpeg: upgrade 4.4.1 -> 5.0
        p11-kit: update 0.24.0 -> 0.24.1
        libunistring: update 0.9.10 -> 1.0
        repo: upgrade 2.19 -> 2.20
        stress-ng: upgrade 0.13.09 -> 0.13.10

  Alexey Brodkin (1):
        openssl: Use linux-latomic target for ARC

  Andreas Müller (1):
        libsdl2: Move to CMake build

  Andrei Gherzan (2):
        gcc: Fix compile of gcc plugins
        gcc: Fix typo in linux64.h install patch

  Andres Beltran (2):
        create-spdx: Set the Organization field via a variable
        create-spdx: Fix key errors in do_create_runtime_spdx

  Anton Mikanovich (1):
        bitbake: process: Do not mix stderr with stdout

  Anuj Mittal (3):
        glibc-version.inc: remove branch= from GLIBC_GIT_URI
        releases.rst: move gatesgarth to outdated releases section
        xserver-xorg: update CVE_PRODUCT

  Bruce Ashfield (69):
        linux-yocto/5.14: update to v5.14.15
        linux-yocto/5.10: update to v5.10.76
        linux-yocto-rt/5.10: update to -rt54
        strace: fix build against 5.15 kernel/kernel-headers
        ppp: fix build against 5.15 headers
        linux-libc-headers: update to v5.15
        linux-yocto/5.15: introduce recipes
        linux-yocto-rt/5.15: update to -rt17
        linux-yocto/5.14: update to v5.14.16
        linux-yocto/5.10: update to v5.10.77
        linux-yocto/5.14: update to v5.14.17
        linux-yocto/5.15: update to v5.15.1
        linux-yocto/5.10: update to v5.10.78
        kernel: provide virtual/kernel for all kernels
        linux-yocto/5.15: update to v5.15.2
        linux-yocto/5.14: update to v5.14.18
        linux-yocto/5.10: update to v5.10.79
        kernel-yocto: conditionally enable stack protection checking on x86-64
        linux-yocto-dev: bump to v5.16+
        kernel: export native PKGCONFIG variables
        python: introduce python3-dtschema
        python: import jsonpointer from meta-python
        python3-jsonpointer: Update 2.1 to 2.2
        python: import jsonschema from meta-python
        python: import idna from meta-python
        python: import rfc3339-validator from meta-python
        python: import rfc3986-validator from meta-python
        python: import webcolors from meta-python
        python: import ruamel-yaml from meta-python
        python: import pyrsistent from meta-python
        python: import rfc3987 from meta-pyton
        python: import strict-rfc3339 from meta-python
        python: import vcversioner from meta-python
        maintainers: update for kernel dtschema checking dependencies
        linux-yocto: export pkgconfig variables to devshell
        kernel: introduce python3-dtschema-wrapper
        linux-yocto-dev: introduce dt-validation PACKAGECONFIG
        linux-yocto/5.14: update to v5.14.21
        linux-yocto/5.15: update to v5.15.5
        linux-yocto/5.10: update to v5.10.82
        linux-yocto/5.15: update to v5.15.6
        linux-yocto-dev: use versioned branch as default
        linux-yocto-rt/5.10: update to -rt56
        kern-tools: bug fixes and kgit-gconfig
        linux-yocto/5.10: update to v5.10.84
        linux-yocto/5.15: update to v5.15.7
        linux-yocto/5.15: update to v5.15.8
        linux-yocto/5.10: update to v5.10.85
        linux-yocto/5.15: update to v5.15.10
        linux-yocto/5.10: update to v5.10.87
        linux-yocto/5.10: update to v5.10.89
        linux-yocto/5.15: update to v5.15.12
        linux-yocto/5.14: fix arm 32bit -rt warnings
        linux-yocto/5.15: fix arm 32bit -rt warnings
        linux-yocto/5.10/cfg: add kcov feature fragment
        linux-yocto/5.15/cfg: add kcov feature fragment
        linux-yocto/5.15: update to v5.15.13
        linux-yocto/5.10: update to v5.10.90
        conf/machine: bump qemu preferred versions to 5.15
        linux-yocto: drop 5.14 recipes
        yocto-bsp: change default to 5.15
        yocto-bsp/5.14: drop recipes
        poky: set default kernel to 5.15
        linux-yocto/5.15: fix arm defconfig warnings
        lttng-modules: update to 2.13.1
        linux-yocto/5.10: amdgpu: updates for CVE-2021-42327
        linux-yocto/5.15: update to v5.15.14
        linux-yocto/5.10: update to v5.10.91
        linux-yocto-rt/5.15: update to -rt22

  Chaitanya Vadrevu (1):
        python3-pyelftools: Depend on debugger, pprint

  Changhyeok Bae (2):
        iputils: update 20210722 to 20211215
        iproute2: update 5.15.0 to 5.16.0

  Changqing Li (3):
        cmake: upgrade 3.22.0 -> 3.22.1
        rpm: fix CVE-2021-3521
        pigz: fix one failure of command "unpigz -l"

  Chen Qi (7):
        bitbake: tests/fetch.py: fix premirror test cases
        bitbake: tests/fetch.py: add test case to ensure downloadfilename is used for premirror
        bitbake: fetch2: fix downloadfilename issue with premirror
        opkg: use oe.qa.add_message istead of package_qa_add_message
        avahi: update CVE id fixed by local-ping.patch
        waffle: add cmake-native to DEPENDS
        populate_sdk_base: remove unneeded dirs such as /dev

  Claus Stovgaard (1):
        cups: Fix missing installation of cups sysv init scripts

  Daniel Gomez (1):
        os-release: Add DISTRO_CODENAME as vardeps for do_compile

  Denys Dmytriyenko (3):
        wayland-protocols: upgrade 1.23 -> 1.24
        wayland: upgrade 1.19.0 -> 1.20.0
        mtd-utils: upgrade 2.1.3 -> 2.1.4

  Dhruva Gole (2):
        scripts/checklayer/common.py: Fixed a minor grammatical error
        yocto-check-layer: Add additional README checks

  Dmitry Baryshkov (1):
        go: fix building without SECURITY_LDFLAGS

  Florian Amstutz (1):
        systemd: Fix systemd-journal-gateway user/groups

  He Zhe (1):
        linux-yocto-dev: Set KBRANCH with =

  Jacob Kroon (3):
        native/cross: Add ar wrapper for determinism
        no-static-libs.inc: Fixes
        sstate: Preserve permissions when extracting tar archive

  Jagadeesh Krishnanjanappa (1):
        tune-cortexa72: remove crypto for the default cortex-a72

  Jasper Orschulko (4):
        repo: Add recipe for 2.17.3
        base.bbclass: Add sysroot deps for repo fetcher
        repo: Use separate task for patching repo rev
        repo: upgrade 2.17.3 -> 2.18

  Jim Wilson (1):
        gdb-common: Add --with-liblzma-prefix in xz PACKAGECONFIG.

  Joel Winarske (1):
        mesa: Add PACKAGECONFIG option for broadcom v3d Vulkan driver

  Jon Mason (3):
        runqemu: work without SERIAL_CONSOLES being defined
        scripts/lib/wic/help.py: Update Fedora Kickstart URLs
        yocto-check-layer: disregard checks if referencing another README file

  Jose Quaresma (11):
        sstate: another fix for touching files inside pseudo
        bitbake: cooker: check if upstream hash equivalence server is available
        spirv-headers: upgrade 1.5.4 -> 1.5.5
        spirv-headers: bump to last master
        spirv-tools: upgrade 2021.3 -> 2021.4
        glslang: upgrade 11.6.0 -> 11.7.0
        shaderc: upgrade 2021.2 -> 2021.3
        sstate: cleanup the sstate mirror progress check
        sstate: only search on the mirrors for the missing files
        sstate: add a function to get the sstate file name in sstate_checkhashes
        glslang: upgrade 11.7.0 -> 11.7.1

  Joshua Watt (7):
        classes/meson: Add optional rust definitions
        classes/crate-fetch: Ensure crate fetcher is available
        yocto-check-layer: Relax README case checks
        webkitgtk: Add packageconfig for libsoup2
        epiphany: Add packageconfig for libsoup2
        selftest: reproducible: Set maximum report size
        classes/native: Propagate dependencies to outhash

  Justin Bronder (1):
        bitbake: fetch2/wget: add redirectauth parameter

  Kai Kang (7):
        squashfs-tools: fix CVE-2021-41072
        squashfs-tools: follow-up fix for CVE-2021-41072
        convert-srcuri.py: use regex to check space in SRC_URI
        packagegroup-core-tools-testapps: clear GOTOOLS for riscv32
        xserver-xorg: 21.1.2 -> 21.1.3
        multilib.bbclass: set rpm file color for 32-bit multilib image
        speex: fix CVE-2020-23903

  Kamil Dziezyk (1):
        grub-efi: Add xen_boot support when 'xen' is in DISTRO_FEATURES for aarch64

  Kevin Hao (6):
        meta-yocto-bsp: Introduce the v5.15 bbappend
        tune-cortexa72: Enable the crc extension by default for cortexa72
        arch-armv8-5a.inc: Add tune include for armv8.5a
        armv9a/tune: Add the support for the Neoverse N2 core
        tune-cortexa72: Drop the redundant cortexa72-crc tune
        tune-cortexa73: Introduce cortexa73-crypto tune

  Khairul Rohaizzat Jamaluddin (1):
        epiphany: update 41.0 -> 41.3

  Khem Raj (37):
        wpebackend-fdo: Add -Wno-c++11-narrowing
        musl: Update to tip of trunk
        site/common-musl: Enable qsort_r in glib
        libsolv: Enable correct qsort_r on musl
        kernel-devsrc: Add vdso.lds and other build files for riscv64 as well
        gdb: Upgrade to 11.1
        gdb: Add dependency on libgmp
        librsvg: Disable 64bit atomics on riscv32/mipsel in crossbeam
        qemu: Build on musl targets
        qemu: Fix build on aarch64/musl
        wic: Use os.rename instead of bb.utils.rename
        qemu: Exclude building on riscv32
        ptest-packagelists: Remove qemu ptests for rv32
        gobject-introspection: Add -Dintrospection only when GIR_MESON_OPTION is not empty
        gstreamer1.0-python: Improve introspection option handling
        python3-pygobject: Improve introspection handling
        vulkan-samples: Fix cmake errors about plain signature
        vulkan-samples: Enable for architectures where it builds
        glibc-tests: Do not set SYSTEMD_SERVICE
        image: Include psplash only when screen machine feature is enabled
        weston-init: Pass --continue-without-input when launching weston
        Revert "weston-init: Pass --continue-without-input when launching weston"
        boost: Fix build on arches with no atomics
        glibc: Drop patch to support/workaround prelinked apps on armv5
        libunwind: Enable for rv64
        perf: Enable libunwind packageconfig on riscv64
        glibc: Drop ppc sqrt optimisations
        ffmpeg: Fix build on ppc32
        mesa: Fix build on ARM systems without Neon
        gdb: Drop sh4 support patch
        binutils: Drop patch to wider sh regexp
        mesa: Fix broadcom vulkan driver build on 32bit arches with 64bit time_t
        mesa: Define broadcom packageconfig knob
        glibc: Redo tzselect bash dependency problem
        gcc: Update status of musl stddef.h patch
        libsdl2: Fix build when libunwind is not used
        valgrind: Avoid accessing network in ptest task

  Konrad Weihmann (3):
        insane: add Inactive-Upstream to Upstream-Status
        insane: move src-uri-bad checks to unpack stage
        cve-check: add lockfile to task

  Leif Middelschulte (1):
        meson: improve SDK's wrapper to make Wraps work

  Li Wang (1):
        libtool: change the default AR_FLAGS from "cru" to "cr"

  Lukasz Majewski (1):
        glibc: ptest: Add running glibc time related test suite (Y2038) with ptest

  Manuel Leonhardt (2):
        sstate: Account for reserved characters when shortening sstate filenames
        dpkg: Install dkpg-perl scripts to versioned perl directory

  Marek Vasut (2):
        bootchart2: Add missing python3-math dependency
        u-boot: upgrade 2021.10 -> 2022.01

  Markus Volk (2):
        libva: move PACKAGECONFIG options to libva.inc
        vulkan-loader: inherit pkgconfig

  Martin Jansa (1):
        gdb-cross: add dependency on gmp-native

  Matt Madison (2):
        qemu.bbclass: drop OLDEST_KERNEL reference
        qemu: add patch to set minimum kernel version for riscv32

  Matthias Klein (1):
        gdb: fix aarch64 remote debugging gdb/28355

  Max Krummenacher (4):
        perf: sort-pmuevents: don't drop elements
        perf: sort-pmuevents: allow for additional type qualifiers and storage class
        ref-manual: fix patch documentation
        libsdl2: fix build if egl.pc sets macros in cflags

  Michael Halstead (3):
        releases: update to include 3.3.4
        releases: update to include 3.4.1
        releases: update to include 3.1.13

  Michael Opdenacker (35):
        manuals: correct "take affect" by "take effect"
        manuals: start of documentation standards document
        bitbake: doc: bitbake-user-manual: expand SRC_URI description
        ref-manual: remove reference to TOPDIR
        ref-manual: BBFILES_DYNAMIC - fix punctuation and quoting issues
        ref-manual: simplify SRC_URI reference
        documentation: prepare for 3.1.12 release
        bitbake: bitbake-user-manual: quoting fixes
        bitbake: bitbake-user-manual: fix typo
        bitbake: bitbake-user-manual: add missing reference
        bitbake: bitbake-user-manual: fix backslash issues
        bitbake: bitbake-user-manual: SRC_URI: mention gitsm fetcher
        ref-manual: drop support for Ubuntu 16.04
        ref-manual: drop support for Fedora 30-32
        dev-manual: remove warning about += and :append
        manuals: add hyperlinks to files in meta-skeleton
        dev-manual: how to purge duplicate sstate cache files
        migration-guides: add more class references
        ref-manual: add more class references
        misc manuals: add further class references
        ref-manual: remove newline string in PREMIRRORS
        bitbake: doc: bitbake-user-manual: expand BB_HASHSERVE and document BB_HASHSERVE_UPSTREAM
        documentation: add comment to releases.rst switchers.js
        overview-manual: fix typo
        manuals: replace "rootfs" by "root filesystem"
        quick start manual: update Share State and Hash Equivalence settings
        documentation/README: trivial typo fix
        manuals: document hash equivalence
        dev-manual: update bitbake.conf sample for static libs
        manuals: add reference to GIR_EXTRA_LIBS_PATH plus minor improvements
        migration-guides: prepare for release 3.5
        manuals: simplify references to class sections
        ref-manual: Drop TUNEABI, TUNEABI_WHITELIST, TUNEABI_OVERRIDE
        dev-manual: stop mentioning nightly builds
        bitbake: doc: bitbake-user-manual: expand BB_HASHSERVE explanations

  Mike Crowe (3):
        kernel: improve transformation from KERNEL_IMAGETYPE_FOR_MAKE
        package: Only snap libraries if they would be processed by ldconfig OS-12840
        documentation: Document PACKAGE_SNAP_LIB_SYMLINKS

  Mingli Yu (4):
        wic: use shutil.which
        libpam: Backport ptest fix checking whether files exist
        libhandy: Backport a makefile header race
        bootchart2: remove wait_boot logic

  Oleksandr Kravchuk (5):
        libxcvt: add recipe
        python3: udpate to 3.10.1
        libx11: update to 1.7.3
        xserver-xorg: update to 21.1.2
        ofono: update to 1.34

  Oleksiy Obitotskyy (1):
        package_manager: ipk: Fix host manifest generation

  Otavio Salvador (20):
        acpica: upgrade 20210930 -> 20211217
        asciidoc: upgrade 10.0.2 -> 10.1.1
        alsa-ucm-conf: upgrade 1.2.6.2 -> 1.2.6.3
        bind: upgrade 9.16.23 -> 9.16.24
        kea: upgrade 2.0.0 -> 2.0.1
        meson: upgrade 0.60.2 -> 0.60.3
        mmc-utils: upgrade to latest revision
        python3-attrs: upgrade 21.2.0 -> 21.4.0
        python3-cython: upgrade 0.29.25 -> 0.29.26
        python3-hypothesis: upgrade 6.31.4 -> 6.34.1
        python3-importlib-metadata: upgrade 4.9.0 -> 4.10.0
        python3-pygments: upgrade 2.10.0 -> 2.11.1
        python3-ruamel-yaml: upgrade 0.17.17 -> 0.17.19
        python3-tomli: upgrade 1.2.2 -> 2.0.0
        python3-zipp: upgrade 3.6.0 -> 3.7.0
        sqlite3: upgrade 3.37.0 -> 3.37.1
        stress-ng: upgrade 0.13.08 -> 0.13.09
        python3-dtschema: upgrade 2021.10 -> 2021.12
        mesa: 21.3.1 -> 21.3.3
        libxcrypt, libxcrypt-compat: upgrade 4.4.26 -> 4.4.27

  Paul Eggleton (4):
        classes/kernel*: allow disabling symlink creation
        classes/qemuboot: allow IMAGE_LINK_NAME to be empty
        classes/kernel*: add variables to allow changing artifact extension
        classes/create-spdx: handle if IMAGE_LINK_NAME is empty

  Pavel Zhukov (2):
        go: upgrade 1.16.8 -> 1.16.10
        patch.py: Initialize git repo before patching

  Peter Kjellerstedt (22):
        systemd: Do not install anything in /var/volatile
        base-files: Ignore the empty-dirs QA error due to files in /var/volatile
        apt: Do not install /var/log/apt for target
        insane.bbclass: Add a check for directories that are expected to be empty
        libx11: Update LICENSE to better reflect reality
        libx11-compose-data: Update LICENSE to better reflect reality
        ncurses.inc: Remove a no longer relevant comment
        systemd: Revert inappropriate use of ${systemd_system_unitdir}
        systemd-conf: Revert inappropriate use of ${systemd_system_unitdir}
        systemd-bootchart: Revert inappropriate use of ${systemd_system_unitdir}
        mirrors.bbclass: Clean up the additions to MIRRORS
        own-mirrors.bbclass: Clean up the additions to PREMIRRORS
        gcc-common.inc: Clean up the additions to MIRRORS
        slang: Clean up the additions to PREMIRRORS
        testsdk.py: Clean up the additions to PREMIRRORS and SSTATE_MIRRORS
        gcc-common.inc: Remove mirrors that are no longer available
        tzdata: Make it compatible with devtool modify
        tzdata: Remove unnecessary RPROVIDES
        tzdata: Clean up
        tzdata: Remove no longer relevant RCONFLICTS:${PN}
        rootfs-postcommands.bbclass: Make two comments use the new variable syntax
        systemd: Avoid a Python deprecation warning

  Pgowda (2):
        gcc: Fix CVE-2021-35465
        rust-cross: Replace TARGET_ARCH with TUNE_PKGARCH

  Quentin Schulz (10):
        README.OE-Core.md: update URLs
        ptest-packagelists: Add missing python3-webcolors entry
        make the documentation a bit more inclusive
        docs: dev-manual: common-tasks: highlight creating your own layer is not required
        documentation: conf.py: add knob for loading appropriate objects.inv
        kmscube: fix build on OpenGL ES 3 dependencies not providing GLES3/gl3ext.h
        mesa: PROVIDES virtual/libgles3
        kmscube: add build dependency on virtual/libgles3
        mesa: make ligles3-dev RDEPENDS on libgles2-dev
        bitbake: doc: bitbake-user-manual: specify the URL to be used with SSH over git is different from `git clone`'s

  Randy MacLeod (5):
        valgrind: Add util-linux-taskset ptest dependency
        valgrind: backport rseq work-around
        valgrind: remove duplicate and skipped tests from remove-for-aarch64
        valgrind: skip boost_thread for aarch64 ptests
        valgrind: make run-ptest better

  Richard Purdie (133):
        meta: Add explict branch to git SRC_URIs
        meta/scripts: Manual git url branch additions
        linunistring: Add missing gperf-native dependency
        archiver: Default to xz compresison instead of gz
        gcc: Drop libgfortran patch
        pseudo: Add fcntl64 wrapper
        libgfortran: Set GFORTRAN
        bitbake: fetch2/git: Allow git fetcher to support subdir param
        bitbake: fetch2/git: Add a warning asking users to set a branch in git urls
        bitbake: tests/fetch: Update github urls
        bitbake: fetch/git: Handle github dropping git:// support
        bitbake: fetch/git: Show warning for invalid github urls
        bitbake: lib/bb: Clean up use of len()
        bitbake: daemonize: Avoid unclosed file warning
        bitbake: lib/bb: Fix string concatination potential performance issues
        bitbake: fetch: Handle mirror user/password replacements correctly
        bitbake: tests/fetch: Add test for url parameter rewriting
        bitbake.conf: Fix corruption of GNOME mirror url
        scripts/convert-srcuri: Update SRC_URI conversion script to handle github url changes
        recipes: Update github.com urls to use https
        go-helloworld/glide: Fix urls
        opkg: Fix poor operator combination choice
        bitbake: runqueue: Fix runall option task deletion ordering issue
        bitbake: tests/fetch: Update pcre.org address after github changes
        bitbake: cooker: Handle parse threads disappearing to avoid hangs
        bitbake: fetch2/checksum/siggen: Fix taskhashes not tracking file directories
        bitbake: runqueue: Fix runall option handling
        bitbake: cooker: Remove debug code, oops :(
        bitbake: parse/ast: Show warnings for append/prepend/remove operators combined with +=/.=
        bitbake: fetch/wget: Add timeout for checkstatus calls (30s)
        bitbake: cooker: Handle parsing results queue race
        mirrors: Add uninative mirror on kernel.org
        scripts/oe-package-browser: Fix after overrides change
        scripts/oe-package-browser: Handle no packages being built
        xserver-xorg: Remove orphaned comment
        bitbake: fetch: Add README on fetcher design constraints
        wpa-supplicant: Match package override to PACKAGES for pkg_postinst
        uninative: Add version to uninative tarball name
        packagegroup-core-buildessential: Mark as TUNE_PKGARCH specific
        packagegroups-core-full-cmdline: Drop libraries packagegroup and gmp
        packagegroup-core-full-cmdline: Drop compatibility mappings
        packagegroup-core-x11-base: Drop dbus dependency
        mirrors: Add kernel.org sources mirror for downloads.yoctoproject.org
        bitbake: cooker: Fix task-depends.dot for multiconfig targets
        bitbake: tests/runqueue: Set TOPDIR in test
        bitbake: cookerdata: Set TOPDIR explicitly and fix broken findTopdir()
        bitbake: cache/ConfHandler: Drop TOPDIR/chdir manipulations
        package: Add sanity check for allarch packagegroups
        gcc: Dropping mips workaround
        lua: Backport fix for CVE-2021-43396
        glibc: Backport fix for CVE-2021-43396
        gcc: Tweak Upstream-Status formatting
        bitbake: utils: Handle lockfile filenames that are too long for filesystems
        bitbake: fetch2: Fix url remap issue and add testcase
        bitbake: bitbake-user-manual: Remove newline string in MIRRORS/PREMIRRORS
        buildhistory: Drop support for older bitbakes
        buildhistory: Fix srcrevs output
        ptest-packagelists: Handle glibc vs musl for ptest
        buildhistory: Fix do_package race issues
        bitbake.conf: Pass -D option to ranlib for determisim
        glibc: Fix i586/c3 support
        gcc: Drop no longer needed patch
        ptest-packagelists: Add missing python3-jsonpointer entry
        python3: Add missing HOMEPAGE entries
        nativesdk: Handle chown/chgrp calls in nativesdk do_install tasks
        gcc: Drop mips default ABI patch
        gcc: Drop further unneeded precompiled header patch
        oeqa/utils/dump: Fix typo
        oeqa/parselogs: Fix quoting
        sanity/lib: Replace usage of LooseVersion() with bb.utils.vercmp_string_op()
        patchelf: Upgrade 0.14.1 -> 0.14.2
        debian: Fix renaming packagedata dependencies
        gst-plugins-bad: Add missing libxkbcommon vulkan dependency
        gcc: Update patch status submitted->backport
        minicom: Mark patches as backports
        minicom: Upgrade 2.7.1 -> 2.8
        glibc: Drop patch for obsolete conflict issue
        gst-plugins-bad: Bump cache versions to avoid libxkbcommon sstate issues
        puzzles: Refresh patches based upon upstream discussion
        gcc: Add CVE-2021-37322 to the list of CVEs to ignore
        bitbake: siggen: Ensure dumpsig output is deterministic
        build-appliance-image: Update to master head revision
        binutils: Drop mips gold patch
        binutils: Add more detail to the ppc patch
        binutils: Drop mips default target patch
        perf: Tweak for mips n64
        binutils: Drop mips XLP support patch
        puzzles: Upgrade to latest git with patches merged
        lttng-ust: upgrade 2.13.0 -> 2.13.1
        patchelf: upgrade 0.14.2 -> 0.14.3
        lttng-tools: Backport ptest fix
        lttng-tools: Disable problem tests
        bitbake: tests/runqueue: Improve lockfile handling race
        python3-idna: Update license to Unicode-TOU
        bitbake: tests/fetch: Drop gnu urls from wget connectivity test
        manpages: Fix override/append ordering and hence task signatures
        qemu: Upgrade 6.1.0 -> 6.2.0
        lttng-tools: Upgrade 2.13.1 -> 2.13.2
        oeqa/selftest/bbtests: Use YP sources mirror instead of GNU
        qemu: Add selinux PACKAGECONFIG
        package_deb/ipk/rpm: Add more minimal do_build dependencies back
        meson: Handle qemu riscv issues
        openssl: Add reproducibility fix
        webkitgtk: Add reproducibility fix
        scripts: Update to use exec_module() instead of load_module()
        bitbake: utils: Update to use exec_module() instead of load_module()
        gtk-doc/meson: Fix typos
        libsdl2: Fix X11 configure options
        Revert "qemu.bbclass: drop OLDEST_KERNEL reference"
        allarch: Fix interaction with qemu class
        expat: Update HOMEPAGE to current url
        wayland-protocols: Change inherit order
        sstatetests: Add OLDEST_KERNEL to allarch tests
        oeqa/sstate: Fix allarch samesigs test
        buildtools-installer: Update to use 3.4
        bitbake: utils: Add disable_network function
        bitbake: bitbake-worker: Add/support network task flag
        bitbake: runqueue: Drop BB_STAMP_POLICY/BB_STAMP_WHITELIST
        classes: Only allow network in existing network accessing code
        sanity: Drop TUNEABI, TUNEABI_WHITELIST, TUNEABI_OVERRIDE
        expat: Upgrade 2.4.2 -> 2.4.3
        expat: Drop unneeded libtool patch, we use cmake
        bitbake: doc: Drop BB_STAMP_POLICY/BB_STAMP_WHITELIST
        expat: Simplify ptest-runner
        build-appliance-image: Update to master head revision
        bitbake: build: Tweak exception handling for setscene tasks
        bitbake: fetch2: Add crate fetcher
        sstate: Show better exception information for failures
        sstate: Improve failure to obtain archive message/handling
        abi_version: Bump HASHEQUIV_HASH_VERSION
        crate-fetch: Switch to version contained in bitbake
        build-appliance-image: Update to master head revision
        build-appliance-image: Update to master head revision

  Robert Joslyn (4):
        ref-manual: Fix module_conf typo
        curl: Update to 7.81.0
        curl: Rework openssl and random PACKAGECONFIGs
        maintainers.inc: Add myself as maintainer for curl

  Robert P. J. Day (1):
        ref-manual: generalize definition of "container layer"

  Robert Yang (3):
        sanity.bbclass: Update required gcc version to v7.5
        bitbake: lib/pyinotify.py: Remove deprecated module asyncore
        bitbake: data_smart.py: Skip old override syntax checking for anonymous functions

  Ross Burton (61):
        openssl: fix builds on ARMv8 targets without Aarch64
        python3: silence DeprecationWarnings in python3-config
        meson: set objcopy in the cross and native toolchain files
        ref-manual: improve documentation for SDKMACHINE
        kickstart: update busybox note regarding PARTUUID
        scons: support out-of-tree builds
        vim: fix CVE-2021-3796, CVE-2021-3872, and CVE-2021-3875
        vim: add patch number to CVE-2021-3778 patch
        meta: use ln -rs instead of lnr
        insane: remove unrecognised option check for Meson
        dtc: merge .bb/.inc
        dtc: use Meson to build
        dtc: add PACKAGECONFIGs for tools and yaml
        dtc: fix mingw build
        ncurses: poll() works, but only on Linux
        vim: fix CVE-2021-3927 and CVE-2021-3928
        scripts/lnr: remove
        gmp: fix CVE-2021-43618
        oe/utils: allow naming threads in ThreadedPool
        sstate: explicitly name the checkhashes thread pool
        oe/utils: by default cap cpu_count() to 64 cores
        vim: fix CVE-2021-3968 and CVE-2021-3973
        vim: set PACKAGECONFIG idiomatically
        openssl: fix EVP_PKEY_CTX_get_rsa_pss_saltlen() not returning a value
        recipetool: handle GitLab URLs like we do GitHub
        recipetool: extend curl detection when creating recipes
        glew: update patch status
        libx11: update patch status
        libxkbcommon: remove obsolete util-macros dependency
        libxkbcommon: allow building of API documentation
        xkbcommon: split xkbcli into a separate package
        libxkbcommon: split libraries into separate packages
        xkbcommon: add option for xkbregistry
        tcf-agent: cleanup patches
        vim: upgrade to 8.2 patch 3752
        runqemu: check the qemu PID has been set before kill()ing it
        gstreamer1.0-plugins-bad: clean up X11 dependencies
        libtool: don't prefix the installed binary
        binutils: don't expect libtool to be host-prefixed
        pkgconfig: remove obsolete support for renamed libtool
        gtk+3: remove obsolete support for renamed libtool
        db: remove obsolete support for renamed libtool
        freetype: remove obsolete support for renamed libtool
        apr: remove obsolete support for renamed libtool
        qemu: remove obsolete support for renamed libtool
        subversion: remove obsolete support for renamed libtool
        apmd: remove obsolete support for renamed libtool
        libical: upgrade to 3.0.12
        python3: backport a fix so the test suite passes with OpenSSL 3.0.1
        openssl: upgrade to 3.0.1
        kmod: remove obsolete ac_pwd manipulation
        kmod: merge target/native recipes
        kmod: expand compression PACKAGECONFIGs
        gawk: remove load-sensitive tests
        linux-yocto: add libmpc-native to DEPENDS
        xserver-xorg: whitelist two CVEs
        systemtap: fix vsprintf errors
        oeqa/runtime/stap: rewrite test
        vim: update to include latest CVE fixes
        lighttpd: backport a fix for CVE-2022-22707
        oeqa/runtime/stap: increase buffer size

  S. Lockwood-Childs (1):
        cups: fix typo in flags to disable avahi

  Samuli Piippo (1):
        rpm: remove tmp folder created during install

  Saul Wold (7):
        create_spdx: ensure is_work_shared() is unique
        create-spdx: Protect against None from LICENSE_PATH
        kernel: add -dbg package
        perl: Enable threading
        kernel.bbclass: use common strip()
        package: Add support for kernel stripping
        create-spdx: Add kernel work-shared source

  Schmidt, Adriaan (1):
        wic: support rootdev identified by partition label

  Stefan Herbrechtsmeier (17):
        bitbake: fetch2: npmsw: Add support for duplicate dependencies without url
        bitbake: fetch2: npmsw: Add support for github prefix in npm shrinkwrap version
        bitbake: fetch2: Unify tar command in unpack
        bitbake: fetch2: Add striplevel support to unpack
        bitbake: bitbake-user-manual: Add striplevel unpack parameter
        bitbake: test/fetch: Add striplevel unpack parameter test
        recipetool: Set master branch only as fallback
        selftest/devtool: Check branch in git fetch
        selftest/recipetool: Split tests into separate test classes
        selftest: devtool: Separate common functions and devtool sstate setup into two classes
        selftest/recipetool: Add tests for branch parameter and srcbranch option
        bitbake: fetch: npm: Quote destdir in run chmod command
        bitbake: fetch: npm: Use temporary file for empty user config
        recipetool: Sort output of guess_license function to be deterministic
        recipetool: Separate licenses with & operator
        selftest: recipetool: Add test for split_pkg_licenses function
        selftest: recipetool: Add test for handle_license_vars function

  Steve Sakoman (4):
        ref-system-requirements.rst: Add Debian 11 to list of supported distros
        ref-system-requirements.rst: Add Fedora 33 and 34 to list of supported distros
        ref-system-requirements.rst: Add openSUSE Leap 15.2 to list of supported distros
        cve-extra-exclusions: add db CVEs to exclusion list

  Sundeep KOKKONDA (2):
        glibc : Fix CVE-2022-23218
        glibc : Fix CVE-2022-23219

  Teoh Jay Shen (2):
        linux-yocto/5.10: update genericx86* machines to v5.10.87
        linux-yocto/5.14: update genericx86* machines to v5.14.21

  Thomas Perrot (1):
        uboot-sign: fix the concatenation when multiple U-BOOT configurations are specified

  Tim Orling (29):
        scripts/buildhistory-diff: drop use of distutils
        maintainers.inc: update email address
        poky.yaml: centos-7 python36-pip -> python3-pip
        classes/distutils-*: add warning of deprecation
        setuptools3: refactor for no distutils bbclasses
        dnf: inherit setuptools3-base instead of distutils
        libdnf: inherit setuptools3-base not distutils
        python3-cython: DISTUTILS_* -> SETUPTOOLS_*
        python3-dbus: inherit setuptools3-base not distuils
        gpgme: inherit setuptools-base not distuils
        python3-pip: inherit setuptools3 not distuils3
        systemtap: use setuptools-base not distutils
        libcomps: inherit setuptools3-base not distutils
        createrepo-c: inherit setuptools3-base not distutils
        librepo: inherit setuptools3-base not distutils
        btrfs-tools: use setuptools3-base not distutils
        bind: inherit setuptools3-base instead of distutils
        python3-pygobject: setuptools instead of distuils
        python3-setuptools: do not depend on distutils
        gstreamer1.0-python: inherit setuptools3-base
        recipetool/create_buildsys_python.py: less distutils
        waf.bbclass: drop usage of distutils
        dnf: drop python3-distutils dependency
        python3native.bbclass: distutils -> sysconfig
        rootfs_rpm.bbclass: distutils -> sysconfig module
        python3-hypothesis: upgrade 6.34.1 -> 6.35.0
        ref-manual/variables.rst: add SETUPTOOLS_SETUP_PATH
        ref-manual/variables.rst: add SETUPTOOLS_*_ARGS
        ref-manual/classes.rst: add setuptools3-base

  Tom Hochstein (3):
        wayland: Fix wayland-tools packaging
        nativesdk-packagegroup-sdk-host.bb: Update host tools for wayland
        bitbake.conf: Use wayland distro feature for native builds

  Ulrich Ölmann (1):
        gstreamer1.0-plugins-base: add support for graphene

  Valerii Chernous (1):
        elf: Discard input .note.gnu.build-id sections

  Vivien Didelot (2):
        beaglebone-yocto: prefer u-boot
        beaglebone-yocto: move kernel and dtb to packagegroup-core-boot

  Vyacheslav Yurkov (17):
        overlayfs: all overlays unit
        oeqa/selftest: refactor common functions
        overlayfs: meta-selftest recipe fix
        oeqa/selftest: extend overlayfs test
        overlayfs: add debug information
        ref-manual: update overlayfs class
        rootfs-postcommands: update systemd_create_users
        files: add overlayfs-etc-preinit.sh.in
        wic: image for overlayfs-etc tests
        overlayfs-etc: mount etc as overlayfs
        image: add overlayfs-etc image feature
        oeqa/selftest: overlayfs helper function
        oeqa/selftest: unit tests for overlayfs-etc
        overlayfs: update notes on /etc
        overlayfs: move templates to files directory
        ref-manual: add overlayfs-etc class
        ref-manual: document overlayfs-etc image feature

  Yi Zhao (6):
        bind: remove -r option from rndc-confgen in initscript
        rpcbind: install rpcbind.conf
        python3-numpy: move recipe to python directory
        python3-numpy: add python3-json to RDEPENDS
        oeqa: fix warnings for append operators combined with +=
        meta-skeleton: fix warnings for append operators combined with +=

  Yongxin Liu (1):
        grub2: fix CVE-2021-3981

  Zev Weiss (1):
        u-boot: Split do_configure logic into separate file

  pgowda (2):
        gcc: Fix CVE-2021-42574
        binutils: CVE-2021-42574

  wangmy (67):
        bind: upgrade 9.16.21 -> 9.16.22
        glib-2.0: upgrade 2.70.0 -> 2.70.1
        python3-dbusmock: upgrade 0.24.0 -> 0.24.1
        python3-docutils: upgrade 0.17.1 -> 0.18
        btrfs-tools: upgrade 5.14.2 -> 5.15
        diffoscope: upgrade 189 -> 190
        ell: upgrade 0.44 -> 0.45
        harfbuzz: upgrade 3.0.0 -> 3.1.1
        iproute2: upgrade 5.14.0 -> 5.15.0
        iso-codes: upgrade 4.7.0 -> 4.8.0
        iw: upgrade 5.9 -> 5.16
        libpcre2: upgrade 10.37 -> 10.39
        msmtp: upgrade 1.8.18 -> 1.8.19
        libevdev: upgrade 1.11.0 -> 1.12.0
        libdrm: upgrade 2.4.107 -> 2.4.108
        libhandy: upgrade 1.4.0 -> 1.5.0
        python3-importlib-metadata: upgrade 4.8.1 -> 4.8.2
        python3-jinja2: upgrade 3.0.2 -> 3.0.3
        python3-more-itertools: upgrade 8.10.0 -> 8.11.0
        libtasn1: upgrade 4.17.0 -> 4.18.0
        ethtool: upgrade 5.14 -> 5.15
        stress-ng: upgrade 0.13.06 -> 0.13.07
        systemtap: upgrade 4.5 -> 4.6
        python3-scons: upgrade 4.2.0 -> 4.3.0
        libcap: upgrade 2.60 -> 2.61
        mesa: upgrade 21.2.5 -> 21.3.0
        python3-mako: upgrade 1.1.5 -> 1.1.6
        libjpeg-turbo: upgrade 2.1.1 -> 2.1.2
        libdrm: upgrade 2.4.108 -> 2.4.109
        libsoup-2.4: upgrade 2.74.1 -> 2.74.2
        libunwind: upgrade 1.5.0 -> 1.6.0
        libexif: upgrade 0.6.23 -> 0.6.24
        mtools: upgrade 4.0.35 -> 4.0.36
        patchelf: upgrade 0.13 -> 0.14.1
        sqlite3: upgrade 3.36.0 -> 3.37.0
        sysklogd: upgrade 2.2.3 -> 2.3.0
        ovmf: upgrade 202108 -> 202111
        python3-docutils: upgrade 0.18 -> 0.18.1
        python3-libarchive-c: upgrade 3.1 -> 3.2
        sysstat: upgrade 12.4.3 -> 12.4.4
        vala: upgrade 0.54.3 -> 0.54.4
        xauth: upgrade 1.1 -> 1.1.1
        mpg123: upgrade 1.29.2 -> 1.29.3
        python3-cython: upgrade 0.29.24 -> 0.29.25
        libcap: upgrade 2.61 -> 2.62
        linux-firmware: upgrade 20211027 -> 20211216
        python3-importlib-metadata: upgrade 4.8.2 -> 4.9.0
        sysvinit: upgrade 3.00 -> 3.01
        python3-dbusmock: upgrade 0.24.1 -> 0.25.0
        python3-numpy: upgrade 1.21.4 -> 1.21.5
        expat: upgrade 2.4.1 -> 2.4.2
        gnupg: upgrade 2.3.3 -> 2.3.4
        ell: upgrade 0.46 -> 0.47
        bash: upgrade 5.1.8 -> 5.1.16
        createrepo-c: upgrade 0.17.7 -> 0.18.0
        bluez5: upgrade 5.62 -> 5.63
        iso-codes: upgrade 4.8.0 -> 4.9.0
        less: upgrade 598 -> 600
        libpipeline: upgrade 1.5.4 -> 1.5.5
        diffoscope: upgrade 196 -> 199
        libsdl2: upgrade 2.0.18 -> 2.0.20
        hdparm: upgrade 9.62 -> 9.63
        mesa: upgrade 21.3.3 -> 21.3.4
        python3-git: upgrade 3.1.24 -> 3.1.26
        python3-numpy: upgrade 1.22.0 -> 1.22.1
        strace: upgrade 5.15 -> 5.16
        btrfs-tools: upgrade 5.15.1 -> 5.16

  zhengruoqin (9):
        opkg-utils: upgrade 0.4.5 -> 0.5.0
        opkg: upgrade 0.4.5 -> 0.5.0
        glib-networking: upgrade 2.70.0 -> 2.70.1
        stress-ng: upgrade 0.13.07 -> 0.13.08
        vte: upgrade 0.66.0 -> 0.66.2
        rt-tests: upgrade 2.2 -> 2.3
        shadow: upgrade 4.9 -> 4.10
        libmicrohttpd: upgrade 0.9.73 -> 0.9.75
        gtk+3: upgrade 3.24.30 -> 3.24.31

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I11c88e9f9999d629de5a0ecdb44ccc1003b02376
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/amtk/amtk_5.2.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/amtk/amtk_5.3.1.bb
similarity index 66%
rename from meta-openembedded/meta-gnome/recipes-gnome/amtk/amtk_5.2.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/amtk/amtk_5.3.1.bb
index 41cda1e..d4d91ed 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/amtk/amtk_5.2.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/amtk/amtk_5.3.1.bb
@@ -7,8 +7,12 @@
     gtk+3 \
 "
 
+GNOMEBASEBUILDCLASS = "meson"
+
+GIR_MESON_OPTION = ""
+
 inherit gnomebase gettext features_check gobject-introspection
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
-SRC_URI[archive.sha256sum] = "820545bb4cf87ecebc2c3638d6b6e58b8dbd60a419a9b43cf020124e5dad7078"
+SRC_URI[archive.sha256sum] = "d5aa236c5d71dc41aa4674f345560a67a27f21c0efc97c9b3da09cb582b4638b"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor/0001-editor-meson.build-fix-meson-0.61-errors.patch b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor/0001-editor-meson.build-fix-meson-0.61-errors.patch
new file mode 100644
index 0000000..850d8a9
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor/0001-editor-meson.build-fix-meson-0.61-errors.patch
@@ -0,0 +1,31 @@
+From 86379a220a4eb00c309f514d2ca57ed6c1c8b35c Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Fri, 21 Jan 2022 22:22:58 +0100
+Subject: [PATCH] editor/meson.build: fix meson 0.61 errors
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/dconf-editor/-/merge_requests/21]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ editor/meson.build | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/editor/meson.build b/editor/meson.build
+index 4c89ab99..0eb3bb1a 100644
+--- a/editor/meson.build
++++ b/editor/meson.build
+@@ -1,7 +1,6 @@
+ desktop = dconf_editor_namespace + '.desktop'
+ 
+ i18n.merge_file (
+-  desktop,
+   type: 'desktop',
+   input: desktop + '.in',
+   output: desktop,
+@@ -26,7 +25,6 @@ configure_file(
+ appdata = dconf_editor_namespace + '.appdata.xml'
+ 
+ i18n.merge_file(
+-  appdata,
+   input: appdata + '.in',
+   output: appdata,
+   po_dir: po_dir,
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.3.bb
index 97e994c..55b2913 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.3.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.3.bb
@@ -8,6 +8,7 @@
 
 inherit gnomebase vala gettext gsettings bash-completion
 
+SRC_URI += " file://0001-editor-meson.build-fix-meson-0.61-errors.patch"
 SRC_URI[archive.sha256sum] = "571af4c7dad4f049b53e6cd728b79addf08c27ddab6bc57b396d211866ee79e3"
 
 FILES:${PN} += " \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.43.bb b/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.43.bb
index f48f04f..8372448 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.43.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.43.bb
@@ -10,7 +10,7 @@
 
 SRCREV = "a3ee65b815a0247a0dbdaa39353444cef6f93499"
 
-SRC_URI = "git://github.com/dsalt/devilspie2;branch=master \
+SRC_URI = "git://github.com/dsalt/devilspie2;branch=master;protocol=https \
     file://default.lua \
     file://devilspie2.desktop \
 "
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-Remove-incorrect-args-for-i18n.merge_file.patch b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-Remove-incorrect-args-for-i18n.merge_file.patch
new file mode 100644
index 0000000..68447be
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-Remove-incorrect-args-for-i18n.merge_file.patch
@@ -0,0 +1,52 @@
+From b525a64d26bcba4e3a74f09c580429625d8a2104 Mon Sep 17 00:00:00 2001
+From: r-value <i@rvalue.moe>
+Date: Wed, 17 Nov 2021 18:22:45 +0800
+Subject: [PATCH] Remove incorrect args for i18n.merge_file
+
+`i18n.merge_file` has been ignoring positional arguments for
+a time and explicitly rejects with error since meson 0.60.0
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ backend/meson.build | 1 -
+ data/meson.build    | 1 -
+ meson.build         | 1 -
+ 3 files changed, 3 deletions(-)
+
+diff --git a/backend/meson.build b/backend/meson.build
+index 14629f2..2f972a8 100644
+--- a/backend/meson.build
++++ b/backend/meson.build
+@@ -53,7 +53,6 @@ foreach backend, backend_mime_types: backends
+   )
+ 
+   i18n.merge_file(
+-    appstream,
+     input: appstream_in,
+     output: appstream,
+     po_dir: po_dir,
+diff --git a/data/meson.build b/data/meson.build
+index 8a308b8..afc3020 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -15,7 +15,6 @@ foreach desktop: desktops
+   )
+ 
+   i18n.merge_file(
+-    desktop,
+     type: 'desktop',
+     input: desktop_in,
+     output: desktop,
+diff --git a/meson.build b/meson.build
+index 07fb8ec..0bb5d0f 100644
+--- a/meson.build
++++ b/meson.build
+@@ -498,7 +498,6 @@ install_headers(
+ appdata = ev_namespace + '.appdata.xml'
+ 
+ i18n.merge_file(
+-  appdata,
+   input: appdata + '.in',
+   output: appdata,
+   po_dir: po_dir,
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_40.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_41.3.bb
similarity index 77%
rename from meta-openembedded/meta-gnome/recipes-gnome/evince/evince_40.4.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/evince/evince_41.3.bb
index ed4fb63..ec3dca2 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_40.4.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_41.3.bb
@@ -14,7 +14,7 @@
     orc \
     adwaita-icon-theme \
     libhandy \
-    ${@bb.utils.contains('DISTRO_FEATURES','x11','gnome-desktop3','',d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES','x11','gnome-desktop','',d)} \
 "
 
 GNOMEBASEBUILDCLASS = "meson"
@@ -24,7 +24,8 @@
 def gnome_verdir(v):
     return oe.utils.trim_version(v, 1)
 
-SRC_URI[archive.sha256sum] = "33420500e0e060f178a435063197d42dae7b67e39cc437a96510a33ddf7e95fb"
+SRC_URI += " file://0001-Remove-incorrect-args-for-i18n.merge_file.patch"
+SRC_URI[archive.sha256sum] = "3346b01f9bdc8f2d5ffea92f110a090c64a3624942b5b543aad4592a9de33bb0"
 
 GTKDOC_MESON_OPTION = "gtk_doc"
 
@@ -38,17 +39,14 @@
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[nautilus] = "-Dnautilus=true,-Dnautilus=false,nautilus"
-PACKAGECONFIG[browser-plugin] = "-Dbrowser_plugin=true,-Dbrowser_plugin=false"
 
 RDEPENDS:${PN} += "glib-2.0-utils"
 RRECOMMMENDS_${PN} = "adwaita-icon-theme"
 
 PACKAGES =+ "${PN}-nautilus-extension"
-PACKAGES =+ "${PN}-browser-plugin"
 
 FILES:${PN} += "${datadir}/dbus-1 \
                 ${datadir}/metainfo \
                 ${datadir}/thumbnailers \
 "
 FILES:${PN}-nautilus-extension = "${libdir}/nautilus/*/*so"
-FILES:${PN}-browser-plugin = "${libdir}/mozilla/*/*so"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb
index 571d430..9ccaedb 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb
@@ -2,11 +2,11 @@
 
 DEPENDS = " \
     ${BPN}-native intltool-native gperf-native \
-    glib-2.0 gtk+3 libgdata \
+    glib-2.0 gtk+3 libgdata libxml2 icu \
     dbus db virtual/libiconv zlib libsoup-2.4 libical nss libsecret \
 "
 
-inherit gsettings gobject-introspection features_check cmake gtk-doc gettext perlnative
+inherit pkgconfig gsettings gobject-introspection features_check cmake gtk-doc gettext perlnative vala
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
@@ -21,23 +21,23 @@
 LKSTRFTIME = "HAVE_LKSTRFTIME=ON"
 LKSTRFTIME:libc-musl = "HAVE_LKSTRFTIME=OFF"
 
-# For arm qemu-arm runs at 100% CPU load and never returns - so disable introspection for now
-GI_DATA_ENABLED="False"
-
 EXTRA_OECMAKE = " \
     -DSYSCONF_INSTALL_DIR=${sysconfdir} \
     -DWITH_KRB5=OFF \
-    -DENABLE_GOA=OFF \
     -DENABLE_UOA=OFF \
     -DENABLE_GOOGLE_AUTH=OFF \
     -DENABLE_WEATHER=OFF \
-    -DENABLE_INTROSPECTION=${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'ON', 'OFF', d)} \
+    -DG_IR_COMPILER=${STAGING_BINDIR}/g-ir-compiler-wrapper \
+    -DG_IR_SCANNER=${STAGING_BINDIR}/g-ir-scanner-wrapper \
+    -DVAPIGEN=${STAGING_BINDIR_NATIVE}/vapigen \
+    ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON -DENABLE_VALA_BINDINGS=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
     -D${LKSTRFTIME} \
     -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
 "
 
 PACKAGECONFIG[canberra] = "-DENABLE_CANBERRA=ON,-DENABLE_CANBERRA=OFF,libcanberra"
 PACKAGECONFIG[oauth]    = "-DENABLE_OAUTH2=ON,-DENABLE_OAUTH2=OFF,webkitgtk json-glib"
+PACKAGECONFIG[goa]    = "-DENABLE_GOA=ON,-DENABLE_GOA=OFF,gnome-online-accounts"
 
 # BROKEN: due missing pkg-config in openldap eds' cmake finds host-libs when
 # searching for openldap-libs
@@ -48,17 +48,8 @@
 
 do_configure:append () {
     cp ${WORKDIR}/iconv-detect.h ${S}/src
-
-    # fix native perl shebang
-    sed -i 's:${STAGING_BINDIR_NATIVE}/perl-native:${bindir}:' ${B}/src/tools/addressbook-export/csv2vcard
-
-    # fix abs path for g-ir-scanner-wrapper
-    sed  -i ${B}/build.ninja \
-        -e 's: ${bindir}/g-ir-scanner-wrapper: ${STAGING_BINDIR}/g-ir-scanner-wrapper:g'
-}
-
-do_compile:prepend() {
-    export GIR_EXTRA_LIBS_PATH="${B}/camel/.libs:${B}/libedataserver/.libs"
+    # avoid writing perl-native path into csv2vcard shebang
+    sed -i "s|@PERL@|${bindir}/perl|" ${S}/src/tools/addressbook-export/csv2vcard.in
 }
 
 FILES:${PN} =+ " \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
index 86c7dea..96367aa 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
@@ -9,5 +9,5 @@
 
 inherit gnomebase upstream-version-is-even
 
-SRC_URI[archive.sha256sum] = "ec82951639f32a5cece80a8b0b9aa3f66b7d318e3ee2c1c35234f2e2bde8a418"
-PV = "3.40.2"
+SRC_URI[archive.sha256sum] = "6f5847a1234799073e9585db861c21381a09ed550dc0a2125f00ba5f90bd361d"
+PV = "3.42.3"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Ensure-pam-file-installation.patch b/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Ensure-pam-file-installation.patch
deleted file mode 100644
index 6362d5e..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Ensure-pam-file-installation.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From f7bba53adf8a26f900442a05bb98326747c392b4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Tue, 3 Dec 2019 00:24:27 +0100
-Subject: [PATCH] Ensure pam-file installation
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-All the detection magic does not work for us
-
-Upstream-Status: Inappropriate [OE-specific]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- data/Makefile.am | 12 +-----------
- 1 file changed, 1 insertion(+), 11 deletions(-)
-
-diff --git a/data/Makefile.am b/data/Makefile.am
-index bda9160..dbc3ea3 100644
---- a/data/Makefile.am
-+++ b/data/Makefile.am
-@@ -296,22 +296,12 @@ endif
- 		chown root:root $(DESTDIR)$(logdir) || : ; \
- 	fi
- 
--	system=`uname`; \
--	if test -f /usr/include/security/pam_appl.h; then \
--	  if test '!' -d $(DESTDIR)$(PAM_PREFIX)/pam.d; then \
- 		$(mkinstalldirs) $(DESTDIR)$(PAM_PREFIX)/pam.d; \
- 		chmod 755 $(DESTDIR)$(PAM_PREFIX)/pam.d; \
--	   fi; \
--	   if test $$system = Linux; then \
- 	     for pamfile in $(pam_files); do \
- 	       bn=$$(basename $$pamfile .pam); \
- 	       $(INSTALL_DATA) $(srcdir)/$$pamfile $(DESTDIR)$(PAM_PREFIX)/pam.d/$$bn; \
--	     done; \
--	   fi; \
--	   if test $$system = SunOS; then \
--		echo "Please add PAM authentication for gdm, gdm-autologin and gdm-welcome in $(PAM_PREFIX)/pam.conf!"; \
--	   fi; \
--	fi
-+	     done;
- 
- 	if test '!' -d $(DESTDIR)$(xauthdir); then \
- 		$(mkinstalldirs) $(DESTDIR)$(xauthdir); \
--- 
-2.21.0
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.36.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_41.0.bb
similarity index 70%
rename from meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.36.3.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_41.0.bb
index e4c590e..e31ca13 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.36.3.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_41.0.bb
@@ -10,17 +10,19 @@
     libpam \
 "
 
-REQUIRED_DISTRO_FEATURES = "x11 systemd pam polkit"
+REQUIRED_DISTRO_FEATURES = "x11 systemd pam polkit gobject-introspection-data"
+GIR_MESON_OPTION = ""
 
-inherit gnomebase gsettings gobject-introspection gettext systemd useradd upstream-version-is-even features_check
+GNOMEBASEBUILDCLASS = "meson"
 
-SRC_URI[archive.sha256sum] = "3bfbb620cbc0d1cbd70b4c4376cf4b705db4dc36a37124e5be386ccc25fa7e81"
-SRC_URI += "file://0001-Ensure-pam-file-installation.patch"
+inherit gnomebase gsettings gobject-introspection gettext systemd useradd itstool gnome-help features_check
 
-EXTRA_OECONF = " \
-    --without-plymouth \
-    --with-default-pam-config=openembedded \
-    --with-pam-mod-dir=${base_libdir}/security \
+SRC_URI[archive.sha256sum] = "5738c4293a9f5a80d4a6e9e06f4d0df3e9f313ca7b61bfb4d8afaba983e200dc"
+
+EXTRA_OEMESON = " \
+    -Dplymouth=disabled \
+    -Ddefault-pam-config=openembedded \
+    -Dpam-mod-dir=${base_libdir}/security \
 "
 
 do_install:append() {
@@ -48,7 +50,7 @@
     ${datadir}/dconf \
     ${base_libdir}/security/pam_gdm.so \
     ${localstatedir} \
-    ${systemd_unitdir} \
+    ${systemd_unitdir} ${systemd_user_unitdir} \
 "
 
 RDEPENDS:${PN} += "${PN}-base"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit/0001-Remove-incorrect-args-for-i18n.merge_file.patch b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit/0001-Remove-incorrect-args-for-i18n.merge_file.patch
new file mode 100644
index 0000000..66df3c2
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit/0001-Remove-incorrect-args-for-i18n.merge_file.patch
@@ -0,0 +1,34 @@
+From ea9a15afb76c093aea37f6c56c559b61afd9a9f2 Mon Sep 17 00:00:00 2001
+From: rvalue <i@rvalue.moe>
+Date: Wed, 15 Dec 2021 07:02:09 +0000
+Subject: [PATCH] Remove incorrect args for i18n.merge_file
+
+The positional argument has been silently ignored for a time. And it causes failure
+with "ERROR: Function does not take positional arguments" since meson 0.60.0
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gedit/-/merge_requests/124]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ data/meson.build | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/data/meson.build b/data/meson.build
+index bb61387..28d72a1 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -4,7 +4,6 @@ install_man('gedit.1')
+ 
+ appdata = 'org.gnome.gedit.appdata.xml'
+ appdata_file = i18n.merge_file(
+-  appdata,
+   input: appdata + '.in',
+   output: appdata,
+   po_dir: '../po/',
+@@ -23,7 +22,6 @@ endif
+ 
+ desktop_file = 'org.gnome.gedit.desktop'
+ desktop_output_file = i18n.merge_file(
+-  desktop_file,
+   type: 'desktop',
+   input: desktop_file + '.in',
+   output: desktop_file,
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_40.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_40.1.bb
index 035f5d1..df8ab62 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_40.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_40.1.bb
@@ -23,11 +23,12 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
+SRC_URI += " file://0001-Remove-incorrect-args-for-i18n.merge_file.patch"
 SRC_URI[archive.sha256sum] = "55e394a82cb65678b1ab49526cf5bd43f00d8fba21476a4849051a8e137d3691"
 
 # gobject-introspection is mandatory and cannot be configured
 REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST:append = " introspection"
+GIR_MESON_OPTION = ""
 
 GTKDOC_MESON_OPTION = "gtk_doc"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.2.bb
deleted file mode 100644
index 708523e..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.2.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "A GObject-based Exiv2 wrapper"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2"
-
-DEPENDS = "exiv2"
-
-GNOMEBASEBUILDCLASS = "meson"
-GTKDOC_MESON_OPTION = "gtk_doc"
-
-inherit gnomebase gobject-introspection gtk-doc
-
-SRC_URI[archive.md5sum] = "4c0cd962f021f937507904df147ea750"
-SRC_URI[archive.sha256sum] = "2322b552aca330eef79724a699c51a302345d5e074738578b398b7f2ff97944c"
-
-EXTRA_OEMESON = " \
-    -Dvapi=false \
-    -Dpython2_girdir=no \
-    -Dpython3_girdir=no \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.0.bb
new file mode 100644
index 0000000..b2fd4b0
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A GObject-based Exiv2 wrapper"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2"
+
+DEPENDS = "exiv2 python3-pygobject-native"
+
+GNOMEBASEBUILDCLASS = "meson"
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+inherit gnomebase gobject-introspection gtk-doc python3native
+
+SRC_URI[archive.sha256sum] = "e58279a6ff20b6f64fa499615da5e9b57cf65ba7850b72fafdf17221a9d6d69e"
+
+EXTRA_OEMESON = " \
+    -Dvapi=false \
+    -Dpython3_girdir=${PYTHON_SITEPACKAGES_DIR}/gi/overrides \
+"
+
+PACKAGES =+ "${PN}-python3"
+FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}"
+RDEPENDS:${PN}-python3 = "${PN}"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-Disable-tests-on-host.patch b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-Disable-tests-on-host.patch
deleted file mode 100644
index 0953214..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-Disable-tests-on-host.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 95379de2132786f855e8caec1fd5869225774d02 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Sat, 18 May 2019 01:14:07 +0200
-Subject: [PATCH] Disable tests on host
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate [OE-specific]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- configure.ac | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index fa4e136..056e96e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -335,9 +335,7 @@ AS_IF([test "x$with_dbus_tests" != "xno"], [
- ])
- AM_CONDITIONAL([DBUS_TESTS], [test "x$with_dbus_tests" != "xno"])
- 
--AC_MSG_CHECKING([for a suitable UTF-8 locale to run the tests in])
--TESTS_LOCALE=$($srcdir/build/choose-tests-locale.sh)
--AC_MSG_RESULT([$TESTS_LOCALE])
-+TESTS_LOCALE=C
- AC_SUBST([TESTS_LOCALE])
- 
- AC_SUBST([gjsjsdir], [\${datadir}/gjs-1.0])
--- 
-2.20.1
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-Support-cross-builds-a-bit-better.patch b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-Support-cross-builds-a-bit-better.patch
new file mode 100644
index 0000000..55af681
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-Support-cross-builds-a-bit-better.patch
@@ -0,0 +1,50 @@
+From 550e98013b0e003c1a6771d8e811375913adf16b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Wed, 27 Oct 2021 20:18:47 +0200
+Subject: [PATCH] Support cross builds a bit better
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* Do not build/run mozjs-linked program
+* Do not try to run test applications
+
+Upstream-Status: Submitted[https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/690]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ meson.build | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index dfcc2c3..192b1b5 100644
+--- a/meson.build
++++ b/meson.build
+@@ -234,6 +234,7 @@ release builds of SpiderMonkey. Try configuring SpiderMonkey with
+ --disable-debug.''')
+ endif
+ 
++if not meson.is_cross_build()
+ # Check if a minimal SpiderMonkey program compiles, links, and runs. If not,
+ # it's most likely the case that SpiderMonkey was configured incorrectly, for
+ # example by building mozglue as a shared library.
+@@ -254,6 +255,7 @@ could not be compiled, linked, or run. Most likely you should build it with a
+ different configuration. Check the recommended configuration:
+ https://github.com/spidermonkey-embedders/spidermonkey-embedding-examples/blob/esr78/docs/Building%20SpiderMonkey.md''')
+ endif
++endif # not meson.is_cross_build()
+ 
+ have_printf_alternative_int = cc.compiles('''
+ #include <stdio.h>
+@@ -662,7 +664,7 @@ endif
+ 
+ # Note: The test program in test/ needs to be ported
+ #       to Windows before we can build it on Windows.
+-if host_machine.system() != 'windows'
++if host_machine.system() != 'windows' and not meson.is_cross_build()
+     subdir('test')
+ endif
+ 
+-- 
+2.31.1
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-maint-Avoid-g_once_init_enter-error-in-GCC-11.patch b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-maint-Avoid-g_once_init_enter-error-in-GCC-11.patch
deleted file mode 100644
index 6343a24..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-maint-Avoid-g_once_init_enter-error-in-GCC-11.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From dae0055be61937fe70252f3f4ee09b355aba2b8f Mon Sep 17 00:00:00 2001
-From: Philip Chimento <philip.chimento@gmail.com>
-Date: Sun, 14 Feb 2021 12:20:09 -0800
-Subject: [PATCH] maint: Avoid g_once_init_enter error in GCC 11
-
-On platforms where g_once_init_enter() is defined to use C11 atomic
-builtins, passing a pointer to a volatile value is an error in GCC 11 and
-later, in C++.
-
-More info about the GCC change:
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95378
-https://gcc.gnu.org/pipermail/gcc-patches/2020-June/548283.html
-
-However, it's my understanding that in modern C++ there is no longer a
-need to guard the initialization of these variables. Since C++11, static
-local variables in a function are guaranteed to be initialized only once,
-the first time control passes through that function. So we can just remove
-the g_once_init_enter guard.
-
-More info:
-https://en.cppreference.com/w/cpp/language/storage_duration#Static_local_variables
-
-Stack Overflow answers with quotations from the C++ standard:
-https://stackoverflow.com/a/58804/172999
-https://stackoverflow.com/a/8102145/172999
-
-Closes: #376
----
- gjs/error-types.cpp | 32 +++++++++++++-------------------
- 1 file changed, 13 insertions(+), 19 deletions(-)
-
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gjs/-/commit/f02eaf3a9d3465915eb849428c2d9615e2184a4c]
-diff --git a/gjs/error-types.cpp b/gjs/error-types.cpp
-index 86cb878..5eba61b 100644
---- a/gjs/error-types.cpp
-+++ b/gjs/error-types.cpp
-@@ -31,24 +31,18 @@ G_DEFINE_QUARK(gjs-js-error-quark, gjs_js_error)
- // clang-format on
- 
- GType gjs_js_error_get_type(void) {
--    static volatile GType g_type_id;
--
--    if (g_once_init_enter(&g_type_id)) {
--        static GEnumValue errors[] = {
--            { GJS_JS_ERROR_ERROR, "Error", "error" },
--            { GJS_JS_ERROR_EVAL_ERROR, "EvalError", "eval-error" },
--            { GJS_JS_ERROR_INTERNAL_ERROR, "InternalError", "internal-error" },
--            { GJS_JS_ERROR_RANGE_ERROR, "RangeError", "range-error" },
--            { GJS_JS_ERROR_REFERENCE_ERROR, "ReferenceError", "reference-error" },
--            { GJS_JS_ERROR_STOP_ITERATION, "StopIteration", "stop-iteration" },
--            { GJS_JS_ERROR_SYNTAX_ERROR, "SyntaxError", "syntax-error" },
--            { GJS_JS_ERROR_TYPE_ERROR, "TypeError", "type-error" },
--            { GJS_JS_ERROR_URI_ERROR, "URIError", "uri-error" },
--            { 0, nullptr, nullptr }
--        };
--
--        g_type_id = g_enum_register_static("GjsJSError", errors);
--    }
--
-+    static const GEnumValue errors[] = {
-+        {GJS_JS_ERROR_ERROR, "Error", "error"},
-+        {GJS_JS_ERROR_EVAL_ERROR, "EvalError", "eval-error"},
-+        {GJS_JS_ERROR_INTERNAL_ERROR, "InternalError", "internal-error"},
-+        {GJS_JS_ERROR_RANGE_ERROR, "RangeError", "range-error"},
-+        {GJS_JS_ERROR_REFERENCE_ERROR, "ReferenceError", "reference-error"},
-+        {GJS_JS_ERROR_STOP_ITERATION, "StopIteration", "stop-iteration"},
-+        {GJS_JS_ERROR_SYNTAX_ERROR, "SyntaxError", "syntax-error"},
-+        {GJS_JS_ERROR_TYPE_ERROR, "TypeError", "type-error"},
-+        {GJS_JS_ERROR_URI_ERROR, "URIError", "uri-error"},
-+        {0, nullptr, nullptr}};
-+    // Initialization of static local variable guaranteed only once in C++11
-+    static GType g_type_id = g_enum_register_static("GjsJSError", errors);
-     return g_type_id;
- }
--- 
-2.31.1
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch
new file mode 100644
index 0000000..8777d14
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch
@@ -0,0 +1,34 @@
+From 6a29818204e647d5fad68ed7ca8cac53d301cae6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Wed, 27 Oct 2021 20:04:02 +0200
+Subject: [PATCH] meson.build: Do not add dir installed-tests when
+ installed_tests is false
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Submitted[https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/690]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ meson.build | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 6878e2e..edbbf79 100644
+--- a/meson.build
++++ b/meson.build
+@@ -635,7 +635,9 @@ if not get_option('skip_gtk_tests')
+     have_gtk4 = dependency('gtk4', required: false).found()
+ endif
+ 
+-subdir('installed-tests')
++if get_option('installed_tests')
++    subdir('installed-tests')
++endif
+ 
+ # Note: The test program in test/ needs to be ported
+ #       to Windows before we can build it on Windows.
+-- 
+2.31.1
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.8.bb b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.8.bb
deleted file mode 100644
index 096e277..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.8.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Javascript bindings for GNOME"
-LICENSE = "MIT & LGPLv2+"
-LIC_FILES_CHKSUM = " \
-    file://COPYING;md5=beb29cf17fabe736f0639b09ee6e76fa \
-    file://COPYING.LGPL;md5=3bf50002aefd002f49e7bb854063f7e7 \
-"
-
-GNOMEBASEBUILDCLASS = "autotools"
-
-DEPENDS = "mozjs gtk+3"
-
-inherit gnomebase gsettings gobject-introspection vala gettext features_check upstream-version-is-even pkgconfig
-
-SRC_URI[archive.sha256sum] = "7fb3eb746c17363d9ee47f4a5d0bb048f0075611763eb0da11d85e0e57aff381"
-SRC_URI += "file://0001-Disable-tests-on-host.patch \
-            file://0001-maint-Avoid-g_once_init_enter-error-in-GCC-11.patch \
-"
-
-# gobject-introspection is mandatory and cannot be configured
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST:append = " --enable-introspection --disable-introspection"
-
-EXTRA_OECONF = " \
-    --without-dbus-tests \
-    --disable-installed-tests \
-"
-
-do_configure:prepend() {
-    # make configure find gobject-introspection test code. Although we set
-    # --disable-installed-tests gjs builds them
-    sed -i 's|:$GI_DATADIR|:${STAGING_DIR_NATIVE}$GI_DATADIR|g' ${S}/configure.ac
-}
-
-FILES:${PN} += "${datadir}/gjs-1.0/lsan"
-
-PACKAGES =+ "${PN}-valgrind"
-FILES:${PN}-valgrind = "${datadir}/gjs-1.0/valgrind"
-RDEPENDS:${PN}-valgrind += "valgrind"
-
-# Valgrind not yet available on rv32/rv64
-RDEPENDS:${PN}-valgrind:remove:riscv32 = "valgrind"
-RDEPENDS:${PN}-valgrind:remove:riscv64 = "valgrind"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.70.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.70.0.bb
new file mode 100644
index 0000000..af4d7f6
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.70.0.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Javascript bindings for GNOME"
+LICENSE = "MIT & LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8dcea832f6acf45d856abfeb2d51ec48"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+DEPENDS = "mozjs-78 gtk4"
+
+inherit gnomebase gsettings gobject-introspection vala gettext features_check upstream-version-is-even pkgconfig
+
+SRC_URI[archive.sha256sum] = "4b0629341a318a02374e113ab97f9a9f3325423269fc1e0b043a5ffb01861c5f"
+SRC_URI += " \
+    file://0001-Support-cross-builds-a-bit-better.patch \
+    file://0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch \
+"
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+GIR_MESON_OPTION = ""
+
+EXTRA_OEMESON = " \
+    -Dinstalled_tests=false \
+    -Dskip_dbus_tests=true \
+"
+
+LDFLAGS:append:mipsarch = " -latomic"
+LDFLAGS:append:powerpc = " -latomic"
+LDFLAGS:append:powerpc64 = " -latomic"
+LDFLAGS:append:riscv32 = " -latomic"
+
+FILES:${PN} += "${datadir}/gjs-1.0/lsan"
+
+PACKAGES =+ "${PN}-valgrind"
+FILES:${PN}-valgrind = "${datadir}/gjs-1.0/valgrind"
+RDEPENDS:${PN}-valgrind += "valgrind"
+
+# Valgrind not yet available on rv32/rv64
+RDEPENDS:${PN}-valgrind:remove:riscv32 = "valgrind"
+RDEPENDS:${PN}-valgrind:remove:riscv64 = "valgrind"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.3.bb
deleted file mode 100644
index 3e7b254..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.3.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "GNOME archive library"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = " \
-    gtk+3 \
-    libarchive \
-"
-
-inherit gnomebase gobject-introspection gtk-doc vala
-
-SRC_URI[archive.sha256sum] = "272400f73a375a7e88fdf1e12591bfb8f3f03edf01780cadcd74f70b613e5c04"
-
-do_compile:prepend() {
-    export GIR_EXTRA_LIBS_PATH="${B}/gnome-autoar/.libs"
-}
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.4.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.4.2.bb
new file mode 100644
index 0000000..24e7760
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.4.2.bb
@@ -0,0 +1,21 @@
+SUMMARY = "GNOME archive library"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = " \
+    gtk+3 \
+    libarchive \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+inherit gnomebase gobject-introspection gtk-doc vala
+
+SRC_URI[archive.sha256sum] = "1d20694079300e12feabdb77304a969d1cc190d1d12a949be845cad01c78a5d3"
+
+do_compile:prepend() {
+    export GIR_EXTRA_LIBS_PATH="${B}/gnome-autoar/.libs"
+}
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_3.38.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_3.38.0.bb
deleted file mode 100644
index aa49012..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_3.38.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "GNOME wallpapers"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
-
-SECTION = "x11/gnome"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase allarch gettext upstream-version-is-even allarch
-
-SRC_URI[archive.sha256sum] = "f7712a873a80c9a9fcf3952611effeb2d9aed23a3e8abfcda8afb15c427d1ee3"
-
-FILES:${PN} += " \
-    ${datadir}/backgrounds \
-    ${datadir}/gnome-background-properties \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_41.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_41.0.bb
new file mode 100644
index 0000000..289cc9e
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_41.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "GNOME wallpapers"
+LICENSE = "GPL-2.0-only & CC-BY-2.0 & CC-BY-SA-2.0 & CC-BY-SA-3.0"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=75859989545e37968a99b631ef42722e \
+    file://COPYING_CCBY2;md5=effd72660912b727dfa9722cb295d7be \
+    file://COPYING_CCBYSA2;md5=4737b7833b3212fdf30257f056ef3e64 \
+    file://COPYING_CCBYSA3;md5=b52fb0a6df395efb7047cb6fc56bfd7e \
+"
+
+SECTION = "x11/gnome"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gettext allarch
+
+SRC_URI[archive.sha256sum] = "1da1ac0d261bedf0fcd2c85b480bc65505e23cf51f1143126c0d37717e693145"
+
+FILES:${PN} += " \
+    ${datadir}/backgrounds \
+    ${datadir}/gnome-background-properties \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth/0001-build-Fix-build-for-newer-versions-of-meson.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth/0001-build-Fix-build-for-newer-versions-of-meson.patch
new file mode 100644
index 0000000..16c87b6
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth/0001-build-Fix-build-for-newer-versions-of-meson.patch
@@ -0,0 +1,25 @@
+From 7355664f671bec7852e3c4523d75c27fc77a2eb2 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Fri, 7 Jan 2022 12:51:22 +0100
+Subject: [PATCH] build: Fix build for newer versions of meson
+
+sendto/meson.build:24:5: ERROR: Function does not take positional arguments.
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ sendto/meson.build | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/sendto/meson.build b/sendto/meson.build
+index 24a4e39..3e233a0 100644
+--- a/sendto/meson.build
++++ b/sendto/meson.build
+@@ -22,7 +22,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file (
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.5.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.5.bb
index e3806f6..8eed262 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.5.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.5.bb
@@ -18,6 +18,7 @@
 # gtk-icon-cache bbclass will take care of this for us.
 EXTRA_OEMESON = "-Dicon_update=false"
 
+SRC_URI += " file://0001-build-Fix-build-for-newer-versions-of-meson.patch"
 SRC_URI[archive.md5sum] = "d83faa54abaf64bb40b5313bc233e74e"
 SRC_URI[archive.sha256sum] = "6c949e52c8becc2054daacd604901f66ce5cf709a5fa91c4bb7cacc939b53ea9"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_40.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_41.1.bb
similarity index 87%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_40.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_41.1.bb
index 8c0183c..f4aba65 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_40.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_41.1.bb
@@ -27,7 +27,7 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
-SRC_URI[archive.sha256sum] = "7fe6c561f7b1f485ac106219772e45cc135c983bfa4278dd2d3fd83b57ff6af6"
+SRC_URI[archive.sha256sum] = "0267614afdb25d38b78411b42ebab7bc50c1b6340cc49bb68c0e432d7ddf8a34"
 
 FILES:${PN} += " \
     ${datadir}/dbus-1 \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar/0001-meson.build-fix-meson-0.61-builds.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar/0001-meson.build-fix-meson-0.61-builds.patch
new file mode 100644
index 0000000..8ec980b
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar/0001-meson.build-fix-meson-0.61-builds.patch
@@ -0,0 +1,23 @@
+From 7060aa63abbb64e7c6cbacc167d5f939d2a77e41 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Fri, 21 Jan 2022 21:18:39 +0100
+Subject: [PATCH] meson.build: fix meson 0.61 builds
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/198]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ data/appdata/meson.build | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/data/appdata/meson.build b/data/appdata/meson.build
+index b5ee6540..200c3507 100644
+--- a/data/appdata/meson.build
++++ b/data/appdata/meson.build
+@@ -1,7 +1,6 @@
+ appdata_conf = configuration_data()
+ appdata_conf.set('appid', application_id)
+ appdata = i18n.merge_file(
+-  'appdata',
+   input: configure_file(
+     input: files('org.gnome.Calendar.appdata.xml.in.in'),
+     output: 'org.gnome.Calendar.appdata.xml.in',
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_41.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_41.2.bb
similarity index 78%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_41.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_41.2.bb
index 4b9b14a..4b62a0c 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_41.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_41.2.bb
@@ -22,7 +22,8 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
-SRC_URI[archive.sha256sum] = "73ac923c6618bd0957d6b7c012a00a47bff67ee934249358817433772ceb193f"
+SRC_URI += " file://0001-meson.build-fix-meson-0.61-builds.patch"
+SRC_URI[archive.sha256sum] = "956b2f190322651c67fe667223896f8aa5acf33b70ada5a3b05a5361bda6611a"
 
 FILES:${PN} += " \
     ${datadir}/gnome-shell \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-meson-drop-unused-argument-for-i18n.merge_file.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-meson-drop-unused-argument-for-i18n.merge_file.patch
new file mode 100644
index 0000000..7a1180e
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-meson-drop-unused-argument-for-i18n.merge_file.patch
@@ -0,0 +1,504 @@
+From 90715329c277f21537eb5af86d8f222c4a2abd24 Mon Sep 17 00:00:00 2001
+From: Jan Beich <jbeich@FreeBSD.org>
+Date: Fri, 7 Jan 2022 01:53:52 +0000
+Subject: [PATCH] meson: drop unused argument for i18n.merge_file()
+
+Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0.
+
+panels/applications/meson.build:10:5: ERROR: Function does not take positional arguments.
+panels/background/meson.build:10:5: ERROR: Function does not take positional arguments.
+panels/camera/meson.build:10:5: ERROR: Function does not take positional arguments.
+[...]
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ panels/applications/meson.build                   | 1 -
+ panels/background/meson.build                     | 1 -
+ panels/bluetooth/meson.build                      | 1 -
+ panels/camera/meson.build                         | 1 -
+ panels/color/meson.build                          | 1 -
+ panels/datetime/meson.build                       | 2 --
+ panels/default-apps/meson.build                   | 1 -
+ panels/diagnostics/meson.build                    | 1 -
+ panels/display/meson.build                        | 1 -
+ panels/info-overview/meson.build                  | 1 -
+ panels/keyboard/meson.build                       | 2 --
+ panels/location/meson.build                       | 1 -
+ panels/lock/meson.build                           | 1 -
+ panels/microphone/meson.build                     | 1 -
+ panels/mouse/meson.build                          | 1 -
+ panels/multitasking/meson.build                   | 1 -
+ panels/network/meson.build                        | 1 -
+ panels/notifications/meson.build                  | 1 -
+ panels/online-accounts/meson.build                | 1 -
+ panels/power/meson.build                          | 1 -
+ panels/printers/meson.build                       | 1 -
+ panels/region/meson.build                         | 1 -
+ panels/removable-media/meson.build                | 1 -
+ panels/search/meson.build                         | 1 -
+ panels/sharing/meson.build                        | 2 --
+ panels/sound/meson.build                          | 1 -
+ panels/thunderbolt/meson.build                    | 1 -
+ panels/universal-access/meson.build               | 1 -
+ panels/usage/meson.build                          | 1 -
+ panels/user-accounts/meson.build                  | 2 --
+ panels/wacom/meson.build                          | 1 -
+ panels/wwan/meson.build                           | 1 -
+ shell/appdata/meson.build                         | 1 -
+ shell/meson.build                                 | 1 -
+ tests/interactive-panels/applications/meson.build | 1 -
+ 35 files changed, 39 deletions(-)
+
+diff --git a/panels/applications/meson.build b/panels/applications/meson.build
+index d511bf6..bd4fd64 100644
+--- a/panels/applications/meson.build
++++ b/panels/applications/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-       desktop,
+          type : 'desktop',
+         input : desktop_in,
+        output : desktop,
+diff --git a/panels/background/meson.build b/panels/background/meson.build
+index 730cf54..1f231b9 100644
+--- a/panels/background/meson.build
++++ b/panels/background/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/bluetooth/meson.build b/panels/bluetooth/meson.build
+index c3fce74..4bed812 100644
+--- a/panels/bluetooth/meson.build
++++ b/panels/bluetooth/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/camera/meson.build b/panels/camera/meson.build
+index 4f26118..bf2e727 100644
+--- a/panels/camera/meson.build
++++ b/panels/camera/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/color/meson.build b/panels/color/meson.build
+index 742caf6..bb038cd 100644
+--- a/panels/color/meson.build
++++ b/panels/color/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/datetime/meson.build b/panels/datetime/meson.build
+index 6568394..9bbdc7c 100644
+--- a/panels/datetime/meson.build
++++ b/panels/datetime/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+@@ -20,7 +19,6 @@ i18n.merge_file(
+ polkit = 'org.gnome.controlcenter.@0@.policy'.format(cappletname)
+ 
+ i18n.merge_file(
+-  polkit,
+   input: polkit + '.in',
+   output: polkit,
+   po_dir: po_dir,
+diff --git a/panels/default-apps/meson.build b/panels/default-apps/meson.build
+index 6855006..2a24321 100644
+--- a/panels/default-apps/meson.build
++++ b/panels/default-apps/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/diagnostics/meson.build b/panels/diagnostics/meson.build
+index fac9b4c..2f25c21 100644
+--- a/panels/diagnostics/meson.build
++++ b/panels/diagnostics/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/display/meson.build b/panels/display/meson.build
+index 12f35cc..57bdfcf 100644
+--- a/panels/display/meson.build
++++ b/panels/display/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/info-overview/meson.build b/panels/info-overview/meson.build
+index 2fe10b3..aa81c48 100644
+--- a/panels/info-overview/meson.build
++++ b/panels/info-overview/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/keyboard/meson.build b/panels/keyboard/meson.build
+index a2ae026..ae71c94 100644
+--- a/panels/keyboard/meson.build
++++ b/panels/keyboard/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+@@ -45,7 +44,6 @@ xml_files = [
+ 
+ foreach file: xml_files
+   i18n.merge_file(
+-    file,
+     input: file + '.in',
+     output: file,
+     po_dir: po_dir,
+diff --git a/panels/location/meson.build b/panels/location/meson.build
+index bfc6e82..f4c835d 100644
+--- a/panels/location/meson.build
++++ b/panels/location/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/lock/meson.build b/panels/lock/meson.build
+index 0661af4..18dbfb2 100644
+--- a/panels/lock/meson.build
++++ b/panels/lock/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/microphone/meson.build b/panels/microphone/meson.build
+index e0847a4..bc7f73a 100644
+--- a/panels/microphone/meson.build
++++ b/panels/microphone/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/mouse/meson.build b/panels/mouse/meson.build
+index 357aaae..7b46097 100644
+--- a/panels/mouse/meson.build
++++ b/panels/mouse/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/multitasking/meson.build b/panels/multitasking/meson.build
+index 772b638..53fd0d8 100644
+--- a/panels/multitasking/meson.build
++++ b/panels/multitasking/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/network/meson.build b/panels/network/meson.build
+index d7cd6e4..43a5690 100644
+--- a/panels/network/meson.build
++++ b/panels/network/meson.build
+@@ -25,7 +25,6 @@ foreach name: panel_names
+   )
+ 
+   i18n.merge_file(
+-    desktop,
+     type: 'desktop',
+     input: desktop_in,
+     output: desktop,
+diff --git a/panels/notifications/meson.build b/panels/notifications/meson.build
+index df70261..1b04b24 100644
+--- a/panels/notifications/meson.build
++++ b/panels/notifications/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/online-accounts/meson.build b/panels/online-accounts/meson.build
+index 82f1d56..6870977 100644
+--- a/panels/online-accounts/meson.build
++++ b/panels/online-accounts/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/power/meson.build b/panels/power/meson.build
+index 0e3ea1d..1cafe2a 100644
+--- a/panels/power/meson.build
++++ b/panels/power/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/printers/meson.build b/panels/printers/meson.build
+index ccce64c..042c67a 100644
+--- a/panels/printers/meson.build
++++ b/panels/printers/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/region/meson.build b/panels/region/meson.build
+index 68b7f00..27bc5ff 100644
+--- a/panels/region/meson.build
++++ b/panels/region/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/removable-media/meson.build b/panels/removable-media/meson.build
+index b51799a..fc07c48 100644
+--- a/panels/removable-media/meson.build
++++ b/panels/removable-media/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/search/meson.build b/panels/search/meson.build
+index 39b076b..a4dd79d 100644
+--- a/panels/search/meson.build
++++ b/panels/search/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/sharing/meson.build b/panels/sharing/meson.build
+index b3803bc..49dbb06 100644
+--- a/panels/sharing/meson.build
++++ b/panels/sharing/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+@@ -29,7 +28,6 @@ polkit_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  polkit,
+   input: polkit_in,
+   output: polkit,
+   po_dir: po_dir,
+diff --git a/panels/sound/meson.build b/panels/sound/meson.build
+index fa0f128..18f75dd 100644
+--- a/panels/sound/meson.build
++++ b/panels/sound/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/thunderbolt/meson.build b/panels/thunderbolt/meson.build
+index 53aa9b4..38ef294 100644
+--- a/panels/thunderbolt/meson.build
++++ b/panels/thunderbolt/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/universal-access/meson.build b/panels/universal-access/meson.build
+index 5e225fe..d845e70 100644
+--- a/panels/universal-access/meson.build
++++ b/panels/universal-access/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/usage/meson.build b/panels/usage/meson.build
+index 74f720e..6047ce0 100644
+--- a/panels/usage/meson.build
++++ b/panels/usage/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+diff --git a/panels/user-accounts/meson.build b/panels/user-accounts/meson.build
+index b8ee9d9..fa56aae 100644
+--- a/panels/user-accounts/meson.build
++++ b/panels/user-accounts/meson.build
+@@ -8,7 +8,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
+@@ -85,7 +84,6 @@ meson.add_install_script('sh', '-c',
+ polkit = 'org.gnome.controlcenter.@0@.policy'.format(cappletname)
+ 
+ i18n.merge_file(
+-  polkit,
+   input: polkit + '.in',
+   output: polkit,
+   po_dir: po_dir,
+diff --git a/panels/wacom/meson.build b/panels/wacom/meson.build
+index 5f62220..88a9137 100644
+--- a/panels/wacom/meson.build
++++ b/panels/wacom/meson.build
+@@ -30,7 +30,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-       desktop,
+          type : 'desktop',
+         input : desktop_in,
+        output : desktop,
+diff --git a/panels/wwan/meson.build b/panels/wwan/meson.build
+index 8c1b02f..2ab238a 100644
+--- a/panels/wwan/meson.build
++++ b/panels/wwan/meson.build
+@@ -11,7 +11,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-       desktop,
+          type : 'desktop',
+         input : desktop_in,
+        output : desktop,
+diff --git a/shell/appdata/meson.build b/shell/appdata/meson.build
+index 3b36171..fdb8279 100644
+--- a/shell/appdata/meson.build
++++ b/shell/appdata/meson.build
+@@ -1,7 +1,6 @@
+ appdata = 'gnome-control-center.appdata.xml'
+ 
+ i18n.merge_file(
+-  appdata,
+   input: appdata + '.in',
+   output: appdata,
+   po_dir: po_dir,
+diff --git a/shell/meson.build b/shell/meson.build
+index 89b9659..4667804 100644
+--- a/shell/meson.build
++++ b/shell/meson.build
+@@ -23,7 +23,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-       desktop,
+          type : 'desktop',
+         input : desktop_in,
+        output : desktop,
+diff --git a/tests/interactive-panels/applications/meson.build b/tests/interactive-panels/applications/meson.build
+index 2657f95..82eed4d 100644
+--- a/tests/interactive-panels/applications/meson.build
++++ b/tests/interactive-panels/applications/meson.build
+@@ -12,7 +12,6 @@ desktop_files = [
+ 
+ foreach desktop_file : desktop_files
+   i18n.merge_file(
+-              desktop,
+                 type : 'desktop',
+                input : 'gtp-@0@.desktop.in'.format(desktop_file),
+               output : 'gnome-@0@-panel.desktop'.format(desktop_file),
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_3.36.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_41.2.bb
similarity index 74%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_3.36.4.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_41.2.bb
index f080077..f2b95ed 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_3.36.4.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_41.2.bb
@@ -18,7 +18,7 @@
     samba \
     gsettings-desktop-schemas \
     gnome-settings-daemon \
-    gnome-desktop3 \
+    gnome-desktop \
     gnome-online-accounts \
     libnma \
     gnome-bluetooth \
@@ -26,13 +26,14 @@
     libgtop \
     gsound \
     libpwquality \
+    libhandy \
 "
 
 REQUIRED_DISTRO_FEATURES += "polkit pulseaudio systemd x11"
 
-SRC_URI[archive.md5sum] = "16c228d7de4e9d2d57550791fbca3390"
-SRC_URI[archive.sha256sum] = "ac02346bcf3391aa5c86ed857d76689fdb6e43c2b4b20d3ec6eab0ea9fecf754"
+SRC_URI[archive.sha256sum] = "8271fc6b33ec2418a578304dd3e57d665f0d7cc706a99a97be419848618fe248"
 SRC_URI += "file://0001-Add-meson-option-to-pass-sysroot.patch"
+SRC_URI += "  file://0001-meson-drop-unused-argument-for-i18n.merge_file.patch"
 
 PACKAGECONFIG ??= "ibus ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"
 PACKAGECONFIG[ibus] = "-Dibus=true, -Dibus=false, ibus"
@@ -44,6 +45,14 @@
     -Dcheese=false \
 "
 
+do_install:append() {
+	# If polkit is setup fixup permissions and ownership
+    if [ -d ${D}${datadir}/polkit-1/rules.d ]; then
+        chmod 700 ${D}${datadir}/polkit-1/rules.d
+        chown polkitd:root ${D}${datadir}/polkit-1/rules.d
+    fi
+}
+
 FILES:${PN} += " \
     ${datadir}/dbus-1 \
     ${datadir}/gnome-shell \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch
index 4b3894f..99cf458 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch
@@ -18,14 +18,14 @@
  1 file changed, 1 insertion(+), 6 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index 2e7160d..f83677d 100644
+index cceefe0..df3fdd9 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -58,12 +58,7 @@ udev_dep = dependency('libudev', required: get_option('udev'))
+@@ -59,12 +59,7 @@ udev_dep = dependency('libudev', required: get_option('udev'))
  host_os = host_machine.system()
  host_cpu = host_machine.cpu()
  supported_os = ['linux']
--unsupported_cpus = ['alpha', 'ia64', 'm68k', 'riscv64', 'sh4', 'sparc', 'sparc64']
+-unsupported_cpus = ['alpha', 'ia64', 'm68k', 'sh4', 'sparc', 'sparc64']
 -if supported_os.contains(host_os) and not unsupported_cpus.contains(host_cpu)
 -  seccomp_dep = dependency('libseccomp')
 -else
@@ -36,5 +36,5 @@
  
  xkb_base = xkb_config_dep.get_pkgconfig_variable('xkb_base')
 -- 
-2.20.1
+2.31.1
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.38.8.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.38.8.bb
deleted file mode 100644
index 61de652..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.38.8.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "GNOME library for reading .desktop files"
-SECTION = "x11/gnome"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = " \
-    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-    file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
-"
-
-BPN = "gnome-desktop"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase itstool pkgconfig upstream-version-is-even gobject-introspection features_check
-
-# gobject-introspection is mandatory and cannot be configured
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST:append = " introspection"
-
-SRC_URI[archive.sha256sum] = "04dc3b37c2b7d98df972670ac2a5a33ec7dc278e6814c3d23d099ae6789dcae8"
-
-SRC_URI += " \
-    file://gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch \
-    file://0001-meson.build-Disable-libseccomp-for-all-archs.patch \
-"
-
-DEPENDS += "gsettings-desktop-schemas virtual/libx11 gtk+3 startup-notification xkeyboard-config iso-codes udev"
-
-inherit features_check gtk-doc
-REQUIRED_DISTRO_FEATURES += "x11"
-
-GTKDOC_MESON_OPTION = "gtk_doc"
-EXTRA_OEMESON = "-Ddesktop_docs=false"
-
-PACKAGES =+ "libgnome-desktop3"
-FILES:libgnome-desktop3 = "${libdir}/lib*${SOLIBS} ${datadir}/libgnome-desktop*/pnp.ids ${datadir}/gnome/*xml"
-
-RRECOMMENDS:libgnome-desktop3 += "gsettings-desktop-schemas"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_41.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_41.2.bb
new file mode 100644
index 0000000..3085d27
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_41.2.bb
@@ -0,0 +1,38 @@
+SUMMARY = "GNOME library for reading .desktop files"
+SECTION = "x11/gnome"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+    file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase itstool pkgconfig upstream-version-is-even gobject-introspection features_check gtk-doc
+
+REQUIRED_DISTRO_FEATURES = "x11"
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES += "gobject-introspection-data"
+
+GIR_MESON_OPTION = ""
+
+SRC_URI[archive.sha256sum] = "34329eefdacad2332a6adbae538c8da6e52235c7775a908b7c32040a0753ec6a"
+SRC_URI += " \
+    file://gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch \
+    file://0001-meson.build-Disable-libseccomp-for-all-archs.patch \
+"
+
+DEPENDS += "gsettings-desktop-schemas virtual/libx11 gtk+3 startup-notification xkeyboard-config iso-codes udev"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+EXTRA_OEMESON = "-Ddesktop_docs=false"
+
+PACKAGES =+ "libgnome-desktop"
+RDEPENDS:${PN} += "libgnome-desktop"
+FILES:libgnome-desktop = " \
+    ${libdir}/lib*${SOLIBS} \
+    ${datadir}/libgnome-desktop*/pnp.ids \
+    ${datadir}/gnome/*xml \
+"
+
+RRECOMMENDS:libgnome-desktop += "gsettings-desktop-schemas"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-build-fix-arguments-of-i18n.merge_file.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-build-fix-arguments-of-i18n.merge_file.patch
new file mode 100644
index 0000000..2758af5
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-build-fix-arguments-of-i18n.merge_file.patch
@@ -0,0 +1,34 @@
+From 629ca0e61bb59303d43d7eac44a47ae866cc78f0 Mon Sep 17 00:00:00 2001
+From: rvalue <i@rvalue.moe>
+Date: Fri, 17 Dec 2021 12:29:30 +0000
+Subject: [PATCH] build: fix arguments of i18n.merge_file
+
+`i18n.merge_file` has been ignoring positional arguments for a time
+and explicitly rejects with error since meson 0.60.0
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ data/meson.build | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/data/meson.build b/data/meson.build
+index e38a1d8..38fb520 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -11,7 +11,6 @@ desktops = [
+ 
+ foreach desktop: desktops
+   i18n.merge_file (
+-    desktop,
+     type: 'desktop',
+     input: desktop + '.in',
+     output: desktop,
+@@ -38,7 +37,6 @@ install_data(
+ info = 'org.gnome.DiskUtility.appdata.xml'
+ 
+ i18n.merge_file(
+-  info,
+   input: info + '.in',
+   output: info,
+   po_dir: po_dir,
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_40.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_41.0.bb
similarity index 81%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_40.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_41.0.bb
index 883e1c1..7e254f5 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_40.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_41.0.bb
@@ -26,7 +26,8 @@
 # As soon as elogind is of interest this needs rework: meson option is combo
 PACKAGECONFIG[systemd] = "-Dlogind=libsystemd,-Dlogind=none,systemd"
 
-SRC_URI[archive.sha256sum] = "2a4b99ac11ca23394b28c5584b9e96284e8c5a4da65cf06207de54f42b1ff141"
+SRC_URI += " file://0001-build-fix-arguments-of-i18n.merge_file.patch"
+SRC_URI[archive.sha256sum] = "8743c98fd656062ef862933efe30c5be4c6b322ec02eee154ec70d08ed0895df"
 
 FILES:${PN} += " \
     ${datadir}/metainfo \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.42.1.bb
similarity index 86%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.40.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.42.1.bb
index 9c599bb..3f47de6 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.40.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.42.1.bb
@@ -13,12 +13,12 @@
     polkit \
     metacity \
     gdm \
-    gnome-desktop3 \
+    gnome-desktop \
     gnome-bluetooth \
     gnome-panel \
 "
 
-SRC_URI[archive.sha256sum] = "e03f33100f1982019c2e59bbdcd664549ec5caa0ef2d99e2c0e1272cea08bb3b"
+SRC_URI[archive.sha256sum] = "c8029220acf268c520dbb0750834b2ef4df868324d0e0fb6a80354c80ba8844e"
 
 do_install:append() {
     # no oe-layer has compiz -> remove dead session
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer/0001-Fix-meson-build-with-meson-0.60.0.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer/0001-Fix-meson-build-with-meson-0.60.0.patch
new file mode 100644
index 0000000..f32e120
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer/0001-Fix-meson-build-with-meson-0.60.0.patch
@@ -0,0 +1,40 @@
+From 9c5ce6836498fdb057a7f865f516ce28609f542a Mon Sep 17 00:00:00 2001
+From: r-value <i@rvalue.moe>
+Date: Thu, 30 Dec 2021 17:14:47 +0800
+Subject: [PATCH] Fix meson build with meson 0.60.0+
+
+`i18n.merge_file` has been ignoring positional arguments for a time
+and explicitly rejects with error since meson 0.60.0
+
+Upstrean-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ data/meson.build | 2 +-
+ src/meson.build  | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/data/meson.build b/data/meson.build
+index bfc9caa..8e42134 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -1,6 +1,6 @@
+ appdatadir = join_paths(datadir, 'metainfo')
+ appdata_file = 'org.gnome.font-viewer.appdata.xml'
+-merged_appdata = i18n.merge_file(appdata_file,
++merged_appdata = i18n.merge_file(
+   input: appdata_file + '.in',
+   output: appdata_file,
+   po_dir: '../po',
+diff --git a/src/meson.build b/src/meson.build
+index f863d45..826c59b 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -39,7 +39,7 @@ desktop_file = 'org.gnome.font-viewer.desktop'
+ desktop_conf = configuration_data()
+ desktop_conf.set('VERSION', meson.project_version())
+ desktop_conf.set('APPLICATION_ID', application_id)
+-i18n.merge_file(desktop_file,
++i18n.merge_file(
+   input: configure_file(input: desktop_file + '.in.in',
+     output: desktop_file + '.in',
+     configuration: desktop_conf),
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_41.0.bb
similarity index 69%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_40.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_41.0.bb
index d8e6195..9528b66 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_40.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_41.0.bb
@@ -6,7 +6,7 @@
 
 DEPENDS = " \
     gtk+3 \
-    gnome-desktop3 \
+    gnome-desktop \
     libhandy \
 "
 
@@ -16,7 +16,8 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
-SRC_URI[archive.sha256sum] = "d2cc7686946690dc274a5d0c72841d358d0ccd42d3f34993c698bdf13588fe42"
+SRC_URI += " file://0001-Fix-meson-build-with-meson-0.60.0.patch"
+SRC_URI[archive.sha256sum] = "5dd410331be070e4e034397f2754980e073851d50a2119f2fbf96adc6fe2e876"
 
 FILES:${PN} += " \
     ${datadir}/dbus-1 \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.36.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_3.36.0.bb
similarity index 96%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.36.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_3.36.0.bb
index 2255ff0..c582298 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.36.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_3.36.0.bb
@@ -10,8 +10,6 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
-BPN = "gnome-menus"
-
 SRC_URI[archive.md5sum] = "a8fd71fcf31a87fc799d80396a526829"
 SRC_URI[archive.sha256sum] = "d9348f38bde956fc32753b28c1cde19c175bfdbf1f4d5b06003b3aa09153bb1f"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/files/0001-Update-to-rest-1.0.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/files/0001-Update-to-rest-1.0.patch
new file mode 100644
index 0000000..4a47fb2
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/files/0001-Update-to-rest-1.0.patch
@@ -0,0 +1,160 @@
+From 3c4a6eda580c6e38aeedb63d73ae7b96cc7f9a07 Mon Sep 17 00:00:00 2001
+From: Carlos Garcia Campos <cgarcia@igalia.com>
+Date: Mon, 7 Jun 2021 16:31:18 +0200
+Subject: [PATCH] Update to rest 1.0
+
+Updates to use the rest 1.0 API
+
+Upstream-Status: Inappropriate [rest 1.0 is not released yet]
+
+Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
+---
+ configure.ac                       |  2 +-
+ src/goabackend/goalastfmprovider.c | 26 +++++++++++++-------------
+ src/goabackend/goaoauthprovider.c  | 17 +++++++++++------
+ src/goabackend/goarestproxy.h      |  2 --
+ 4 files changed, 25 insertions(+), 22 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1f88bbd..e43303d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -129,7 +129,7 @@ if test "$enable_backend" != "no"; then
+   AC_SUBST(JSON_GLIB_CFLAGS)
+   AC_SUBST(JSON_GLIB_LIBS)
+ 
+-  PKG_CHECK_MODULES(REST, [rest-0.7])
++  PKG_CHECK_MODULES(REST, [rest-1.0])
+   AC_SUBST(REST_CFLAGS)
+   AC_SUBST(REST_LIBS)
+ 
+diff --git a/src/goabackend/goalastfmprovider.c b/src/goabackend/goalastfmprovider.c
+index cb9a6f2..a2db037 100644
+--- a/src/goabackend/goalastfmprovider.c
++++ b/src/goabackend/goalastfmprovider.c
+@@ -483,18 +483,18 @@ add_account_cb (GoaManager *manager, GAsyncResult *res, gpointer user_data)
+ 
+ static void
+ check_cb (RestProxyCall *call,
+-          const GError *error,
+-          GObject *weak_object,
++          GAsyncResult *result,
+           gpointer user_data)
+ {
+   AddAccountData *data = user_data;
+   JsonNode *session;
+-  JsonParser *parser;
++  JsonParser *parser = NULL;
+   JsonObject *json_obj;
+   JsonObject *session_obj;
+   const gchar *payload;
+ 
+-  parser = NULL;
++  if (!rest_proxy_call_invoke_finish (call, result, &data->error))
++    goto out;
+ 
+   parser = json_parser_new ();
+   payload = rest_proxy_call_get_payload (call);
+@@ -562,12 +562,12 @@ on_rest_proxy_call_cancelled_cb (GCancellable *cancellable, RestProxyCall *call)
+ }
+ 
+ static void
+-lastfm_login (GoaProvider                  *provider,
+-              const gchar                  *username,
+-              const gchar                  *password,
+-              GCancellable                 *cancellable,
+-              RestProxyCallAsyncCallback   callback,
+-              gpointer                     user_data)
++lastfm_login (GoaProvider          *provider,
++              const gchar          *username,
++              const gchar          *password,
++              GCancellable         *cancellable,
++              GAsyncReadyCallback   callback,
++              gpointer              user_data)
+ {
+   AddAccountData *data = user_data;
+   RestProxyCall *call;
+@@ -598,7 +598,7 @@ lastfm_login (GoaProvider                  *provider,
+   rest_proxy_call_add_param (call, "api_sig", sig_md5);
+   rest_proxy_call_add_param (call, "format", "json");
+ 
+-  rest_proxy_call_async (call, callback, NULL, data, &data->error);
++  rest_proxy_call_invoke_async (call, NULL, callback, data);
+ 
+   g_signal_connect (cancellable, "cancelled", G_CALLBACK (on_rest_proxy_call_cancelled_cb), call);
+ 
+@@ -665,7 +665,7 @@ add_account (GoaProvider    *provider,
+                 username,
+                 password,
+                 data.cancellable,
+-                (RestProxyCallAsyncCallback) check_cb,
++                (GAsyncReadyCallback) check_cb,
+                 &data);
+ 
+   gtk_widget_set_sensitive (data.connect_button, FALSE);
+@@ -819,7 +819,7 @@ refresh_account (GoaProvider    *provider,
+                 username,
+                 password,
+                 data.cancellable,
+-                (RestProxyCallAsyncCallback) check_cb,
++                (GAsyncReadyCallback) check_cb,
+                 &data);
+   gtk_widget_set_sensitive (data.connect_button, FALSE);
+   gtk_widget_show (data.progress_grid);
+diff --git a/src/goabackend/goaoauthprovider.c b/src/goabackend/goaoauthprovider.c
+index 0bfab6b..6a69251 100644
+--- a/src/goabackend/goaoauthprovider.c
++++ b/src/goabackend/goaoauthprovider.c
+@@ -699,9 +699,15 @@ on_web_view_decide_policy (WebKitWebView            *web_view,
+ }
+ 
+ static void
+-rest_proxy_call_cb (RestProxyCall *call, const GError *error, GObject *weak_object, gpointer user_data)
++rest_proxy_call_cb (GObject *source, GAsyncResult *result, gpointer user_data)
+ {
++  RestProxyCall *call = REST_PROXY_CALL (source);
+   IdentifyData *data = user_data;
++
++  if (!rest_proxy_call_invoke_finish (call, result, &data->error))
++    {
++      g_prefix_error (&data->error, _("Error getting a Request Token: "));
++    }
+   g_main_loop_quit (data->loop);
+ }
+ 
+@@ -768,11 +774,7 @@ get_tokens_and_identity (GoaOAuthProvider *provider,
+       for (n = 0; request_params[n] != NULL; n += 2)
+         rest_proxy_call_add_param (call, request_params[n], request_params[n+1]);
+     }
+-  if (!rest_proxy_call_async (call, rest_proxy_call_cb, NULL, &data, &data.error))
+-    {
+-      g_prefix_error (&data.error, _("Error getting a Request Token: "));
+-      goto out;
+-    }
++  rest_proxy_call_invoke_async (call, NULL, rest_proxy_call_cb, &data);
+ 
+   goa_utils_set_dialog_title (GOA_PROVIDER (provider), dialog, add_account);
+ 
+@@ -794,6 +796,9 @@ get_tokens_and_identity (GoaOAuthProvider *provider,
+   g_main_loop_run (data.loop);
+   gtk_container_remove (GTK_CONTAINER (grid), spinner);
+ 
++  if (data.error)
++    goto out;
++
+   if (rest_proxy_call_get_status_code (call) != 200)
+     {
+       gchar *msg;
+diff --git a/src/goabackend/goarestproxy.h b/src/goabackend/goarestproxy.h
+index 09fb076..4948cb7 100644
+--- a/src/goabackend/goarestproxy.h
++++ b/src/goabackend/goarestproxy.h
+@@ -27,8 +27,6 @@
+ 
+ G_BEGIN_DECLS
+ 
+-G_DEFINE_AUTOPTR_CLEANUP_FUNC (RestProxy, g_object_unref);
+-
+ #define GOA_TYPE_REST_PROXY (goa_rest_proxy_get_type ())
+ G_DECLARE_FINAL_TYPE (GoaRestProxy, goa_rest_proxy, GOA, REST_PROXY, RestProxy);
+ 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/files/0001-Use-GUri-instead-of-SoupURI.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/files/0001-Use-GUri-instead-of-SoupURI.patch
deleted file mode 100644
index 11fc96b..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/files/0001-Use-GUri-instead-of-SoupURI.patch
+++ /dev/null
@@ -1,351 +0,0 @@
-From 5a5abbedb171986dbf6f5a37577ec6afa892b66b Mon Sep 17 00:00:00 2001
-From: Carlos Garcia Campos <cgarcia@igalia.com>
-Date: Mon, 7 Jun 2021 16:31:18 +0200
-Subject: [PATCH 1/2] Use GUri instead of SoupURI
-
-In preparation for libsoup3 where SoupURI has been removed in favor of
-GUri.
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/merge_requests/73]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac                         |   2 +-
- src/goabackend/goaoauth2provider.c   |  11 +--
- src/goabackend/goaoauthprovider.c    |   8 +-
- src/goabackend/goaowncloudprovider.c | 107 ++++++++++++++++-----------
- src/goabackend/goawebview.c          |   9 +--
- 5 files changed, 80 insertions(+), 57 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 1f88bbd..7c0b39d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -90,7 +90,7 @@ GTK_DOC_CHECK([1.3])
- # Libraries
- #
- 
--PKG_CHECK_MODULES(GLIB, [glib-2.0 gio-2.0 gio-unix-2.0 >= 2.52])
-+PKG_CHECK_MODULES(GLIB, [glib-2.0 gio-2.0 gio-unix-2.0 >= 2.67.4])
- AC_SUBST(GLIB_CFLAGS)
- AC_SUBST(GLIB_LIBS)
- 
-diff --git a/src/goabackend/goaoauth2provider.c b/src/goabackend/goaoauth2provider.c
-index 3715431..2757838 100644
---- a/src/goabackend/goaoauth2provider.c
-+++ b/src/goabackend/goaoauth2provider.c
-@@ -763,7 +763,7 @@ on_web_view_decide_policy (WebKitWebView            *web_view,
-   GHashTable *key_value_pairs;
-   WebKitNavigationAction *action;
-   WebKitURIRequest *request;
--  SoupURI *uri;
-+  GUri *uri;
-   const gchar *fragment;
-   const gchar *oauth2_error;
-   const gchar *query;
-@@ -793,9 +793,9 @@ on_web_view_decide_policy (WebKitWebView            *web_view,
-   if (!g_str_has_prefix (requested_uri, redirect_uri))
-     goto default_behaviour;
- 
--  uri = soup_uri_new (requested_uri);
--  fragment = soup_uri_get_fragment (uri);
--  query = soup_uri_get_query (uri);
-+  uri = g_uri_parse (requested_uri, G_URI_FLAGS_ENCODED, NULL);
-+  fragment = g_uri_get_fragment (uri);
-+  query = g_uri_get_query (uri);
- 
-   /* Three cases:
-    * 1) we can either have the backend handle the URI for us, or
-@@ -808,7 +808,7 @@ on_web_view_decide_policy (WebKitWebView            *web_view,
-     {
-       gchar *url;
- 
--      url = soup_uri_to_string (uri, FALSE);
-+      url = g_uri_to_string (uri);
-       if (!goa_oauth2_provider_process_redirect_url (self, url, &priv->access_token, &priv->error))
-         {
-           g_prefix_error (&priv->error, _("Authorization response: "));
-@@ -889,6 +889,7 @@ on_web_view_decide_policy (WebKitWebView            *web_view,
-   goto ignore_request;
- 
-  ignore_request:
-+  g_uri_unref (uri);
-   g_assert (response_id != GTK_RESPONSE_NONE);
-   if (response_id < 0)
-     gtk_dialog_response (priv->dialog, response_id);
-diff --git a/src/goabackend/goaoauthprovider.c b/src/goabackend/goaoauthprovider.c
-index 0bfab6b..ff0927e 100644
---- a/src/goabackend/goaoauthprovider.c
-+++ b/src/goabackend/goaoauthprovider.c
-@@ -643,7 +643,7 @@ on_web_view_decide_policy (WebKitWebView            *web_view,
- {
-   GHashTable *key_value_pairs;
-   IdentifyData *data = user_data;
--  SoupURI *uri;
-+  GUri *uri;
-   WebKitNavigationAction *action;
-   WebKitURIRequest *request;
-   const gchar *query;
-@@ -664,8 +664,8 @@ on_web_view_decide_policy (WebKitWebView            *web_view,
-   if (!g_str_has_prefix (requested_uri, redirect_uri))
-     goto default_behaviour;
- 
--  uri = soup_uri_new (requested_uri);
--  query = soup_uri_get_query (uri);
-+  uri = g_uri_parse (requested_uri, G_URI_FLAGS_ENCODED, NULL);
-+  query = g_uri_get_query (uri);
- 
-   if (query != NULL)
-     {
-@@ -678,6 +678,8 @@ on_web_view_decide_policy (WebKitWebView            *web_view,
-       g_hash_table_unref (key_value_pairs);
-     }
- 
-+  g_uri_unref (uri);
-+
-   if (data->oauth_verifier != NULL)
-     goto ignore_request;
- 
-diff --git a/src/goabackend/goaowncloudprovider.c b/src/goabackend/goaowncloudprovider.c
-index d142966..10734be 100644
---- a/src/goabackend/goaowncloudprovider.c
-+++ b/src/goabackend/goaowncloudprovider.c
-@@ -22,8 +22,6 @@
- 
- #include <glib/gi18n-lib.h>
- 
--#include <libsoup/soup.h>
--
- #include "goahttpclient.h"
- #include "goaprovider.h"
- #include "goaowncloudprovider.h"
-@@ -78,45 +76,42 @@ get_provider_features (GoaProvider *provider)
- /* ---------------------------------------------------------------------------------------------------- */
- 
- static char *
--uri_to_string_with_path (SoupURI *soup_uri, const gchar *path)
-+uri_to_string_with_path (GUri *uri, const gchar *path)
- {
-   gchar *uri_string;
-   gchar *uri_tmp;
- 
--  if (soup_uri == NULL)
-+  if (uri == NULL)
-     return NULL;
- 
--  uri_tmp = soup_uri_to_string (soup_uri, FALSE);
-+  uri_tmp = g_uri_to_string (uri);
-   uri_string = g_strconcat (uri_tmp, path, NULL);
-   g_free (uri_tmp);
- 
-   return uri_string;
- }
- 
--static char *get_webdav_uri (SoupURI *soup_uri)
-+static char *get_webdav_uri (GUri *uri)
- {
--  SoupURI *uri_tmp;
-+  GUri *uri_tmp;
-   gchar *uri_webdav;
-   const gchar *scheme;
--  guint port;
- 
--  if (soup_uri == NULL)
-+  if (uri == NULL)
-     return NULL;
- 
--  scheme = soup_uri_get_scheme (soup_uri);
--  port = soup_uri_get_port (soup_uri);
--  uri_tmp = soup_uri_copy (soup_uri);
--
--  if (g_strcmp0 (scheme, SOUP_URI_SCHEME_HTTPS) == 0)
--    soup_uri_set_scheme (uri_tmp, "davs");
--  else
--    soup_uri_set_scheme (uri_tmp, "dav");
--
--  if (!soup_uri_uses_default_port (soup_uri))
--    soup_uri_set_port (uri_tmp, port);
-+  scheme = g_uri_get_scheme (uri);
-+  uri_tmp = g_uri_build (g_uri_get_flags (uri),
-+                         g_strcmp0 (scheme, "https") == 0 ? "davs" : "dav",
-+                         g_uri_get_userinfo (uri),
-+                         g_uri_get_host (uri),
-+                         g_uri_get_port (uri),
-+                         g_uri_get_path (uri),
-+                         g_uri_get_query (uri),
-+                         g_uri_get_fragment (uri));
- 
-   uri_webdav = uri_to_string_with_path (uri_tmp, WEBDAV_ENDPOINT);
--  soup_uri_free (uri_tmp);
-+  g_uri_unref (uri_tmp);
- 
-   return uri_webdav;
- }
-@@ -140,7 +135,7 @@ build_object (GoaProvider         *provider,
-   gchar *uri_carddav;
-   gchar *uri_webdav;
-   GoaPasswordBased *password_based = NULL;
--  SoupURI *uri = NULL;
-+  GUri *uri = NULL;
-   gboolean accept_ssl_errors;
-   gboolean calendar_enabled;
-   gboolean contacts_enabled;
-@@ -176,9 +171,24 @@ build_object (GoaProvider         *provider,
-   account = goa_object_get_account (GOA_OBJECT (object));
-   identity = goa_account_get_identity (account);
-   uri_string = g_key_file_get_string (key_file, group, "Uri", NULL);
--  uri = soup_uri_new (uri_string);
-+  uri = g_uri_parse (uri_string, G_URI_FLAGS_ENCODED, NULL);
-   if (uri != NULL)
--    soup_uri_set_user (uri, identity);
-+    {
-+      GUri *tmp_uri;
-+
-+      tmp_uri = g_uri_build_with_user (g_uri_get_flags (uri),
-+                                       g_uri_get_scheme (uri),
-+                                       identity,
-+                                       g_uri_get_password (uri),
-+                                       g_uri_get_auth_params (uri),
-+                                       g_uri_get_host (uri),
-+                                       g_uri_get_port (uri),
-+                                       g_uri_get_path (uri),
-+                                       g_uri_get_query (uri),
-+                                       g_uri_get_fragment (uri));
-+      g_uri_unref (uri);
-+      uri = tmp_uri;
-+    }
- 
-   accept_ssl_errors = g_key_file_get_boolean (key_file, group, "AcceptSslErrors", NULL);
- 
-@@ -224,7 +234,7 @@ build_object (GoaProvider         *provider,
- 
-  out:
-   g_clear_object (&password_based);
--  g_clear_pointer (&uri, soup_uri_free);
-+  g_clear_pointer (&uri, g_uri_unref);
-   g_free (uri_string);
-   return ret;
- }
-@@ -354,8 +364,11 @@ add_entry (GtkWidget     *grid,
- static gchar *
- normalize_uri (const gchar *address, gchar **server)
- {
--  SoupURI *uri = NULL;
-+  GUri *uri = NULL;
-+  GUri *uri_tmp = NULL;
-   const gchar *path;
-+  const gchar *new_scheme;
-+  gchar *new_path = NULL;
-   gchar *ret = NULL;
-   gchar *scheme = NULL;
-   gchar *uri_string = NULL;
-@@ -384,48 +397,56 @@ normalize_uri (const gchar *address, gchar **server)
-   else
-     goto out;
- 
--  uri = soup_uri_new (uri_string);
-+  uri = g_uri_parse (uri_string, G_URI_FLAGS_ENCODED, NULL);
-   if (uri == NULL)
-     goto out;
- 
-   if (g_strcmp0 (scheme, "dav") == 0)
--    soup_uri_set_scheme (uri, SOUP_URI_SCHEME_HTTP);
-+    new_scheme = "http";
-   else if (g_strcmp0 (scheme, "davs") == 0)
--    soup_uri_set_scheme (uri, SOUP_URI_SCHEME_HTTPS);
-+    new_scheme = "https";
-+  else
-+    new_scheme = g_uri_get_scheme (uri);
- 
--  path = soup_uri_get_path (uri);
-+  path = g_uri_get_path (uri);
-   if (!g_str_has_suffix (path, "/"))
--    {
--      gchar *new_path;
--
-       new_path = g_strconcat (path, "/", NULL);
--      soup_uri_set_path (uri, new_path);
--      path = soup_uri_get_path (uri);
--      g_free (new_path);
--    }
-+
-+  uri_tmp = g_uri_build (g_uri_get_flags (uri),
-+                         new_scheme,
-+                         g_uri_get_userinfo (uri),
-+                         g_uri_get_host (uri),
-+                         g_uri_get_port (uri),
-+                         new_path ? new_path : path,
-+                         g_uri_get_query (uri),
-+                         g_uri_get_fragment (uri));
-+  g_free (new_path);
-+  g_uri_unref (uri);
-+  uri = uri_tmp;
-+  path = g_uri_get_path (uri);
- 
-   if (server != NULL)
-     {
-       gchar *port_string;
-       gchar *pretty_path;
--      guint port;
-+      gint port;
- 
--      port = soup_uri_get_port (uri);
--      port_string = g_strdup_printf (":%u", port);
-+      port = g_uri_get_port (uri);
-+      port_string = g_strdup_printf (":%d", port);
- 
-       pretty_path = g_strdup (path);
-       pretty_path[strlen(pretty_path) - 1] = '\0';
- 
--      *server = g_strconcat (soup_uri_get_host (uri), (port == std_port) ? "" : port_string, pretty_path, NULL);
-+      *server = g_strconcat (g_uri_get_host (uri), (port == std_port || port == -1) ? "" : port_string, pretty_path, NULL);
- 
-       g_free (port_string);
-       g_free (pretty_path);
-     }
- 
--  ret = soup_uri_to_string (uri, FALSE);
-+  ret = g_uri_to_string (uri);
- 
-  out:
--  g_clear_pointer (&uri, soup_uri_free);
-+  g_clear_pointer (&uri, g_uri_unref);
-   g_free (scheme);
-   g_free (uri_string);
-   return ret;
-diff --git a/src/goabackend/goawebview.c b/src/goabackend/goawebview.c
-index 2438e0c..3df600e 100644
---- a/src/goabackend/goawebview.c
-+++ b/src/goabackend/goawebview.c
-@@ -25,7 +25,6 @@
- #include <glib.h>
- #include <glib/gi18n-lib.h>
- #include <jsc/jsc.h>
--#include <libsoup/soup.h>
- #include <webkit2/webkit2.h>
- 
- #include "goawebview.h"
-@@ -77,17 +76,17 @@ web_view_clear_notify_progress_cb (gpointer user_data)
- static char *
- web_view_create_loading_title (const gchar *url)
- {
--  SoupURI *uri;
-+  GUri *uri;
-   const gchar *hostname;
-   gchar *title;
- 
-   g_return_val_if_fail (url != NULL && url[0] != '\0', NULL);
- 
--  uri = soup_uri_new (url);
--  hostname = soup_uri_get_host (uri);
-+  uri = g_uri_parse (url, G_URI_FLAGS_NONE, NULL);
-+  hostname = g_uri_get_host (uri);
-   /* translators: %s here is the address of the web page */
-   title = g_strdup_printf (_("Loading “%s”…"), hostname);
--  soup_uri_free (uri);
-+  g_uri_unref (uri);
- 
-   return title;
- }
--- 
-2.33.1
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/files/0002-Port-to-libsoup3.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/files/0002-Port-to-libsoup3.patch
deleted file mode 100644
index 0f95908..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/files/0002-Port-to-libsoup3.patch
+++ /dev/null
@@ -1,841 +0,0 @@
-From 7d8c5208d095ce8e7123935263ef7a02f0381ae5 Mon Sep 17 00:00:00 2001
-From: Carlos Garcia Campos <cgarcia@igalia.com>
-Date: Mon, 7 Jun 2021 18:28:42 +0200
-Subject: [PATCH 2/2] Port to libsoup3
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/merge_requests/73]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac                       |   8 +-
- src/daemon/goadaemon.c             |   2 +-
- src/goabackend/goaewsclient.c      | 178 +++++++++++++++--------------
- src/goabackend/goahttpclient.c     |  72 +++++++-----
- src/goabackend/goalastfmprovider.c |  24 ++--
- src/goabackend/goaoauth2provider.c |   6 +-
- src/goabackend/goaoauthprovider.c  |  23 ++--
- src/goabackend/goarestproxy.h      |   2 -
- src/goabackend/goasouplogger.c     |  33 ++----
- src/goabackend/goasouplogger.h     |   3 -
- src/goabackend/goautils.c          |  27 ++---
- 11 files changed, 199 insertions(+), 179 deletions(-)
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -113,15 +113,15 @@ if test "$enable_backend" != "no"; then
-   AC_SUBST(GTK_CFLAGS)
-   AC_SUBST(GTK_LIBS)
- 
--  PKG_CHECK_MODULES(JAVASCRIPT_CORE_GTK, [javascriptcoregtk-4.0 >= 2.12.0])
-+  PKG_CHECK_MODULES(JAVASCRIPT_CORE_GTK, [javascriptcoregtk-4.1 >= 2.33.1])
-   AC_SUBST(JAVASCRIPT_CORE_GTK_CFLAGS)
-   AC_SUBST(JAVASCRIPT_CORE_GTK_LIBS)
- 
--  PKG_CHECK_MODULES(WEBKIT_GTK, [webkit2gtk-4.0 >= 2.26.0])
-+  PKG_CHECK_MODULES(WEBKIT_GTK, [webkit2gtk-4.1 >= 2.33.1])
-   AC_SUBST(WEBKIT_GTK_CFLAGS)
-   AC_SUBST(WEBKIT_GTK_LIBS)
- 
--  PKG_CHECK_MODULES(LIBSOUP, [libsoup-2.4 >= 2.42])
-+  PKG_CHECK_MODULES(LIBSOUP, [libsoup-3.0 >= 2.99.8])
-   AC_SUBST(LIBSOUP_CFLAGS)
-   AC_SUBST(LIBSOUP_LIBS)
- 
-@@ -129,7 +129,7 @@ if test "$enable_backend" != "no"; then
-   AC_SUBST(JSON_GLIB_CFLAGS)
-   AC_SUBST(JSON_GLIB_LIBS)
- 
--  PKG_CHECK_MODULES(REST, [rest-0.7])
-+  PKG_CHECK_MODULES(REST, [rest-1.0])
-   AC_SUBST(REST_CFLAGS)
-   AC_SUBST(REST_LIBS)
- 
---- a/src/daemon/goadaemon.c
-+++ b/src/daemon/goadaemon.c
-@@ -1496,7 +1496,7 @@ is_authorization_error (GError *error)
-   g_return_val_if_fail (error != NULL, FALSE);
- 
-   ret = FALSE;
--  if (error->domain == REST_PROXY_ERROR || error->domain == SOUP_HTTP_ERROR)
-+  if (error->domain == REST_PROXY_ERROR)
-     {
-       if (SOUP_STATUS_IS_CLIENT_ERROR (error->code))
-         ret = TRUE;
---- a/src/goabackend/goaewsclient.c
-+++ b/src/goabackend/goaewsclient.c
-@@ -63,6 +63,12 @@ goa_ews_client_new (void)
- 
- typedef struct
- {
-+  gchar *password;
-+  gchar *username;
-+} AutodiscoverAuthData;
-+
-+typedef struct
-+{
-   GCancellable *cancellable;
-   GError *error;
-   SoupMessage *msgs[2];
-@@ -71,13 +77,16 @@ typedef struct
-   guint pending;
-   gulong cancellable_id;
-   xmlOutputBuffer *buf;
-+  AutodiscoverAuthData *auth;
- } AutodiscoverData;
- 
--typedef struct
-+static void
-+ews_client_autodiscover_auth_data_free (AutodiscoverAuthData *auth)
- {
--  gchar *password;
--  gchar *username;
--} AutodiscoverAuthData;
-+  g_free (auth->password);
-+  g_free (auth->username);
-+  g_slice_free (AutodiscoverAuthData, auth);
-+}
- 
- static void
- ews_client_autodiscover_data_free (gpointer user_data)
-@@ -92,22 +101,12 @@ ews_client_autodiscover_data_free (gpoin
- 
-   g_clear_error (&data->error);
- 
--  /* soup_session_queue_message stole the references to data->msgs */
-   xmlOutputBufferClose (data->buf);
-+  g_clear_pointer (&data->auth, ews_client_autodiscover_auth_data_free);
-   g_object_unref (data->session);
-   g_slice_free (AutodiscoverData, data);
- }
- 
--static void
--ews_client_autodiscover_auth_data_free (gpointer data, GClosure *closure)
--{
--  AutodiscoverAuthData *auth = data;
--
--  g_free (auth->password);
--  g_free (auth->username);
--  g_slice_free (AutodiscoverAuthData, auth);
--}
--
- static gboolean
- ews_client_check_node (const xmlNode *node, const gchar *name)
- {
-@@ -115,9 +114,8 @@ ews_client_check_node (const xmlNode *no
-   return node->type == XML_ELEMENT_NODE && !g_strcmp0 ((gchar *) node->name, name);
- }
- 
--static void
--ews_client_authenticate (SoupSession *session,
--                         SoupMessage *msg,
-+static gboolean
-+ews_client_authenticate (SoupMessage *msg,
-                          SoupAuth *auth,
-                          gboolean retrying,
-                          gpointer user_data)
-@@ -125,26 +123,26 @@ ews_client_authenticate (SoupSession *se
-   AutodiscoverAuthData *data = user_data;
- 
-   if (retrying)
--    return;
-+    return FALSE;
- 
-   soup_auth_authenticate (auth, data->username, data->password);
-+  return TRUE;
- }
- 
--static void
--ews_client_request_started (SoupSession *session, SoupMessage *msg, SoupSocket *socket, gpointer user_data)
-+static gboolean
-+ews_client_accept_certificate (SoupMessage *msg, GTlsCertificate *cert, GTlsCertificateFlags cert_flags, gpointer user_data)
- {
-   AutodiscoverData *data;
-   GTask *task = G_TASK (user_data);
--  GTlsCertificateFlags cert_flags;
- 
--  g_debug ("goa_ews_client_autodiscover(): request started (%p)", msg);
-+  g_debug ("goa_ews_client_autodiscover(): accept certificate for request (%p)", msg);
- 
-   data = (AutodiscoverData *) g_task_get_task_data (task);
- 
--  if (!data->accept_ssl_errors
--      && soup_message_get_https_status (msg, NULL, &cert_flags)
--      && cert_flags != 0
--      && data->error == NULL)
-+  if (data->accept_ssl_errors || cert_flags == 0)
-+    return TRUE;
-+
-+  if (data->error == NULL)
-     {
-       goa_utils_set_error_ssl (&data->error, cert_flags);
- 
-@@ -153,6 +151,8 @@ ews_client_request_started (SoupSession
-        */
-       soup_session_abort (data->session);
-     }
-+
-+  return FALSE;
- }
- 
- static void
-@@ -192,8 +192,10 @@ ews_client_autodiscover_parse_protocol (
- }
- 
- static void
--ews_client_autodiscover_response_cb (SoupSession *session, SoupMessage *msg, gpointer user_data)
-+ews_client_autodiscover_response_cb (SoupSession *session, GAsyncResult *result, gpointer user_data)
- {
-+  SoupMessage *msg;
-+  GBytes *body;
-   GError *error = NULL;
-   AutodiscoverData *data;
-   GTask *task = G_TASK (user_data);
-@@ -204,7 +206,11 @@ ews_client_autodiscover_response_cb (Sou
-   xmlDoc *doc;
-   xmlNode *node;
- 
--  g_debug ("goa_ews_client_autodiscover(): response (%p, %u)", msg, msg->status_code);
-+  msg = soup_session_get_async_result_message (session, result);
-+
-+  g_debug ("goa_ews_client_autodiscover(): response (%p, %u)", msg, soup_message_get_status (msg));
-+
-+  body = soup_session_send_and_read_finish (session, result, &error);
- 
-   data = (AutodiscoverData *) g_task_get_task_data (task);
-   size = sizeof (data->msgs) / sizeof (data->msgs[0]);
-@@ -215,16 +221,19 @@ ews_client_autodiscover_response_cb (Sou
-         break;
-     }
-   if (idx == size || data->pending == 0)
--    return;
-+    {
-+      g_bytes_unref (body);
-+      g_clear_object (&error);
-+      g_object_unref (msg);
-+      return;
-+    }
- 
-   data->msgs[idx] = NULL;
--  status = msg->status_code;
--
--  /* status == SOUP_STATUS_CANCELLED, if we are being aborted by the
-+  /* G_IO_ERROR_CANCELLED, if we are being aborted by the
-    * GCancellable, an SSL error or another message that was
-    * successful.
-    */
--  if (status == SOUP_STATUS_CANCELLED)
-+  if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
-     {
-       /* If we are being aborted by the GCancellable, then the
-        * GTask is responsible for setting the GError automatically.
-@@ -235,21 +244,23 @@ ews_client_autodiscover_response_cb (Sou
-        */
-       goto out;
-     }
--  else if (status != SOUP_STATUS_OK)
-+
-+  status = soup_message_get_status (msg);
-+  if (status != SOUP_STATUS_OK || error)
-     {
--      g_warning ("goa_ews_client_autodiscover() failed: %u — %s", msg->status_code, msg->reason_phrase);
-+      g_warning ("goa_ews_client_autodiscover() failed: %u — %s", status, soup_message_get_reason_phrase (msg));
-       g_return_if_fail (data->error == NULL);
- 
--      goa_utils_set_error_soup (&error, msg);
-+      if (!error)
-+        goa_utils_set_error_soup (&error, msg);
-       goto out;
-     }
- 
--  soup_buffer_free (soup_message_body_flatten (SOUP_MESSAGE (msg)->response_body));
-   g_debug ("The response headers");
-   g_debug ("===================");
--  g_debug ("%s", SOUP_MESSAGE (msg)->response_body->data);
-+  g_debug ("%s", (char *)g_bytes_get_data (body, NULL));
- 
--  doc = xmlReadMemory (msg->response_body->data, msg->response_body->length, "autodiscover.xml", NULL, 0);
-+  doc = xmlReadMemory (g_bytes_get_data (body, NULL), g_bytes_get_size (body), "autodiscover.xml", NULL, 0);
-   if (doc == NULL)
-     {
-       g_set_error (&error,
-@@ -333,7 +344,7 @@ ews_client_autodiscover_response_cb (Sou
-           /* The callback (ie. this function) will be invoked after we
-            * have returned to the main loop.
-            */
--          soup_session_cancel_message (data->session, data->msgs[idx], SOUP_STATUS_CANCELLED);
-+          g_cancellable_cancel (data->cancellable);
-         }
-     }
- 
-@@ -368,6 +379,7 @@ ews_client_autodiscover_response_cb (Sou
- 
-   g_clear_error (&error);
-   g_object_unref (task);
-+  g_object_unref (msg);
- }
- 
- static xmlDoc *
-@@ -399,52 +411,54 @@ static void
- ews_client_post_restarted_cb (SoupMessage *msg, gpointer data)
- {
-   xmlOutputBuffer *buf = data;
-+  GBytes *body;
- 
-   /* In violation of RFC2616, libsoup will change a POST request to
-    * a GET on receiving a 302 redirect.
-    */
-   g_debug ("Working around libsoup bug with redirect");
--  g_object_set (msg, SOUP_MESSAGE_METHOD, "POST", NULL);
-+  g_object_set (msg, "method", "POST", NULL);
- 
--  soup_message_set_request(msg,
--                           "text/xml; charset=utf-8",
--                           SOUP_MEMORY_COPY,
- #ifdef LIBXML2_NEW_BUFFER
--                           (gchar *) xmlOutputBufferGetContent(buf),
--                           xmlOutputBufferGetSize(buf));
-+  body = g_bytes_new (xmlOutputBufferGetContent (buf), xmlOutputBufferGetSize (buf));
- #else
--                           (gchar *) buf->buffer->content,
--                           buf->buffer->use);
-+  body = g_bytes_new (buf->buffer->content, buf->buffer->use);
- #endif
-+  soup_message_set_request_body_from_bytes (msg, "text/xml; charset=utf-8", body);
-+  g_bytes_unref (body);
- }
- 
- static SoupMessage *
--ews_client_create_msg_for_url (const gchar *url, xmlOutputBuffer *buf)
-+ews_client_create_msg_for_url (const gchar *url, xmlOutputBuffer *buf, AutodiscoverAuthData *auth, GTask *task)
- {
-   SoupMessage *msg;
-+  GBytes *body = NULL;
- 
-   msg = soup_message_new (buf != NULL ? "POST" : "GET", url);
--  soup_message_headers_append (msg->request_headers, "User-Agent", "libews/0.1");
-+  soup_message_headers_append (soup_message_get_request_headers (msg),
-+                               "User-Agent", "libews/0.1");
-+
-+  g_signal_connect (msg, "authenticate",
-+                    G_CALLBACK (ews_client_authenticate),
-+                    auth);
-+  g_signal_connect (msg, "accept-certificate",
-+                    G_CALLBACK (ews_client_accept_certificate),
-+                    task);
- 
-   if (buf != NULL)
-     {
--      soup_message_set_request (msg,
--                                "text/xml; charset=utf-8",
--                                SOUP_MEMORY_COPY,
- #ifdef LIBXML2_NEW_BUFFER
--                                (gchar *) xmlOutputBufferGetContent(buf),
--                                xmlOutputBufferGetSize(buf));
-+      body = g_bytes_new (xmlOutputBufferGetContent (buf), xmlOutputBufferGetSize (buf));
- #else
--                                (gchar *) buf->buffer->content,
--                                buf->buffer->use);
-+      body = g_bytes_new (buf->buffer->content, buf->buffer->use);
- #endif
-+      soup_message_set_request_body_from_bytes (msg, "text/xml; charset=utf-8", body);
-       g_signal_connect (msg, "restarted", G_CALLBACK (ews_client_post_restarted_cb), buf);
-     }
- 
--  soup_buffer_free (soup_message_body_flatten (SOUP_MESSAGE (msg)->request_body));
-   g_debug ("The request headers");
-   g_debug ("===================");
--  g_debug ("%s", SOUP_MESSAGE (msg)->request_body->data);
-+  g_debug ("%s", body ? (char *)g_bytes_get_data (body, NULL) : "");
- 
-   return msg;
- }
-@@ -497,12 +511,15 @@ goa_ews_client_autodiscover (GoaEwsClien
-    * (successful) one win.
-    */
- 
-+  auth = g_slice_new0 (AutodiscoverAuthData);
-+  auth->username = g_strdup (username);
-+  auth->password = g_strdup (password);
-+  data->auth = auth;
-   data->buf = buf;
--  data->msgs[0] = ews_client_create_msg_for_url (url1, buf);
--  data->msgs[1] = ews_client_create_msg_for_url (url2, buf);
-+  data->msgs[0] = ews_client_create_msg_for_url (url1, buf, auth, task);
-+  data->msgs[1] = ews_client_create_msg_for_url (url2, buf, auth, task);
-   data->pending = sizeof (data->msgs) / sizeof (data->msgs[0]);
--  data->session = soup_session_new_with_options (SOUP_SESSION_SSL_STRICT, FALSE,
--                                                 NULL);
-+  data->session = soup_session_new ();
-   soup_session_add_feature_by_type (data->session, SOUP_TYPE_AUTH_NTLM);
-   data->accept_ssl_errors = accept_ssl_errors;
- 
-@@ -515,26 +532,19 @@ goa_ews_client_autodiscover (GoaEwsClien
-                                                     NULL);
-     }
- 
--  auth = g_slice_new0 (AutodiscoverAuthData);
--  auth->username = g_strdup (username);
--  auth->password = g_strdup (password);
--  g_signal_connect_data (data->session,
--                         "authenticate",
--                         G_CALLBACK (ews_client_authenticate),
--                         auth,
--                         ews_client_autodiscover_auth_data_free,
--                         0);
--
--  g_signal_connect (data->session, "request-started", G_CALLBACK (ews_client_request_started), task);
--
--  soup_session_queue_message (data->session,
--                              data->msgs[0],
--                              ews_client_autodiscover_response_cb,
--                              g_object_ref (task));
--  soup_session_queue_message (data->session,
--                              data->msgs[1],
--                              ews_client_autodiscover_response_cb,
--                              g_object_ref (task));
-+
-+  soup_session_send_and_read_async (data->session,
-+                                    data->msgs[0],
-+                                    G_PRIORITY_DEFAULT,
-+                                    data->cancellable,
-+                                    (GAsyncReadyCallback)ews_client_autodiscover_response_cb,
-+                                    g_object_ref (task));
-+  soup_session_send_and_read_async (data->session,
-+                                    data->msgs[1],
-+                                    G_PRIORITY_DEFAULT,
-+                                    data->cancellable,
-+                                    (GAsyncReadyCallback)ews_client_autodiscover_response_cb,
-+                                    g_object_ref (task));
- 
-   g_free (url2);
-   g_free (url1);
---- a/src/goabackend/goahttpclient.c
-+++ b/src/goabackend/goahttpclient.c
-@@ -82,7 +82,7 @@ http_client_check_data_free (gpointer us
- 
-   g_clear_error (&data->error);
- 
--  /* soup_session_queue_message stole the references to data->msg */
-+  g_object_unref (data->msg);
-   g_object_unref (data->session);
-   g_slice_free (CheckData, data);
- }
-@@ -97,9 +97,8 @@ http_client_check_auth_data_free (gpoint
-   g_slice_free (CheckAuthData, auth);
- }
- 
--static void
--http_client_authenticate (SoupSession *session,
--                         SoupMessage *msg,
-+static gboolean
-+http_client_authenticate (SoupMessage *msg,
-                          SoupAuth *auth,
-                          gboolean retrying,
-                          gpointer user_data)
-@@ -107,26 +106,26 @@ http_client_authenticate (SoupSession *s
-   CheckAuthData *data = user_data;
- 
-   if (retrying)
--    return;
-+    return FALSE;
- 
-   soup_auth_authenticate (auth, data->username, data->password);
-+  return TRUE;
- }
- 
--static void
--http_client_request_started (SoupSession *session, SoupMessage *msg, SoupSocket *socket, gpointer user_data)
-+static gboolean
-+http_client_accept_certificate (SoupMessage *msg, GTlsCertificate *cert, GTlsCertificateFlags cert_flags, gpointer user_data)
- {
-   CheckData *data;
-   GTask *task = G_TASK (user_data);
--  GTlsCertificateFlags cert_flags;
- 
-   g_debug ("goa_http_client_check(): request started (%p)", msg);
- 
-   data = (CheckData *) g_task_get_task_data (task);
- 
--  if (!data->accept_ssl_errors
--      && soup_message_get_https_status (msg, NULL, &cert_flags)
--      && cert_flags != 0
--      && data->error == NULL)
-+  if (data->accept_ssl_errors || cert_flags == 0)
-+    return TRUE;
-+
-+  if (data->error == NULL)
-     {
-       goa_utils_set_error_ssl (&data->error, cert_flags);
- 
-@@ -135,6 +134,8 @@ http_client_request_started (SoupSession
-        */
-       soup_session_abort (data->session);
-     }
-+
-+  return FALSE;
- }
- 
- static void
-@@ -154,21 +155,27 @@ http_client_check_cancelled_cb (GCancell
- }
- 
- static void
--http_client_check_response_cb (SoupSession *session, SoupMessage *msg, gpointer user_data)
-+http_client_check_response_cb (SoupSession *session, GAsyncResult *result, gpointer user_data)
- {
-+  SoupMessage *msg;
-   CheckData *data;
--  GCancellable *cancellable;
-   GTask *task = G_TASK (user_data);
-+  guint status;
-+  GBytes *body;
-+  GError *error = NULL;
- 
--  g_debug ("goa_http_client_check(): response (%p, %u)", msg, msg->status_code);
-+  msg = soup_session_get_async_result_message (session, result);
-+
-+  g_debug ("goa_http_client_check(): response (%p, %u)", msg, soup_message_get_status (msg));
-+
-+  body = soup_session_send_and_read_finish (session, result, &error);
- 
-   data = (CheckData *) g_task_get_task_data (task);
--  cancellable = g_task_get_cancellable (task);
- 
--  /* status == SOUP_STATUS_CANCELLED, if we are being aborted by the
-+  /* G_IO_ERROR_CANCELLED, if we are being aborted by the
-    * GCancellable or due to an SSL error.
-    */
--  if (msg->status_code == SOUP_STATUS_CANCELLED)
-+  if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
-     {
-       /* If we are being aborted by the GCancellable then there might
-        * or might not be an error. The GCancellable can be triggered
-@@ -176,20 +183,27 @@ http_client_check_response_cb (SoupSessi
-        * of events across threads.
-        */
-       if (data->error == NULL)
--        g_cancellable_set_error_if_cancelled (cancellable, &data->error);
-+        g_propagate_error (&data->error, g_steal_pointer (&error));
- 
-       goto out;
-     }
--  else if (msg->status_code != SOUP_STATUS_OK)
-+
-+  status = soup_message_get_status (msg);
-+  if (status != SOUP_STATUS_OK || error)
-     {
--      g_warning ("goa_http_client_check() failed: %u — %s", msg->status_code, msg->reason_phrase);
-+      g_warning ("goa_http_client_check() failed: %u — %s", status, soup_message_get_reason_phrase (msg));
-       g_return_if_fail (data->error == NULL);
- 
--      goa_utils_set_error_soup (&data->error, msg);
-+      if (error)
-+        g_propagate_error (&data->error, g_steal_pointer (&error));
-+      else
-+        goa_utils_set_error_soup (&data->error, msg);
-       goto out;
-     }
- 
-  out:
-+  g_clear_error (&error);
-+  g_clear_pointer (&body, g_bytes_unref);
-   if (data->error != NULL)
-     g_task_return_error (task, g_steal_pointer (&data->error));
-   else
-@@ -225,7 +239,7 @@ goa_http_client_check (GoaHttpClient
-   data = g_slice_new0 (CheckData);
-   g_task_set_task_data (task, data, http_client_check_data_free);
- 
--  data->session = soup_session_new_with_options (SOUP_SESSION_SSL_STRICT, FALSE, NULL);
-+  data->session = soup_session_new ();
- 
-   logger = goa_soup_logger_new (SOUP_LOGGER_LOG_BODY, -1);
-   soup_session_add_feature (data->session, SOUP_SESSION_FEATURE (logger));
-@@ -246,15 +260,21 @@ goa_http_client_check (GoaHttpClient
-   auth = g_slice_new0 (CheckAuthData);
-   auth->username = g_strdup (username);
-   auth->password = g_strdup (password);
--  g_signal_connect_data (data->session,
-+  g_signal_connect_data (data->msg,
-                          "authenticate",
-                          G_CALLBACK (http_client_authenticate),
-                          auth,
-                          http_client_check_auth_data_free,
-                          0);
- 
--  g_signal_connect (data->session, "request-started", G_CALLBACK (http_client_request_started), task);
--  soup_session_queue_message (data->session, data->msg, http_client_check_response_cb, g_object_ref (task));
-+  g_signal_connect (data->msg, "accept-certificate", G_CALLBACK (http_client_accept_certificate), task);
-+
-+  soup_session_send_and_read_async (data->session,
-+                                    data->msg,
-+                                    G_PRIORITY_DEFAULT,
-+                                    data->cancellable,
-+                                    (GAsyncReadyCallback)http_client_check_response_cb,
-+                                    g_object_ref (task));
- 
-   g_object_unref (task);
- }
---- a/src/goabackend/goalastfmprovider.c
-+++ b/src/goabackend/goalastfmprovider.c
-@@ -483,8 +483,7 @@ add_account_cb (GoaManager *manager, GAs
- 
- static void
- check_cb (RestProxyCall *call,
--          const GError *error,
--          GObject *weak_object,
-+          GAsyncResult *result,
-           gpointer user_data)
- {
-   AddAccountData *data = user_data;
-@@ -494,6 +493,9 @@ check_cb (RestProxyCall *call,
-   JsonObject *session_obj;
-   const gchar *payload;
- 
-+  if (!rest_proxy_call_invoke_finish (call, result, &data->error))
-+    goto out;
-+
-   parser = NULL;
- 
-   parser = json_parser_new ();
-@@ -562,12 +564,12 @@ on_rest_proxy_call_cancelled_cb (GCancel
- }
- 
- static void
--lastfm_login (GoaProvider                  *provider,
--              const gchar                  *username,
--              const gchar                  *password,
--              GCancellable                 *cancellable,
--              RestProxyCallAsyncCallback   callback,
--              gpointer                     user_data)
-+lastfm_login (GoaProvider          *provider,
-+              const gchar          *username,
-+              const gchar          *password,
-+              GCancellable         *cancellable,
-+              GAsyncReadyCallback   callback,
-+              gpointer              user_data)
- {
-   AddAccountData *data = user_data;
-   RestProxyCall *call;
-@@ -598,7 +600,7 @@ lastfm_login (GoaProvider
-   rest_proxy_call_add_param (call, "api_sig", sig_md5);
-   rest_proxy_call_add_param (call, "format", "json");
- 
--  rest_proxy_call_async (call, callback, NULL, data, &data->error);
-+  rest_proxy_call_invoke_async (call, NULL, callback, data);
- 
-   g_signal_connect (cancellable, "cancelled", G_CALLBACK (on_rest_proxy_call_cancelled_cb), call);
- 
-@@ -665,7 +667,7 @@ add_account (GoaProvider    *provider,
-                 username,
-                 password,
-                 data.cancellable,
--                (RestProxyCallAsyncCallback) check_cb,
-+                (GAsyncReadyCallback) check_cb,
-                 &data);
- 
-   gtk_widget_set_sensitive (data.connect_button, FALSE);
-@@ -819,7 +821,7 @@ refresh_account (GoaProvider    *provide
-                 username,
-                 password,
-                 data.cancellable,
--                (RestProxyCallAsyncCallback) check_cb,
-+                (GAsyncReadyCallback) check_cb,
-                 &data);
-   gtk_widget_set_sensitive (data.connect_button, FALSE);
-   gtk_widget_show (data.progress_grid);
---- a/src/goabackend/goaoauth2provider.c
-+++ b/src/goabackend/goaoauth2provider.c
-@@ -95,11 +95,15 @@ is_authorization_error (GError *error)
-   g_return_val_if_fail (error != NULL, FALSE);
- 
-   ret = FALSE;
--  if (error->domain == REST_PROXY_ERROR || error->domain == SOUP_HTTP_ERROR)
-+  if (error->domain == REST_PROXY_ERROR)
-     {
-       if (SOUP_STATUS_IS_CLIENT_ERROR (error->code))
-         ret = TRUE;
-     }
-+  else if (g_error_matches (error, GOA_ERROR, GOA_ERROR_NOT_AUTHORIZED))
-+    {
-+      ret = TRUE;
-+    }
-   return ret;
- }
- 
---- a/src/goabackend/goaoauthprovider.c
-+++ b/src/goabackend/goaoauthprovider.c
-@@ -77,11 +77,15 @@ is_authorization_error (GError *error)
-   g_return_val_if_fail (error != NULL, FALSE);
- 
-   ret = FALSE;
--  if (error->domain == REST_PROXY_ERROR || error->domain == SOUP_HTTP_ERROR)
-+  if (error->domain == REST_PROXY_ERROR)
-     {
-       if (SOUP_STATUS_IS_CLIENT_ERROR (error->code))
-         ret = TRUE;
-     }
-+  else if (g_error_matches (error, GOA_ERROR, GOA_ERROR_NOT_AUTHORIZED))
-+    {
-+      ret = TRUE;
-+    }
-   return ret;
- }
- 
-@@ -701,9 +705,15 @@ on_web_view_decide_policy (WebKitWebView
- }
- 
- static void
--rest_proxy_call_cb (RestProxyCall *call, const GError *error, GObject *weak_object, gpointer user_data)
-+rest_proxy_call_cb (GObject *source, GAsyncResult *result, gpointer user_data)
- {
-+  RestProxyCall *call = REST_PROXY_CALL (source);
-   IdentifyData *data = user_data;
-+
-+  if (!rest_proxy_call_invoke_finish (call, result, &data->error))
-+    {
-+      g_prefix_error (&data->error, _("Error getting a Request Token: "));
-+    }
-   g_main_loop_quit (data->loop);
- }
- 
-@@ -770,11 +780,7 @@ get_tokens_and_identity (GoaOAuthProvide
-       for (n = 0; request_params[n] != NULL; n += 2)
-         rest_proxy_call_add_param (call, request_params[n], request_params[n+1]);
-     }
--  if (!rest_proxy_call_async (call, rest_proxy_call_cb, NULL, &data, &data.error))
--    {
--      g_prefix_error (&data.error, _("Error getting a Request Token: "));
--      goto out;
--    }
-+  rest_proxy_call_invoke_async (call, NULL, rest_proxy_call_cb, &data);
- 
-   goa_utils_set_dialog_title (GOA_PROVIDER (provider), dialog, add_account);
- 
-@@ -796,6 +802,9 @@ get_tokens_and_identity (GoaOAuthProvide
-   g_main_loop_run (data.loop);
-   gtk_container_remove (GTK_CONTAINER (grid), spinner);
- 
-+  if (data.error)
-+    goto out;
-+
-   if (rest_proxy_call_get_status_code (call) != 200)
-     {
-       gchar *msg;
---- a/src/goabackend/goarestproxy.h
-+++ b/src/goabackend/goarestproxy.h
-@@ -27,8 +27,6 @@
- 
- G_BEGIN_DECLS
- 
--G_DEFINE_AUTOPTR_CLEANUP_FUNC (RestProxy, g_object_unref);
--
- #define GOA_TYPE_REST_PROXY (goa_rest_proxy_get_type ())
- G_DECLARE_FINAL_TYPE (GoaRestProxy, goa_rest_proxy, GOA, REST_PROXY, RestProxy);
- 
---- a/src/goabackend/goasouplogger.c
-+++ b/src/goabackend/goasouplogger.c
-@@ -22,15 +22,6 @@
- 
- #include "goasouplogger.h"
- 
--struct _GoaSoupLogger
--{
--  SoupLogger parent_instance;
--};
--
--G_DEFINE_TYPE (GoaSoupLogger, goa_soup_logger, SOUP_TYPE_LOGGER);
--
--/* ---------------------------------------------------------------------------------------------------- */
--
- static void
- goa_soup_logger_printer (SoupLogger         *logger,
-                          SoupLoggerLogLevel  level,
-@@ -45,24 +36,16 @@ goa_soup_logger_printer (SoupLogger
-   g_free (message);
- }
- 
--/* ---------------------------------------------------------------------------------------------------- */
--
--static void
--goa_soup_logger_init (GoaSoupLogger *self)
--{
--  soup_logger_set_printer (SOUP_LOGGER (self), goa_soup_logger_printer, NULL, NULL);
--}
--
--static void
--goa_soup_logger_class_init (GoaSoupLoggerClass *klass)
--{
--}
--
--/* ---------------------------------------------------------------------------------------------------- */
--
- SoupLogger *
- goa_soup_logger_new (SoupLoggerLogLevel   level,
-                      gint                 max_body_size)
- {
--  return g_object_new (GOA_TYPE_SOUP_LOGGER, "level", level, "max-body-size", max_body_size, NULL);
-+  SoupLogger *logger;
-+
-+  logger = soup_logger_new (level);
-+  if (max_body_size != -1)
-+    soup_logger_set_max_body_size (logger, max_body_size);
-+  soup_logger_set_printer (logger, goa_soup_logger_printer, NULL, NULL);
-+
-+  return logger;
- }
---- a/src/goabackend/goasouplogger.h
-+++ b/src/goabackend/goasouplogger.h
-@@ -27,9 +27,6 @@
- 
- G_BEGIN_DECLS
- 
--#define GOA_TYPE_SOUP_LOGGER (goa_soup_logger_get_type ())
--G_DECLARE_FINAL_TYPE (GoaSoupLogger, goa_soup_logger, GOA, SOUP_LOGGER, SoupLogger);
--
- SoupLogger     *goa_soup_logger_new                (SoupLoggerLogLevel   level,
-                                                     gint                 max_body_size);
- 
---- a/src/goabackend/goautils.c
-+++ b/src/goabackend/goautils.c
-@@ -841,29 +841,26 @@ goa_utils_set_error_soup (GError **err,
- {
-   gchar *error_msg = NULL;
-   gint error_code = GOA_ERROR_FAILED; /* TODO: more specific */
-+  guint status_code;
- 
--  switch (msg->status_code)
-+  status_code = soup_message_get_status (msg);
-+  switch (status_code)
-     {
--    case SOUP_STATUS_CANT_RESOLVE:
--      error_msg = g_strdup (_("Cannot resolve hostname"));
--      break;
--
--    case SOUP_STATUS_CANT_RESOLVE_PROXY:
--      error_msg = g_strdup (_("Cannot resolve proxy hostname"));
--      break;
--
-     case SOUP_STATUS_INTERNAL_SERVER_ERROR:
-     case SOUP_STATUS_NOT_FOUND:
-       error_msg = g_strdup (_("Cannot find WebDAV endpoint"));
-       break;
- 
--    case SOUP_STATUS_UNAUTHORIZED:
--      error_msg = g_strdup (_("Authentication failed"));
--      error_code = GOA_ERROR_NOT_AUTHORIZED;
--      break;
--
-     default:
--      error_msg = g_strdup_printf (_("Code: %u — Unexpected response from server"), msg->status_code);
-+      if (SOUP_STATUS_IS_CLIENT_ERROR (status_code))
-+        {
-+          error_msg = g_strdup (_("Authentication failed"));
-+          error_code = GOA_ERROR_NOT_AUTHORIZED;
-+        }
-+      else
-+        {
-+          error_msg = g_strdup_printf (_("Code: %u — Unexpected response from server"), status_code);
-+        }
-       break;
-     }
- 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.43.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.43.1.bb
index 8580d29..3dca7e3 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.43.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.43.1.bb
@@ -11,16 +11,13 @@
 
 DEPENDS = "glib-2.0"
 
-SRC_URI += "\
-    file://0001-Use-GUri-instead-of-SoupURI.patch \
-    file://0002-Port-to-libsoup3.patch \
-"
+SRC_URI += "file://0001-Update-to-rest-1.0.patch"
 SRC_URI[archive.sha256sum] = "3bcb3663a12efd4482d9fdda3e171676267fc739eb6440a2b7109a0e87afb7e8"
 
 # backend is required for gnome-control-center
 PACKAGECONFIG = "backend other"
 
-PACKAGECONFIG[backend] = "--enable-backend,--disable-backend,gtk+3 webkitgtk libsoup json-glib libsecret rest libxml2"
+PACKAGECONFIG[backend] = "--enable-backend,--disable-backend,gtk+3 webkitgtk libsoup-2.4 json-glib libsecret rest libxml2"
 PACKAGECONFIG[krb5] = "--enable-kerberos, --disable-kerberos , krb5 gcr"
 
 # no extra dependencies!
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.36.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.42.0.bb
similarity index 72%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.36.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.42.0.bb
index 9a7c377..9c9add4 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.36.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.42.0.bb
@@ -12,13 +12,12 @@
     polkit \
     dconf \
     libgweather \
-    gnome-menus3 \
-    gnome-desktop3 \
+    gnome-menus \
+    gnome-desktop \
     gdm \
 "
 
-SRC_URI[archive.md5sum] = "b6bb185ce1724f4b19699042d90282a6"
-SRC_URI[archive.sha256sum] = "1e21b726dd397523ae79d29eb538bcae09e3427e23ccd63f28eb25ef3552abd3"
+SRC_URI[archive.sha256sum] = "aea8c0efc2edba20e97ad4695179cd0a2538e64c2904702cc8c594e8e0898703"
 
 PACKAGECONFIG[eds] = "--enable-eds,--disable-eds,evolution-data-server"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos/0001-meson-remove-incorrect-args-for-i18n.merge_file.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos/0001-meson-remove-incorrect-args-for-i18n.merge_file.patch
new file mode 100644
index 0000000..9fb7a5b
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos/0001-meson-remove-incorrect-args-for-i18n.merge_file.patch
@@ -0,0 +1,31 @@
+From a112e8a089851035945b6848849149bb36787906 Mon Sep 17 00:00:00 2001
+From: rvalue <i@rvalue.moe>
+Date: Fri, 21 Jan 2022 12:36:02 +0000
+Subject: [PATCH] meson: remove incorrect args for i18n.merge_file
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ data/meson.build | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/data/meson.build b/data/meson.build
+index 6e7192e..94271de 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -3,7 +3,6 @@ subdir('icons')
+ appdata = photos_namespace + '.appdata.xml'
+ 
+ i18n.merge_file(
+-  appdata,
+   input: appdata + '.in',
+   output: appdata,
+   po_dir: po_dir,
+@@ -23,7 +22,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: desktop,
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_40.0.bb
index fb1b7d3..ae8ab31 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_40.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_40.0.bb
@@ -30,6 +30,7 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
+SRC_URI += " file://0001-meson-remove-incorrect-args-for-i18n.merge_file.patch"
 SRC_URI[archive.sha256sum] = "e02d73e138af8b2868b5cad7faa1bdd278aeade3b6c3c92836511a4e6f3af1af"
 
 do_install:append() {
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot/0001-meson-remove-extraneous-positional-argument.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot/0001-meson-remove-extraneous-positional-argument.patch
new file mode 100644
index 0000000..c80fda6
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot/0001-meson-remove-extraneous-positional-argument.patch
@@ -0,0 +1,36 @@
+From c38c604b06a63f690d67318d4ef97ac556264876 Mon Sep 17 00:00:00 2001
+From: Jack Hill <jackhill@jackhill.us>
+Date: Thu, 18 Nov 2021 00:46:58 -0500
+Subject: [PATCH] meson: remove extraneous positional argument
+
+* data/meson.build (desktop_file)
+  (metainfo_file): Remove extraneous positional argument.
+
+Closes #186
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ data/meson.build | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/data/meson.build b/data/meson.build
+index fd570b3..4e2e2e8 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -1,7 +1,6 @@
+ gnome = import('gnome')
+ 
+ desktop_file = i18n.merge_file(
+-  'desktop',
+   type: 'desktop',
+   input: 'org.gnome.Screenshot.desktop.in',
+   output: 'org.gnome.Screenshot.desktop',
+@@ -23,7 +22,6 @@ if desktop_file_validate.found()
+ endif
+ 
+ metainfo_file = i18n.merge_file(
+-  'appdata',
+   input: 'org.gnome.Screenshot.metainfo.xml.in',
+   output: 'org.gnome.Screenshot.metainfo.xml',
+   po_dir: join_paths(meson.current_source_dir(), '../po'),
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot_40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot_41.0.bb
similarity index 76%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot_40.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot_41.0.bb
index 72272f9..18d73d8 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot_40.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot_41.0.bb
@@ -10,7 +10,8 @@
 
 inherit features_check gnomebase gettext upstream-version-is-even pkgconfig
 
-SRC_URI[archive.sha256sum] = "368ca95a39e39dc2406c849e8c4205e3f574acdd874c30741873455e3d21a5e2"
+SRC_URI += " file://0001-meson-remove-extraneous-positional-argument.patch"
+SRC_URI[archive.sha256sum] = "4adb7dec926428f74263d5796673cf142e4720b6e768f5468a8d0933f98c9597"
 
 DEPENDS += "glib-2.0 glib-2.0-native gtk+3 libhandy xext"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_3.36.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_41.3.bb
similarity index 84%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_3.36.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_41.3.bb
index 3fdcfd8..010f815 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_3.36.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_41.3.bb
@@ -11,7 +11,7 @@
     libsm \
     virtual/libx11 \
     gtk+3 \
-    gnome-desktop3 \
+    gnome-desktop \
     gsettings-desktop-schemas \
     json-glib \
 "
@@ -22,8 +22,7 @@
 
 REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data"
 
-SRC_URI[archive.md5sum] = "cd23e30c4991ca1f477020c67ea3a540"
-SRC_URI[archive.sha256sum] = "d54b38b818c812f64b82cc6a1279e3ca5a6e391ee662793322a38cab5670bb7a"
+SRC_URI[archive.sha256sum] = "ee4a229053f522624054889609335b885287cf67bbde0dc9fd882b01ec9b5b39"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit',d)}"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon/0001-build-remove-positional-i18n.merge_file-arguments.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon/0001-build-remove-positional-i18n.merge_file-arguments.patch
new file mode 100644
index 0000000..cb758c7
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon/0001-build-remove-positional-i18n.merge_file-arguments.patch
@@ -0,0 +1,40 @@
+From 56535d2f1ec64e847e5fbd0613e78bd0dc046519 Mon Sep 17 00:00:00 2001
+From: Michal Vasilek <michal@vasilek.cz>
+Date: Fri, 14 Jan 2022 23:55:06 +0100
+Subject: [PATCH] build: remove positional i18n.merge_file arguments
+
+otherwise building with meson 0.61+ fails:
+
+    ERROR: Function does not take positional arguments.
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/281]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ plugins/power/meson.build | 1 -
+ plugins/wacom/meson.build | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/plugins/power/meson.build b/plugins/power/meson.build
+index 69e619f..014bb6d 100644
+--- a/plugins/power/meson.build
++++ b/plugins/power/meson.build
+@@ -76,7 +76,6 @@ if host_is_linux
+   )
+ 
+   i18n.merge_file(
+-    policy,
+     input: policy_in,
+     output: policy,
+     po_dir: po_dir,
+diff --git a/plugins/wacom/meson.build b/plugins/wacom/meson.build
+index d8dd0ec..c00323d 100644
+--- a/plugins/wacom/meson.build
++++ b/plugins/wacom/meson.build
+@@ -7,7 +7,6 @@ policy_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  policy,
+   input: policy_in,
+   output: policy,
+   po_dir: po_dir,
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.36.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_41.0.bb
similarity index 80%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.36.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_41.0.bb
index 171e46e..78d6811 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.36.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_41.0.bb
@@ -10,7 +10,7 @@
     colord \
     geocode-glib \
     gcr \
-    gnome-desktop3 \
+    gnome-desktop \
     libgweather \
     lcms \
     libcanberra \
@@ -23,11 +23,10 @@
 
 # all these are mandatory
 REQUIRED_DISTRO_FEATURES = "x11 polkit pulseaudio systemd gobject-introspection-data"
+GIR_MESON_OPTION = ""
 
-SRC_URI[archive.md5sum] = "102dc488a6a726e4050cf5ab7e967e8d"
-SRC_URI[archive.sha256sum] = "3e33dbd319b562a5ab602dcab6de3ca81b85f8346672e90ec632b36bbf15ee4b"
-
-UNKNOWN_CONFIGURE_WHITELIST = "introspection"
+SRC_URI += " file://0001-build-remove-positional-i18n.merge_file-arguments.patch"
+SRC_URI[archive.sha256sum] = "e6ca6361fbd1deab2de1a1e390d4f14167cf47b1c547dbb8b65a5d89e9663884"
 
 PACKAGECONFIG ??= " \
     cups nm \
@@ -44,5 +43,5 @@
 
 FILES:${PN} += " \
     ${systemd_user_unitdir} \
-    ${libdir}/gnome-settings-daemon-3.0/libgsd.so \
+    ${libdir}/gnome-settings-daemon-41/libgsd.so \
 "
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_3.34.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_3.34.2.bb
deleted file mode 100644
index f74a853..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_3.34.2.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "GNOME Shell Extensions"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4cb3a392cbf81a9e685ec13b88c4c101"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase gettext gsettings features_check upstream-version-is-even
-
-REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data"
-
-SRC_URI[archive.md5sum] = "d3a69cde0c3e3dc0b0c243af026c4b7a"
-SRC_URI[archive.sha256sum] = "a1e16e75a06ea511435a6f7478de92aff21d02d4e1d59ec8ce7fb6396819b4b8"
-
-DEPENDS += " \
-    sassc-native \
-"
-
-EXTRA_OEMESON += " \
-    -Dextension_set=all \
-    -Dclassic_mode=true \
-"
-
-RDEPENDS:${PN} += "gnome-shell"
-
-FILES:${PN} += " \
-    ${datadir}/gnome-shell \
-    ${datadir}/gnome-session \
-    ${datadir}/xsessions \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_41.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_41.1.bb
new file mode 100644
index 0000000..16184f2
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_41.1.bb
@@ -0,0 +1,35 @@
+SUMMARY = "GNOME Shell Extensions"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4cb3a392cbf81a9e685ec13b88c4c101"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gettext gsettings features_check
+
+REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data"
+
+SRC_URI[archive.sha256sum] = "d0e6f2273f08d52d925fc2bb66b47b28e5ef50d1b8a14020877c662423d507d3"
+
+DEPENDS += " \
+    sassc-native \
+"
+
+EXTRA_OEMESON += " \
+    -Dextension_set=all \
+    -Dclassic_mode=true \
+"
+
+do_install:append() {
+    # enable gnome-classic session for wayland
+    install -d ${D}${datadir}/wayland-sessions
+    install -m644 ${D}${datadir}/xsessions/gnome-classic.desktop ${D}${datadir}/wayland-sessions/
+}
+
+RDEPENDS:${PN} += "gnome-shell"
+
+FILES:${PN} += " \
+    ${datadir}/gnome-shell \
+    ${datadir}/gnome-session \
+    ${datadir}/wayland-sessions \
+    ${datadir}/xsessions \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0001-Introduce-options-gjs_path-to-optionally-set-path-to.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0001-Introduce-options-gjs_path-to-optionally-set-path-to.patch
new file mode 100644
index 0000000..15e3c8c
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0001-Introduce-options-gjs_path-to-optionally-set-path-to.patch
@@ -0,0 +1,112 @@
+From 3bf597b16e23cd2ce0ee3b05c23b46add5e26cd4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Thu, 28 Oct 2021 18:57:24 +0200
+Subject: [PATCH] Introduce options 'gjs_path' to optionally set path to gjs
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ js/dbusServices/meson.build                  | 2 +-
+ meson.build                                  | 6 +++++-
+ meson_options.txt                            | 6 ++++++
+ subprojects/extensions-app/js/meson.build    | 2 +-
+ subprojects/extensions-app/meson.build       | 7 ++++++-
+ subprojects/extensions-app/meson_options.txt | 6 ++++++
+ 6 files changed, 25 insertions(+), 4 deletions(-)
+
+diff --git a/js/dbusServices/meson.build b/js/dbusServices/meson.build
+index 68e8bd12d..16efaebe5 100644
+--- a/js/dbusServices/meson.build
++++ b/js/dbusServices/meson.build
+@@ -27,7 +27,7 @@ foreach service, dir : dbus_services
+ 
+   serviceconf = configuration_data()
+   serviceconf.set('service', service)
+-  serviceconf.set('gjs', gjs.path())
++  serviceconf.set('gjs', gjs)
+   serviceconf.set('pkgdatadir', pkgdatadir)
+ 
+   configure_file(
+diff --git a/meson.build b/meson.build
+index d4583ecf2..3448c6312 100644
+--- a/meson.build
++++ b/meson.build
+@@ -138,7 +138,11 @@ endif
+ 
+ mutter_typelibdir = mutter_dep.get_pkgconfig_variable('typelibdir')
+ python = find_program('python3')
+-gjs = find_program('gjs')
++if get_option('gjs_path') == ''
++  gjs = find_program('gjs')
++else
++  gjs = get_option('gjs_path')
++endif
+ 
+ cc = meson.get_compiler('c')
+ 
+diff --git a/meson_options.txt b/meson_options.txt
+index f0f2ecf6c..a45f2e453 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -45,3 +45,9 @@ option('soup2',
+   value: true,
+   description: 'Use Soup 2.4 instead of Soup 3. Must be in sync with libgweather'
+ )
++
++option('gjs_path',
++  type: 'string',
++  value: '',
++  description: 'Instead of searching gjs executable, configure path'
++)
+diff --git a/subprojects/extensions-app/js/meson.build b/subprojects/extensions-app/js/meson.build
+index f311db6e0..8f7bba4e4 100644
+--- a/subprojects/extensions-app/js/meson.build
++++ b/subprojects/extensions-app/js/meson.build
+@@ -9,7 +9,7 @@ endif
+ launcherconf.set('prefix', prefix)
+ launcherconf.set('libdir', libdir)
+ launcherconf.set('pkgdatadir', pkgdatadir)
+-launcherconf.set('gjs', gjs.path())
++launcherconf.set('gjs', gjs)
+ 
+ configure_file(
+   input: prgname + '.in',
+diff --git a/subprojects/extensions-app/meson.build b/subprojects/extensions-app/meson.build
+index f9ccfc24d..bdf118975 100644
+--- a/subprojects/extensions-app/meson.build
++++ b/subprojects/extensions-app/meson.build
+@@ -44,7 +44,12 @@ localedir = join_paths(datadir, 'locale')
+ metainfodir = join_paths(datadir, 'metainfo')
+ servicedir = join_paths(datadir, 'dbus-1', 'services')
+ 
+-gjs = find_program('gjs')
++if get_option('gjs_path') == ''
++  gjs = find_program('gjs')
++else
++  gjs = get_option('gjs_path')
++endif
++
+ appstream_util = find_program('appstream-util', required: false)
+ desktop_file_validate = find_program('desktop-file-validate', required: false)
+ 
+diff --git a/subprojects/extensions-app/meson_options.txt b/subprojects/extensions-app/meson_options.txt
+index ca2eb4115..2787785bf 100644
+--- a/subprojects/extensions-app/meson_options.txt
++++ b/subprojects/extensions-app/meson_options.txt
+@@ -10,3 +10,9 @@ option('profile',
+   ],
+   value: 'default'
+ )
++
++option('gjs_path',
++  type: 'string',
++  value: '',
++  description: 'Instead of searching gjs executable, configure path'
++)
+-- 
+2.31.1
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0001-build-Drop-incorrect-positional-arg.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0001-build-Drop-incorrect-positional-arg.patch
new file mode 100644
index 0000000..edc32de
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0001-build-Drop-incorrect-positional-arg.patch
@@ -0,0 +1,81 @@
+From 6f797c21703ce9e996da17c49879e2a16dfbc256 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
+Date: Thu, 23 Dec 2021 17:18:16 +0100
+Subject: [PATCH] build: Drop incorrect positional arg
+
+Unlike other targets that take a name, i18n.merge_file() does not.
+
+Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2078>
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ data/meson.build                                      | 2 +-
+ src/calendar-server/meson.build                       | 2 +-
+ subprojects/extensions-app/data/meson.build           | 2 +-
+ subprojects/extensions-app/data/metainfo/meson.build  | 2 +-
+ subprojects/extensions-tool/src/templates/meson.build | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/data/meson.build b/data/meson.build
+index f924fdf..76ae45c 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -16,7 +16,7 @@ desktopconf.set('bindir', bindir)
+ desktopconf.set('systemd_hidden', have_systemd ? 'true' : 'false')
+ 
+ foreach desktop_file : desktop_files
+-  i18n.merge_file('desktop',
++  i18n.merge_file(
+     input: configure_file(
+       input: desktop_file + '.in.in',
+       output: desktop_file + '.in',
+diff --git a/src/calendar-server/meson.build b/src/calendar-server/meson.build
+index 7363282..8b4ef41 100644
+--- a/src/calendar-server/meson.build
++++ b/src/calendar-server/meson.build
+@@ -27,7 +27,7 @@ configure_file(
+   install_dir: servicedir
+ )
+ 
+-i18n.merge_file('evolution-calendar.desktop',
++i18n.merge_file(
+   input: 'evolution-calendar.desktop.in',
+   output: 'evolution-calendar.desktop',
+   po_dir: po_dir,
+diff --git a/subprojects/extensions-app/data/meson.build b/subprojects/extensions-app/data/meson.build
+index d7e7d40..4b601e8 100644
+--- a/subprojects/extensions-app/data/meson.build
++++ b/subprojects/extensions-app/data/meson.build
+@@ -14,7 +14,7 @@ desktopconf.set('bindir', bindir)
+ desktopconf.set('app_id', app_id)
+ desktopconf.set('prgname', prgname)
+ 
+-i18n.merge_file('desktop',
++i18n.merge_file(
+   input: configure_file(
+     input: base_id + '.desktop.in.in',
+     output: desktop_file + '.in',
+diff --git a/subprojects/extensions-app/data/metainfo/meson.build b/subprojects/extensions-app/data/metainfo/meson.build
+index c4962c0..a19bfa8 100644
+--- a/subprojects/extensions-app/data/metainfo/meson.build
++++ b/subprojects/extensions-app/data/metainfo/meson.build
+@@ -1,5 +1,5 @@
+ metainfo = app_id + '.metainfo.xml'
+-i18n.merge_file(metainfo,
++i18n.merge_file(
+   input: base_id + '.metainfo.xml.in',
+   output: metainfo,
+   po_dir: po_dir,
+diff --git a/subprojects/extensions-tool/src/templates/meson.build b/subprojects/extensions-tool/src/templates/meson.build
+index 670e2bf..d693bfa 100644
+--- a/subprojects/extensions-tool/src/templates/meson.build
++++ b/subprojects/extensions-tool/src/templates/meson.build
+@@ -4,7 +4,7 @@ template_metas = [
+ ]
+ template_deps = []
+ foreach template : template_metas
+-  template_deps += i18n.merge_file(template,
++  template_deps += i18n.merge_file(
+     input: template + '.in',
+     output: template,
+     po_dir: po_dir,
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_3.34.5.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_41.2.bb
similarity index 74%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_3.34.5.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_41.2.bb
index b1aa519..d1b1989 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_3.34.5.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_41.2.bb
@@ -4,14 +4,14 @@
 
 GNOMEBASEBUILDCLASS = "meson"
 
-inherit gnomebase gsettings gettext gobject-introspection features_check upstream-version-is-even bash-completion
+inherit gnomebase gsettings gettext gobject-introspection features_check bash-completion
 
 REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam"
 
 DEPENDS = " \
     libxml2-native \
     sassc-native \
-    gtk+3 \
+    gtk4 \
     mutter \
     evolution-data-server \
     gcr \
@@ -25,13 +25,14 @@
 "
 
 GTKDOC_MESON_OPTION = "gtk_doc"
+GIR_MESON_OPTION = ""
 
 # gobject-introspection is mandatory and cannot be configured
 REQUIRED_DISTRO_FEATURES += "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST:append = " introspection"
 
-SRC_URI[archive.md5sum] = "4bd27c8a91d30fde78cb69b94677cf1f"
-SRC_URI[archive.sha256sum] = "d296f318a74a6d7883358a6ce1c4d8808b7903dbbb4f9c61ab4230f18e6d7550"
+SRC_URI[archive.sha256sum] = "384651eb051393dbabe006d1ad057bf29d5cd73ebb87bc779ff5e1c31e80a827"
+SRC_URI += "file://0001-Introduce-options-gjs_path-to-optionally-set-path-to.patch"
+SRC_URI += "  file://0001-build-Drop-incorrect-positional-arg.patch"
 
 PACKAGECONFIG ??= "bluetooth nm ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
 PACKAGECONFIG[bluetooth] = ",,gnome-bluetooth"
@@ -39,6 +40,9 @@
 PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd"
 
 EXTRA_OEMESON = " \
+    -Dgjs_path=${bindir}/gjs \
+    -Dextensions-app:gjs_path=${bindir}/gjs \
+    -Dtests=false \
     -Dman=false \
 "
 
@@ -52,13 +56,14 @@
 GSETTINGS_PACKAGE = "${PN}-gsettings"
 
 FILES:${PN} += " \
+    ${datadir}/metainfo \
     ${datadir}/dbus-1 \
     ${datadir}/gnome-control-center \
     ${datadir}/xdg-desktop-portal \
     ${systemd_user_unitdir} \
 "
 
-RDEPENDS:${PN} += "gsettings-desktop-schemas gdm-base librsvg-gtk ${PN}-gsettings"
+RDEPENDS:${PN} += "gnome-desktop gsettings-desktop-schemas gdm-base librsvg-gtk ${PN}-gsettings"
 
 PACKAGES =+ "${PN}-tools ${PN}-gsettings"
 FILES:${PN}-tools = "${bindir}/*-tool"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_40.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_41.0.bb
similarity index 88%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_40.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_41.0.bb
index 01f0619..9b573d0 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_40.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_41.0.bb
@@ -22,7 +22,7 @@
 def gnome_verdir(v):
     return oe.utils.trim_version(v, 1)
 
-SRC_URI[archive.sha256sum] = "fdb30f4367907aab86d7c2bb76a7b773ba850b765c9666a39f42abfe22691d1a"
+SRC_URI[archive.sha256sum] = "c7fc44c61949b794b0289968ebbbcc0c15f8cfc3d9e45bfaa81ed45c12139e5f"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
 PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
index a69390e..ef722a0 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
@@ -1,6 +1,6 @@
 From f231cecc151930fd5b6309da317a8c5bc6001f38 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Sun, 17 Nov 2019 15:55:54 +0100
+Date: Sat, 30 Oct 2021 15:10:28 +0200
 Subject: [PATCH] Add W_EXITCODE macro for non-glibc systems
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
@@ -10,14 +10,14 @@
 
 Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
 ---
- src/terminal.c | 6 ++++++
- 1 file changed, 6 insertions(+)
+ src/terminal.cc | 5 +++++
+ 1 file changed, 5 insertions(+)
 
-diff --git a/src/terminal.c b/src/terminal.c
-index d06ce35..6284e4c 100644
---- a/src/terminal.c
-+++ b/src/terminal.c
-@@ -47,6 +47,12 @@
+diff --git a/src/terminal.cc b/src/terminal.cc
+index 27ee91e..5f4d880 100644
+--- a/src/terminal.cc
++++ b/src/terminal.cc
+@@ -47,6 +47,11 @@
  GS_DEFINE_CLEANUP_FUNCTION0(TerminalOptions*, gs_local_options_free, terminal_options_free)
  #define gs_free_options __attribute__ ((cleanup(gs_local_options_free)))
  
@@ -26,10 +26,9 @@
 +#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
 +#endif
 +
-+
  /* Wait-for-exit helper */
  
  typedef struct {
 -- 
-2.21.0
+2.31.1
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-build-Fix-for-newer-meson.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-build-Fix-for-newer-meson.patch
new file mode 100644
index 0000000..12520b1
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-build-Fix-for-newer-meson.patch
@@ -0,0 +1,46 @@
+From f88447850e162c8d514be367db574c6fa2fec2a5 Mon Sep 17 00:00:00 2001
+From: Christian Persch <chpe@src.gnome.org>
+Date: Fri, 14 Jan 2022 11:33:32 +0100
+Subject: [PATCH] build: Fix for newer meson
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ data/meson.build | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/data/meson.build b/data/meson.build
+index 79d97e5..e0bcbb9 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -18,7 +18,6 @@
+ metainfodir = gt_datadir / 'metainfo'
+ 
+ i18n.merge_file(
+-  gt_dns_name + '.metainfo.xml',
+   input: gt_dns_name + '.metainfo.xml.in',
+   output: '@BASENAME@',
+   po_dir: po_dir,
+@@ -27,7 +26,6 @@ i18n.merge_file(
+ )
+ 
+ i18n.merge_file(
+-  gt_dns_name + '.Nautilus.metainfo.xml',
+   input: gt_dns_name + '.Nautilus.metainfo.xml.in',
+   output: '@BASENAME@',
+   po_dir: po_dir,
+@@ -40,7 +38,6 @@ i18n.merge_file(
+ desktopdatadir = gt_datadir / 'applications'
+ 
+ i18n.merge_file(
+-  gt_dns_name + '.desktop',
+   input: gt_dns_name + '.desktop.in',
+   output: '@BASENAME@',
+   type: 'desktop',
+@@ -57,4 +54,4 @@ meson.add_install_script(
+ 
+ # Subdirs
+ 
+-subdir('icons')
+\ No newline at end of file
++subdir('icons')
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.40.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.42.2.bb
similarity index 73%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.40.2.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.42.2.bb
index 88fb5d7..2b3f3a6 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.40.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.42.2.bb
@@ -5,6 +5,8 @@
     file://COPYING.GFDL;md5=a22d0be1ce2284b67950a4d1673dd1b0 \
 "
 
+GNOMEBASEBUILDCLASS = "meson"
+
 inherit gnomebase gsettings gnome-help gettext itstool upstream-version-is-even
 
 DEPENDS = " \
@@ -20,12 +22,13 @@
     libpcre2 \
 "
 
-SRC_URI[archive.sha256sum] = "4c79af8ffe8bd3a5daca1911ea2c0acd6872860a1dd5d7eea219f4ab4ae556ac"
+SRC_URI[archive.sha256sum] = "8a9c8e5ef7a3a73b246a947e1190bb08ec98935af860cf0b3aa2fbf4606817a0"
 SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
+SRC_URI += "  file://0001-build-Fix-for-newer-meson.patch"
 
-EXTRA_OECONF += " \
-    --disable-search-provider \
-    --without-nautilus-extension \
+EXTRA_OEMESON += " \
+    -Dsearch_provider=false \
+    -Dnautilus_extension=false \
 "
 
 FILES:${PN} += " \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks/0001-Make-python-path-configurable.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks/0001-Make-python-path-configurable.patch
index 8129f85..733249c 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks/0001-Make-python-path-configurable.patch
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks/0001-Make-python-path-configurable.patch
@@ -16,14 +16,14 @@
  create mode 100644 meson_options.txt
 
 diff --git a/meson.build b/meson.build
-index b7da518..d58fb5b 100644
+index 5b824e9..a673d9c 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -13,7 +13,7 @@ bindir = join_paths(prefix, get_option('bindir'))
+@@ -18,7 +18,7 @@ bindir = join_paths(prefix, get_option('bindir'))
  datadir = join_paths(prefix, get_option('datadir'))
  libexecdir = join_paths(prefix, get_option('libexecdir'))
  localedir = join_paths(prefix, get_option('localedir'))
--pythondir = join_paths(prefix, python3.sysconfig_path('purelib'))
+-pythondir = join_paths(prefix, python3.get_path('purelib'))
 +pythondir = get_option('python_site_dir')
  
  pkgdatadir = join_paths(datadir, meson.project_name())
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_3.34.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_40.0.bb
similarity index 77%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_3.34.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_40.0.bb
index 0fa0b31..30275c9 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_3.34.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_40.0.bb
@@ -9,17 +9,16 @@
 
 GNOMEBASEBUILDCLASS = "meson"
 
-inherit gnomebase gtk-icon-cache gobject-introspection features_check upstream-version-is-even
+inherit gnomebase gtk-icon-cache gobject-introspection features_check
 
 # same as gnome-shell
 REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam"
 
 # gobject-introspection is mandatory and cannot be configured
 REQUIRED_DISTRO_FEATURES += "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST:append = " introspection"
+GIR_MESON_OPTION = ""
 
-SRC_URI[archive.md5sum] = "a625d8b167c5549c68e1c6ac7a87d369"
-SRC_URI[archive.sha256sum] = "003326fab46e6faad9485924bca503f0c583e3b4553d6f673406eda396205250"
+SRC_URI[archive.sha256sum] = "f95f3fe031b0b01c02f79a1659f889152d3772ae3e44df8403d1460ba5eec36a"
 SRC_URI += "file://0001-Make-python-path-configurable.patch"
 
 EXTRA_OEMESON = "-Dpython_site_dir=${PYTHON_SITEPACKAGES_DIR}"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/graphene/graphene_1.10.6.bb b/meta-openembedded/meta-gnome/recipes-gnome/graphene/graphene_1.10.6.bb
deleted file mode 100644
index 77579ff..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/graphene/graphene_1.10.6.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "A thin layer of graphic data types"
-HOMEPAGE = "http://ebassi.github.io/graphene/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a7d871d9e23c450c421a85bb2819f648"
-
-#DEPENDS = "gtk+3 iso-codes enchant2"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase gobject-introspection gtk-doc
-
-SRC_URI[archive.md5sum] = "390139e704772b915ff2b7cac56c24ae"
-SRC_URI[archive.sha256sum] = "80ae57723e4608e6875626a88aaa6f56dd25df75024bd16e9d77e718c3560b25"
-
-PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled,"
-
-GTKDOC_MESON_OPTION = "gtk_doc"
-
-EXTRA_OEMESON = "-Dinstalled_tests=false"
-
-FILES:${PN} += "${libdir}/graphene-1.0"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.13.bb b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.14.bb
similarity index 82%
rename from meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.13.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.14.bb
index 2732374..028e1d2 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.13.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.14.bb
@@ -17,6 +17,6 @@
 inherit gnomebase gnome-help vala
 
 SRC_URI += "file://0001-Avoid-running-trackertestutils.patch"
-SRC_URI[archive.sha256sum] = "1c4305d67364a930543836cc1982f30e946973b8ff6af3efe31d87709ab520f8"
+SRC_URI[archive.sha256sum] = "686844b34ec73b24931ff6cc4f6033f0072947a6db60acdc7fb3eaf157a581c8"
 
 FILES:${PN} += "${libdir}/grilo-0.3"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.13.bb b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.14.bb
similarity index 89%
rename from meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.13.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.14.bb
index fe6858f..53d80c5 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.13.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.14.bb
@@ -11,7 +11,7 @@
 
 inherit gnomebase gobject-introspection gtk-doc gettext vala
 
-SRC_URI[archive.sha256sum] = "d14837f22341943ed8a189d9f0827a17016b802d18d0ed080e1413de0fdc927b"
+SRC_URI[archive.sha256sum] = "0369d0b00bb0f59ba5f7aea8cfc665f38df14a5b4182d28c7c1e2cd15b518743"
 
 GIR_MESON_OPTION = "enable-introspection"
 GTKDOC_MESON_OPTION = "enable-gtk-doc"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound/0001-Set-vapidir.patch b/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound/0001-Set-vapidir.patch
deleted file mode 100644
index ffccfd5..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound/0001-Set-vapidir.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 0a790273aca3ba07dfa6d2f61e3aaa7157c1a3bb Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 20 Mar 2021 09:22:18 -0700
-Subject: [PATCH] Set vapidir
-
-Use parentheses instead of braces, it makes automake and perl happy
-newer perl does not like ${} for VALAFLAGS
-
-Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^${ <-- HERE abs_top_builddir}/gsound$/ at TOPDIR/build/tmp/work/mips32r2-yoe-linux/gsound/1.0.2-r0/recipe-sysroot-native/usr/bin/automake line 5759.
-autoreconf: error: automake failed with exit status: 255
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- tools/Makefile.am | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/tools/Makefile.am
-+++ b/tools/Makefile.am
-@@ -8,7 +8,7 @@ bin_PROGRAMS = gsound-play
- gsound_play_SOURCES = gsound-play.vala
- 
- gsound_play_VALAFLAGS = \
--    --vapidir ${abs_top_builddir}/gsound \
-+    --vapidir $(abs_top_builddir)/gsound \
-     --pkg gsound \
-     ${NULL}
- 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.2.bb
deleted file mode 100644
index 65ee1e1..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.2.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Small gobject library for playing system sounds"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=447b837ae57f08b7060593ac6256163f"
-
-DEPENDS = " \
-    glib-2.0 \
-    libcanberra \
-"
-
-inherit gnomebase gettext gobject-introspection vala
-
-SRC_URI += "file://0001-Set-vapidir.patch"
-
-SRC_URI[archive.md5sum] = "c26fd21c21b9ef6533a202a73fab21db"
-SRC_URI[archive.sha256sum] = "bba8ff30eea815037e53bee727bbd5f0b6a2e74d452a7711b819a7c444e78e53"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.3.bb
new file mode 100644
index 0000000..7c79254
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.3.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Small gobject library for playing system sounds"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=447b837ae57f08b7060593ac6256163f"
+
+DEPENDS = " \
+    glib-2.0 \
+    libcanberra \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gettext gobject-introspection vala
+
+SRC_URI[archive.sha256sum] = "ca2d039e1ebd148647017a7f548862350bc9af01986d39f10cfdc8e95f07881a"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.9.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.9.1.bb
index d6de146..aba9be8 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.9.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.9.1.bb
@@ -5,6 +5,6 @@
 
 DEPENDS = "gtk+3 iso-codes enchant2"
 
-inherit gnomebase gettext gobject-introspection
+inherit gnomebase gettext gobject-introspection vala
 
 SRC_URI[archive.sha256sum] = "dcbb769dfdde8e3c0a8ed3102ce7e661abbf7ddf85df08b29915e92cd723abdd"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb/0001-LINGUAS-removed-duplicated-entry.patch b/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb/0001-LINGUAS-removed-duplicated-entry.patch
new file mode 100644
index 0000000..b50b175
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb/0001-LINGUAS-removed-duplicated-entry.patch
@@ -0,0 +1,23 @@
+From f3d399892e59a2e850be1d0de30c429417c78360 Mon Sep 17 00:00:00 2001
+From: Paolo Bacchilega <paobac@src.gnome.org>
+Date: Tue, 11 Jan 2022 12:30:44 +0100
+Subject: [PATCH] LINGUAS: removed duplicated entry
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ help/LINGUAS | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/help/LINGUAS b/help/LINGUAS
+index 0e8a52d..fa1fc3e 100644
+--- a/help/LINGUAS
++++ b/help/LINGUAS
+@@ -8,7 +8,6 @@ eu
+ fr
+ hu
+ id
+-id
+ nl
+ oc
+ sl
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.10.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.0.bb
similarity index 78%
rename from meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.10.3.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.0.bb
index bae13e1..e9c52f3 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.10.3.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.0.bb
@@ -26,6 +26,7 @@
 
 inherit features_check gnomebase gnome-help gsettings itstool mime-xdg
 
-SRC_URI[archive.sha256sum] = "dab73f77cc2963ebe90112972c301441d228af3003cfef3f8b7300a6d5d3c212"
+SRC_URI += " file://0001-LINGUAS-removed-duplicated-entry.patch"
+SRC_URI[archive.sha256sum] = "3deffc030384e64b57361c437c79b481ae1489ef44c87ae856e81bb10d8e383f"
 
 FILES:${PN} += "${datadir}/metainfo"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.4.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.4.0.bb
new file mode 100644
index 0000000..07ee853
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.4.0.bb
@@ -0,0 +1,141 @@
+SUMMARY = "Multi-platform toolkit for creating GUIs"
+DESCRIPTION = "GTK is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
+set of widgets, GTK is suitable for projects ranging from small one-off projects to complete application suites."
+HOMEPAGE = "http://www.gtk.org"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "libs"
+
+DEPENDS = " \
+    sassc-native \
+    glib-2.0 \
+    libepoxy \
+    graphene \
+    cairo \
+    pango \
+    atk \
+    jpeg \
+    libpng \
+    gdk-pixbuf-native gdk-pixbuf \
+"
+
+LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+    file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
+    file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
+    file://tests/testgtk.c;endline=25;md5=49d06770681b8322466b52ed19d29fb2 \
+"
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+
+UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
+
+SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz"
+SRC_URI[sha256sum] = "e0a1508f441686c3a20dfec48af533b19a4b2e017c18eaee31dccdb7d292505b"
+
+S = "${WORKDIR}/gtk-${PV}"
+
+inherit meson gettext pkgconfig gtk-doc update-alternatives gsettings features_check gobject-introspection
+
+# TBD: nativesdk
+# gobject-introspection.bbclass pins introspection off for nativesk. As long as
+# we do not remove this wisdom or hack gtk4, it is not possible to build
+# nativesdk-gtk4
+BBCLASSEXTEND = "native"
+
+GSETTINGS_PACKAGE:class-native = ""
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_OPTION = 'gtk_doc'
+
+# ../gtk-4.4.0/testsuite/reftests/gtk-reftest.c:28:10: fatal error: execinfo.h: No such file or directory
+EXTRA_OEMESON:append:libc-musl = " -Dbuild-tests=false"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+
+PACKAGECONFIG[x11] = "-Dx11-backend=true,-Dx11-backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes xinerama"
+PACKAGECONFIG[wayland] = "-Dwayland-backend=true,-Dwayland-backend=false,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
+PACKAGECONFIG[cups] = "-Dprint-cups=enabled,-Dprint-cups=disabled,cups"
+PACKAGECONFIG[colord] = "-Dcolord=enabled,-Dcolord=disabled,colord"
+# gtk4 wants gstreamer-player-1.0 -> gstreamer1.0-plugins-bad
+PACKAGECONFIG[gstreamer] = "-Dmedia-gstreamer=enabled,-Dmedia-gstreamer=disabled,gstreamer1.0-plugins-bad"
+PACKAGECONFIG[tracker] = "-Dtracker=enabled,-Dtracker=disabled,tracker"
+
+
+do_compile:prepend() {
+    export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs"
+}
+
+
+PACKAGES =+ "${PN}-demo"
+LIBV = "4.0.0"
+
+FILES:${PN}-demo = " \
+    ${datadir}/applications/org.gtk.Demo4.desktop \
+    ${datadir}/applications/org.gtk.IconBrowser4.desktop \
+    ${datadir}/applications/org.gtk.WidgetFactory4.desktop \
+    ${datadir}/icons/hicolor/*/apps/org.gtk.Demo4*.* \
+    ${datadir}/icons/hicolor/*/apps/org.gtk.IconBrowser4*.* \
+    ${datadir}/icons/hicolor/*/apps/org.gtk.WidgetFactory4*.* \
+    ${bindir}/gtk4-demo \
+    ${bindir}/gtk4-demo-application \
+    ${bindir}/gtk4-icon-browser \
+    ${bindir}/gtk4-widget-factory \
+"
+
+FILES:${PN}:append = " \
+    ${datadir}/glib-2.0/schemas/ \
+    ${datadir}/gtk-4.0/emoji/ \
+    ${datadir}/metainfo/ \
+    ${datadir}/icons/hicolor/*/apps/org.gtk.PrintEditor4*.* \
+    ${libdir}/gtk-4.0/${LIBV}/printbackends \
+    ${bindir}/gtk4-update-icon-cache \
+    ${bindir}/gtk4-launch \
+"
+
+FILES:${PN}-dev += " \
+    ${datadir}/gtk-4.0/gtk4builder.rng \
+    ${datadir}/gtk-4.0/include \
+    ${datadir}/gtk-4.0/valgrind \
+    ${datadir}/gettext/its \
+    ${bindir}/gtk4-builder-tool \
+    ${bindir}/gtk4-encode-symbolic-svg \
+    ${bindir}/gtk4-query-settings \
+"
+
+GTKBASE_RRECOMMENDS ?= " \
+    liberation-fonts \
+    gdk-pixbuf-loader-png \
+    gdk-pixbuf-loader-jpeg \
+    gdk-pixbuf-loader-gif \
+    gdk-pixbuf-loader-xpm \
+    shared-mime-info \
+    adwaita-icon-theme-symbolic \
+"
+
+GTKBASE_RRECOMMENDS:class-native ?= ""
+
+GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
+
+RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}"
+RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
+RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
+
+PACKAGES_DYNAMIC += "^gtk4-printbackend-.*"
+python populate_packages:prepend () {
+    import os.path
+
+    gtk_libdir = d.expand('${libdir}/gtk-3.0/${LIBV}')
+    printmodules_root = os.path.join(gtk_libdir, 'printbackends');
+
+    do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk4-printbackend-%s', 'GTK printbackend module for %s')
+
+    if (d.getVar('DEBIAN_NAMES')):
+        d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-4.0')
+}
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.2.bb
similarity index 92%
rename from meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.2.bb
index 10b60be..5b5ce53 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.2.bb
@@ -17,7 +17,7 @@
 REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI = "https://download.gnome.org/sources/gtksourceview/4.8/${PNAME}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "d163d71b5fcafbc5b1eec6dd841edbdbcddd3a7511cd5fdcffd86b8bbfe69ac1"
+SRC_URI[sha256sum] = "842de7e5cb52000fd810e4be39cd9fe29ffa87477f15da85c18f7b82d45637cc"
 
 GIR_MESON_OPTION = 'gir'
 GTKDOC_MESON_OPTION = "gtk_doc"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.2.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.2.0.bb
new file mode 100644
index 0000000..c7c6e92
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.2.0.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Portable C library for multiline text editing"
+HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+DEPENDS = " \
+    glib-2.0-native \
+    gnome-common-native \
+    intltool-native \
+    gtk+3 \
+    gtk4 \
+    libxml2 \
+    libpcre2 \
+"
+
+PNAME = "gtksourceview"
+
+S = "${WORKDIR}/${PNAME}-${PV}"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase lib_package gettext features_check gtk-doc gtk-icon-cache gobject-introspection vala
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "https://download.gnome.org/sources/gtksourceview/5.2/${PNAME}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "c9b34fa02654f56ce22fa08827d89db4ba81631b2e6d7d31ea65d13c729430e9"
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+FILES:${PN} += "${datadir}/gtksourceview-5"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb b/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb
index 9b99bbc..51ca63e 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb
@@ -8,7 +8,7 @@
 REQUIRED_DISTRO_FEATURES = "opengl"
 
 SRCREV = "145e417f32e507b63c21ad4e915b808a6174099e"
-SRC_URI = "git://github.com/gnome/libchamplain.git"
+SRC_URI = "git://github.com/gnome/libchamplain.git;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb
index aaefcec..a1be2a2 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb
@@ -22,7 +22,7 @@
 }
 
 # goa is required for gnome-photos
-PACKAGECONFIG ??= "goa gtk"
+PACKAGECONFIG ??= "goa gtk vala"
 PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false"
 PACKAGECONFIG[goa] = "-Dgoa=enabled,-Dgoa=disabled,gnome-online-accounts"
 PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.47.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.48.bb
similarity index 79%
rename from meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.47.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.48.bb
index 8748a02..a3ff13f 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.47.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.48.bb
@@ -9,8 +9,7 @@
 
 inherit gnomebase gobject-introspection gettext gtk-doc
 
-SRC_URI[archive.md5sum] = "20bf9933128210d7a9f920a34198d22f"
-SRC_URI[archive.sha256sum] = "d188ebd3787b5375a8fd38ee6f761a2007de5e98fa0cf5623f271daa67ba774d"
+SRC_URI[archive.sha256sum] = "ff86d7f1d46dd0ebefb7bd830a74a41db64362b987bf8853fff6ab4c1132b837"
 SRC_URI += "file://0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch"
 
 PACKAGECONFIG ??= ""
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/files/gtkstylus.sh b/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/files/gtkstylus.sh
deleted file mode 100644
index b1302ed..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/files/gtkstylus.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-GTK_MODULES=libgtkstylus.so
-
-export GTK_MODULES
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb
deleted file mode 100644
index 2a6e185..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "GTK plugin for stylus based systems"
-SECTION = "libs"
-DEPENDS = "gtk+"
-LICENSE = "LGPL-2.0+"
-LIC_FILES_CHKSUM = "file://tap.c;beginline=1;endline=20;md5=71756eeb144e9eeb177c69aa672b1635"
-PR = "r4"
-
-inherit features_check autotools pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://burtonini.com/temp/${BP}.tar.gz \
-    file://gtkstylus.sh"
-SRC_URI[md5sum] = "fa1c82cd9fd2fafd7ff10d78eb5781c5"
-SRC_URI[sha256sum] = "383e0a22a537f653b8d41688277560f95678a042967198085ec7caa1a5cc2f4c"
-
-do_install:append() {
-    install -d ${D}/${sysconfdir}/X11/Xsession.d
-    install -m 755 ${WORKDIR}/gtkstylus.sh ${D}/${sysconfdir}/X11/Xsession.d/45gtkstylus
-}
-
-# Horrible but rpm falls over if you use '*'
-GTKVER = "2.10.0"
-
-FILES:${PN} = "${sysconfdir} \
-               ${libdir}/gtk-2.0/${GTKVER}/modules/libgtkstylus.so.*"
-FILES:${PN}-dbg += "${libdir}/gtk-2.0/${GTKVER}/modules/.debug"
-FILES:${PN}-dev += "${libdir}/gtk-2.0/${GTKVER}/modules/libgtkstylus.so"
-FILES:${PN}-staticdev += "${libdir}/gtk-2.0/${GTKVER}/modules/libgtkstylus.*a"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_40.0.bb
index 1d9daac..49493b1 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_40.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_40.0.bb
@@ -11,7 +11,7 @@
 
 # gobject-introspection is mandatory and cannot be configured
 REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST:append = " introspection"
+GIR_MESON_OPTION = ""
 
 GTKDOC_MESON_OPTION = "gtk_doc"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libportal/libportal_0.5.bb b/meta-openembedded/meta-gnome/recipes-gnome/libportal/libportal_0.5.bb
new file mode 100644
index 0000000..67f63fe
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libportal/libportal_0.5.bb
@@ -0,0 +1,17 @@
+SUMMARY = "libportal provides GIO-style async APIs for most Flatpak portals."
+DESCRIPTION = "It provides simple asynchronous wrappers for most Flatpak portals \
+with a familiar GObject API along side the D-Bus API"
+HOMEPAGE = "https://github.com/flatpak/libportal"
+BUGTRACKER = "https://github.com/flatpak/libportal/issues"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3000208d539ec061b899bce1d9ce9404"
+
+SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https;branch=master"
+SRCREV = "467a397fd7996557f837cdc26ac07c01c62810e5"
+S = "${WORKDIR}/git"
+
+inherit meson gtk-doc gobject-introspection
+
+DEPENDS += "glib-2.0 glib-2.0-native gtk+3"
+
+EXTRA_OEMESON = "-Dbackends=gtk3 -Dvapi=false"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-drop-zenity-detection.patch b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-drop-zenity-detection.patch
index 3493e51..315d4e4 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-drop-zenity-detection.patch
+++ b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-drop-zenity-detection.patch
@@ -13,10 +13,10 @@
  1 file changed, 5 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 5f9e7e9..80b32c7 100644
+index 528b7d2..8932ae6 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -359,11 +359,6 @@ fi
+@@ -337,11 +337,6 @@ fi
  
  AM_CONDITIONAL(HAVE_SM, test "$found_sm" = "yes") 
  
@@ -25,9 +25,9 @@
 -  AC_MSG_ERROR([zenity not found in your path - needed for dialogs])
 -fi
 -
- dnl **************************************************************************
- dnl Check for Vulkan support
- dnl **************************************************************************
+ AC_SEARCH_LIBS([dlsym], [dl], [], [
+   AC_MSG_ERROR([unable to find the dlsym() function])
+ ])
 -- 
-1.8.3.1
+2.31.1
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-fix-build-with-disable-dependency-tracking.patch b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-fix-build-with-disable-dependency-tracking.patch
deleted file mode 100644
index 864d0ba..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-fix-build-with-disable-dependency-tracking.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 632670273cc880917e78a152a3ae39e209b57864 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
- <zboszor@gmail.com>
-Date: Sat, 28 Aug 2021 05:58:25 +0200
-Subject: [PATCH] fix build with --disable-dependency-tracking
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-With split build and source directories AND --disable-dependency-tracking
-(like the way Yocto builds are done) there's a reproducible make
-failure on my Fedora 33 build host:
-
-| Making all in src
-| make[2]: Entering directory '.../metacity/1_3.40.0-r0/build/src'
-| .../metacity/1_3.40.0-r0/recipe-sysroot-native/usr/bin/glib-mkenums --template ../../metacity-3.40.0/src/core/meta-enum-types.c.in ../../metacity-3.40.0/src/core/window-private.h ../../metacity-3.40.0/src/include/meta-compositor.h  > \
-| 	meta-enum-types.c.tmp && mv meta-enum-types.c.tmp core/meta-enum-types.c
-| .../metacity/1_3.40.0-r0/recipe-sysroot-native/usr/bin/glib-mkenums --template ../../metacity-3.40.0/src/core/meta-enum-types.h.in ../../metacity-3.40.0/src/core/window-private.h ../../metacity-3.40.0/src/include/meta-compositor.h  > \
-| 	meta-enum-types.h.tmp && mv meta-enum-types.h.tmp core/meta-enum-types.h
-| mv: cannot move 'meta-enum-types.c.tmp' to 'core/meta-enum-types.c'mv: cannot move 'meta-enum-types.h.tmp' to 'core/meta-enum-types.h': No such file or directory
-| : No such file or directory
-| make[2]: *** [Makefile:2240: core/meta-enum-types.c] Error 1
-
-https://gitlab.gnome.org/GNOME/metacity/-/merge_requests/24
-
-Upstream-Status: Pending
-
-Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
----
- configure.ac    | 1 +
- src/Makefile.am | 2 ++
- 2 files changed, 3 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index ebb00b85..04aafb94 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -139,6 +139,7 @@ dnl **************************************************************************
- AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS}")
- 
- AC_PROG_CC
-+AC_PROG_MKDIR_P
- AC_ISC_POSIX
- AC_HEADER_STDC
- 
-diff --git a/src/Makefile.am b/src/Makefile.am
-index f86af600..4aa3fdae 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -204,10 +204,12 @@ ENUM_TYPES = \
- 	$(NULL)
- 
- core/meta-enum-types.c: core/meta-enum-types.c.in $(ENUM_TYPES) Makefile.am
-+	$(MKDIR_P) core
- 	$(AM_V_GEN) $(GLIB_MKENUMS) --template $(srcdir)/core/meta-enum-types.c.in $(ENUM_TYPES) > \
- 		meta-enum-types.c.tmp && mv meta-enum-types.c.tmp core/meta-enum-types.c
- 
- core/meta-enum-types.h: core/meta-enum-types.h.in $(ENUM_TYPES) Makefile.am
-+	$(MKDIR_P) core
- 	$(AM_V_GEN) $(GLIB_MKENUMS) --template $(srcdir)/core/meta-enum-types.h.in $(ENUM_TYPES) > \
- 		meta-enum-types.h.tmp && mv meta-enum-types.h.tmp core/meta-enum-types.h
- 
--- 
-2.31.1
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.42.0.bb
similarity index 81%
rename from meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.40.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.42.0.bb
index e7570ec..58479cf 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.40.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.42.0.bb
@@ -23,11 +23,8 @@
 
 inherit gnomebase gsettings gettext upstream-version-is-even features_check
 
-SRC_URI[archive.sha256sum] = "224c1f65487eac21f0c1d9856152343768ee726c48b1a8a2835a46a8ad9015b5"
-SRC_URI += " \
-    file://0001-drop-zenity-detection.patch \
-    file://0001-fix-build-with-disable-dependency-tracking.patch \
-"
+SRC_URI[archive.sha256sum] = "d89d679dcfed9b5eef18f06e2dcb33a7ab543d53b358fa89ce65593c231eeebc"
+SRC_URI += "file://0001-drop-zenity-detection.patch"
 
 PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama"
 # enable as neccessary until new warnings are dealt with
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch
deleted file mode 100644
index b4fd039..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Sun, 20 Oct 2019 12:04:31 +0200
-Subject: [PATCH] EGL: Include EGL/eglmesaext.h
-
-The eglext.h shipped by libglvnd does not include the Mesa extensions,
-unlike the header shipped in Mesa.
-
-Fixes https://gitlab.gnome.org/GNOME/mutter/issues/876
-
-Upstream-Status: Applied [1]
-
-[1] https://gitlab.gnome.org/GNOME/mutter/-/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90
----
- cogl/cogl/meson.build       | 2 +-
- src/backends/meta-egl-ext.h | 1 +
- src/backends/meta-egl.c     | 1 +
- src/backends/meta-egl.h     | 1 +
- 4 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/cogl/cogl/meson.build b/cogl/cogl/meson.build
-index 261955796..b0e66bff3 100644
---- a/cogl/cogl/meson.build
-+++ b/cogl/cogl/meson.build
-@@ -48,7 +48,7 @@ cogl_gl_header_h = configure_file(
- built_headers += [cogl_gl_header_h]
- 
- if have_egl
--  cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>'
-+  cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>\n#include <EGL/eglmesaext.h>'
- else
-   cogl_egl_includes_string = ''
- endif
-diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h
-index 8705e7d5b..db0b74f76 100644
---- a/src/backends/meta-egl-ext.h
-+++ b/src/backends/meta-egl-ext.h
-@@ -29,6 +29,7 @@
- 
- #include <EGL/egl.h>
- #include <EGL/eglext.h>
-+#include <EGL/eglmesaext.h>
- 
- /*
-  * This is a little different to the tests shipped with EGL implementations,
-diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
-index 6554be935..fdeff4f77 100644
---- a/src/backends/meta-egl.c
-+++ b/src/backends/meta-egl.c
-@@ -27,6 +27,7 @@
- 
- #include <EGL/egl.h>
- #include <EGL/eglext.h>
-+#include <EGL/eglmesaext.h>
- #include <gio/gio.h>
- #include <glib.h>
- #include <glib-object.h>
-diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h
-index f2a816445..4591e7d85 100644
---- a/src/backends/meta-egl.h
-+++ b/src/backends/meta-egl.h
-@@ -28,6 +28,7 @@
- 
- #include <EGL/egl.h>
- #include <EGL/eglext.h>
-+#include <EGL/eglmesaext.h>
- #include <glib-object.h>
- 
- #define META_EGL_ERROR meta_egl_error_quark ()
--- 
-2.21.1
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_41.2.bb
similarity index 77%
rename from meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_41.2.bb
index b659d92..19dad21 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_41.2.bb
@@ -4,30 +4,31 @@
 
 DEPENDS = " \
     xserver-xorg-cvt-native \
+    wayland-native \
     virtual/libx11 \
+    graphene \
     gtk+3 \
     gdk-pixbuf \
     cairo \
     pango \
     gsettings-desktop-schemas \
     json-glib \
-    gnome-desktop3 \
+    gnome-desktop \
     gnome-settings-daemon \
     libxtst \
     libxkbfile \
     xinerama \
+    xwayland \
 "
 
 GNOMEBASEBUILDCLASS = "meson"
 
-inherit gnomebase gsettings gobject-introspection gettext upstream-version-is-even features_check
+inherit gnomebase gsettings gobject-introspection gettext features_check
 
-SRC_URI[archive.md5sum] = "20913c458406e6efa3df005a3ce48c8e"
-SRC_URI[archive.sha256sum] = "23bde87d33b8981358831cec8915bb5ff1eaf9c1de74c90cd1660b1b95883526"
-SRC_URI += "file://0001-EGL-Include-EGL-eglmesaext.h.patch"
+SRC_URI[archive.sha256sum] = "00dfa812f1c486d74a2b73f42045ae1182f9246c7794d67d74b5e543ea700617"
 
 # x11 is still manadatory - see meson.build
-REQUIRED_DISTRO_FEATURES = "x11 polkit"
+REQUIRED_DISTRO_FEATURES = "wayland x11 polkit"
 
 # systemd can be replaced by libelogind (not available atow - make systemd
 # mandatory distro feature)
@@ -40,10 +41,11 @@
     ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl glx', '', d)} \
     sm \
     startup-notification \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'wayland', '', d)} \
 "
 
 EXTRA_OEMESON += " \
+    -Dtests=false \
+    -Dnative_tests=false \
     -Dxwayland_path=${bindir}/Xwayland \
 "
 
@@ -53,15 +55,12 @@
 PACKAGECONFIG[glx] = "-Dglx=true, -Dglx=false"
 PACKAGECONFIG[libwacom] = "-Dlibwacom=true, -Dlibwacom=false, libwacom"
 # Remove depending on pipewire-0.2 when mutter is upgraded to 3.36+
-PACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, pipewire-0.2"
+PACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, pipewire"
 PACKAGECONFIG[sm] = "-Dsm=true, -Dsm=false, libsm"
 PACKAGECONFIG[profiler] = "-Dprofiler=true,-Dprofiler=false,sysprof"
 PACKAGECONFIG[startup-notification] = "-Dstartup_notification=true, -Dstartup_notification=false, startup-notification, startup-notification"
-PACKAGECONFIG[wayland] = "-Dwayland=true,-Dwayland=false,wayland wayland-native, xwayland"
-PACKAGECONFIG[wayland-eglstream] = "-Dwayland_eglstream=true,-Dwayland_eglstream=false"
 
-# yes they changed from mutter-4 -> mutter-5 recently so be perpared
-MUTTER_API_NAME = "mutter-5"
+MUTTER_API_NAME = "mutter-9"
 
 do_install:append() {
     # Add gir links in standard paths. That makes dependents life much easier
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/liportal-0.5-fix.patch b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/liportal-0.5-fix.patch
new file mode 100644
index 0000000..708595a
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/liportal-0.5-fix.patch
@@ -0,0 +1,28 @@
+Fix an issue building Nautilus with libportal-0.5+
+where expected header is moved to different directory
+in staging sysroot
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/meson.build
++++ b/meson.build
+@@ -123,7 +123,7 @@ gtk = dependency('gtk+-3.0', version: '>
+ libhandy = dependency('libhandy-1', version: '>= 1.1.90')
+ libportal = []
+ if get_option('libportal')
+-  libportal = dependency('libportal', version: '>= 0.3')
++  libportal = dependency('libportal-gtk3', version: '>= 0.3')
+ endif
+ selinux = []
+ if get_option('selinux')
+--- a/src/nautilus-files-view.c
++++ b/src/nautilus-files-view.c
+@@ -92,7 +92,7 @@
+ 
+ #ifdef HAVE_LIBPORTAL
+ #include <libportal/portal.h>
+-#include <libportal/portal-gtk3.h>
++#include <libportal-gtk3/portal-gtk3.h>
+ #endif
+ 
+ /* Minimum starting update inverval */
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_40.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_41.1.bb
similarity index 86%
rename from meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_40.2.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_41.1.bb
index 3e6a5ba..330c361 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_40.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_41.1.bb
@@ -9,7 +9,7 @@
 DEPENDS = " \
     fontconfig \
     gtk+3 \
-    gnome-desktop3 \
+    gnome-desktop \
     gsettings-desktop-schemas \
     gnome-autoar \
     tracker \
@@ -22,7 +22,8 @@
 def gnome_verdir(v):
     return oe.utils.trim_version(v, 1)
 
-SRC_URI[archive.sha256sum] = "b71ef2fe07e5eea89a2bb1e5bd30947bd18873bfb30f79cbf17edfbd4d20f60d"
+SRC_URI += "file://liportal-0.5-fix.patch"
+SRC_URI[archive.sha256sum] = "3e633098853711a3e96b12fe9228b3201816e554b2823f161e7d901a8880582f"
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof/0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch b/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof/0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch
deleted file mode 100644
index 75aa86c..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof/0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 3025d80aaacc5f67aa9eb1e6fde30f71d9c5b04b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 18 Jul 2011 16:00:17 -0700
-Subject: [PATCH 1/2] sysprof: Define NT_GNU_BUILD_ID if undefined
-
-On uclibc elf.h does not have GNU extentions but we need this define
-so we define it locally if its not getting it from elf.h
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
-
-%% original patch: define-NT_GNU_BUILD_ID.patch
----
- src/libsysprof/elfparser.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/libsysprof/elfparser.h b/src/libsysprof/elfparser.h
-index 160e4c9..94fa5c0 100644
---- a/src/libsysprof/elfparser.h
-+++ b/src/libsysprof/elfparser.h
-@@ -18,6 +18,10 @@
- 
- #include <glib.h>
- 
-+#ifndef NT_GNU_BUILD_ID
-+#define NT_GNU_BUILD_ID 3
-+#endif
-+
- typedef struct ElfSym ElfSym;
- typedef struct ElfParser ElfParser;
- 
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof/0002-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch b/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof/0002-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch
deleted file mode 100644
index d8fffbb..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof/0002-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 5dea152c7728f5a37370ad8a229115833e36b4f6 Mon Sep 17 00:00:00 2001
-From: Rasmus Thomsen <oss@cogitri.dev>
-Date: Sat, 7 Mar 2020 10:44:16 +0100
-Subject: [PATCH] tests: use G_GSIZE_FORMAT instead of G_GUINT64_FORMAT for
- gsize
-
-This fixes the build on 32-bit platforms with -Werror-format
-
-fixes #32
-
-Upstream-Status: Applied[https://gitlab.gnome.org/GNOME/sysprof/-/commit/5dea152c7728f5a37370ad8a229115833e36b4f6]
----
- src/tests/allocs-by-size.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/tests/allocs-by-size.c b/src/tests/allocs-by-size.c
-index 666113a..6260d4b 100644
---- a/src/tests/allocs-by-size.c
-+++ b/src/tests/allocs-by-size.c
-@@ -109,7 +109,7 @@ allocs_by_size (SysprofCaptureReader *reader)
-     {
-       const Item *item = &g_array_index (ar, Item, i);
- 
--      g_print ("%"G_GUINT64_FORMAT",%"G_GUINT64_FORMAT",%"G_GUINT64_FORMAT"\n",
-+      g_print ("%"G_GSIZE_FORMAT",%"G_GSIZE_FORMAT",%"G_GSIZE_FORMAT"\n",
-                item->size, item->cmp, item->count);
-     }
- }
--- 
-2.21.3
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.36.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.42.1.bb
similarity index 81%
rename from meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.36.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.42.1.bb
index 1f8351f..3dd08a2 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.36.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.42.1.bb
@@ -12,14 +12,10 @@
     yelp-tools-native \
     libxml2-native \
     glib-2.0 \
+    json-glib \
 "
 
-SRC_URI[archive.md5sum] = "3956e82b8744715006dde59e0ce8910b"
-SRC_URI[archive.sha256sum] = "8670db4dacf7b219d30c575c465b17c8ed6724dbade347f2cde9548bff039108"
-SRC_URI += " \
-    file://0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch \
-    file://0002-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch \
-"
+SRC_URI[archive.sha256sum] = "1796b81404ee75fd1ebacf54464ad7affebf62f2851eef524d9f8eac0c4a2001"
 
 PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'sysprofd', '', d)} \
                   ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'libsysprof', '', d)} \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb
index 755cb96..0ac7e36 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb
@@ -19,6 +19,6 @@
 
 # gobject-introspection is mandatory and cannot be configured
 REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST:append = " introspection"
+GIR_MESON_OPTION = ""
 
 GTKDOC_MESON_OPTION = "gtk_doc"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.1.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.2.1.bb
similarity index 93%
rename from meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.1.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.2.1.bb
index c2de723..a9c96a5 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.1.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.2.1.bb
@@ -15,12 +15,12 @@
 
 inherit gnomebase gsettings gobject-introspection vala bash-completion features_check
 
-SRC_URI[archive.sha256sum] = "e4d361351b156f2862a524415fbebf0539c781cd87c6629662f0265b4803b8b8"
 SRC_URI += "file://0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch"
+SRC_URI[archive.sha256sum] = "44369f53e2edef41437406dbeecd477a97f8a9afdd9134832ea45d1ba2aa2c47"
 
 # gobject-introspection is mandatory and cannot be configured
 REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST:append = " introspection"
+GIR_MESON_OPTION = ""
 
 PACKAGECONFIG ??= " \
     ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "ffmpeg", "", d)} \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.1.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.2.1.bb
similarity index 86%
rename from meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.1.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.2.1.bb
index b16a5a2..1c18efb 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.1.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.2.1.bb
@@ -7,6 +7,7 @@
 
 DEPENDS = " \
     dbus-native \
+    python3-pygobject-native \
     glib-2.0 \
     sqlite3 \
     libarchive \
@@ -19,13 +20,13 @@
 
 GNOMEBASEBUILDCLASS = "meson"
 
-inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check
+inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check python3native
 
-SRC_URI[archive.sha256sum] = "4376e2e98454066f44f7a242e45b99b3bfe4c03b67fab19abb0ed586ca748ae7"
+SRC_URI[archive.sha256sum] = "1847e08b39e6e61d848735aa1f97f7d96c038201653fa0d7cb9e81b37eb9c03a"
 
 # gobject-introspection is mandatory and cannot be configured
 REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST:append = " introspection"
+GIR_MESON_OPTION = ""
 
 # text search is not an option anymore and requires sqlite3 build with
 # PACKAGECONFIG[fts5] set (default)
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_41.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_41.1.bb
similarity index 85%
rename from meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_41.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_41.1.bb
index 029fd02..3b23979 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_41.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_41.1.bb
@@ -10,7 +10,7 @@
 
 DEPENDS += "libxml2"
 
-SRC_URI[archive.sha256sum] = "c8cd64c093bbd8c5d5e47fd38864e90831b5f9cf7403530870206fa96636a4a5"
+SRC_URI[archive.sha256sum] = "0d6db37ac2ef812483e0104703f1fa9cf032e9e0956a5f1c3afbcc23791f8a54"
 
 RDEPENDS:${PN}:append:class-target = " libxml2 itstool"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_41.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_41.2.bb
similarity index 74%
rename from meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_41.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_41.2.bb
index 980b9a1..590ff2f 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_41.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_41.2.bb
@@ -9,7 +9,7 @@
 # for webkitgtk
 REQUIRED_DISTRO_FEATURES = "x11"
 
-SRC_URI[archive.sha256sum] = "456a6415647bceeb0159b90b3553ff328728cf29a608fce08024232504ccb874"
+SRC_URI[archive.sha256sum] = "b00bf033f02dd79b6d3f255031c71df8d6ed38e552c870b8f391a374724c43c5"
 
 DEPENDS += " \
     libxml2-native \
@@ -21,6 +21,10 @@
     webkitgtk \
     yelp-xsl \
 "
+PACKAGECONFIG ?= ""
+
+# Enable if soup3 is enabled in webkit recipe
+PACKAGECONFIG[soup3] = ",--with-webkit2gtk-4-0,"
 
 do_configure:prepend() {
     export ITSTOOL=${STAGING_BINDIR_NATIVE}/itstool
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity/0001-Harcode-shebang-to-avoid-pointing-to-build-system-s-.patch b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity/0001-Harcode-shebang-to-avoid-pointing-to-build-system-s-.patch
new file mode 100644
index 0000000..e054ff7
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity/0001-Harcode-shebang-to-avoid-pointing-to-build-system-s-.patch
@@ -0,0 +1,28 @@
+From c8be0d5e7d17930d819635df6570fa5331a5dedd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Mon, 10 Jan 2022 20:18:00 +0100
+Subject: [PATCH] Harcode shebang to avoid pointing to build system's perl
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ src/gdialog.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/gdialog.in b/src/gdialog.in
+index 2fc4633..f891861 100755
+--- a/src/gdialog.in
++++ b/src/gdialog.in
+@@ -1,4 +1,4 @@
+-#!@PERL@
++#!/usr/bin/env perl
+ 
+ # gdialog -> zenity conversion wrapper
+ #
+-- 
+2.31.1
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.32.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.32.0.bb
deleted file mode 100644
index f5f1f99..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.32.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Display dialog boxes from the command line and shell scripts"
-SECTION = "x11/gnome"
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
-
-inherit gnomebase itstool gnome-help features_check gettext
-
-DEPENDS = " \
-    yelp-tools-native \
-    gtk+3 \
-"
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[archive.md5sum] = "ba2b2a13248773b4ec0fd323d95e6d5a"
-SRC_URI[archive.sha256sum] = "e786e733569c97372c3ef1776e71be7e7599ebe87e11e8ad67dcc2e63a82cd95"
-
-do_install:append() {
-    # Remove gdialog compatibility helper - we don't want to pull in perl
-    rm ${D}${bindir}/gdialog
-}
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.41.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.41.0.bb
new file mode 100644
index 0000000..ea1db57
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.41.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Display dialog boxes from the command line and shell scripts"
+SECTION = "x11/gnome"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase pkgconfig itstool gnome-help features_check gettext
+
+DEPENDS = " \
+    yelp-tools-native \
+    gtk+3 \
+"
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.sha256sum] = "19b676c3510e22badfcc3204062d432ba537402f5e0ae26128c0d90c954037e1"
+SRC_URI += "file://0001-Harcode-shebang-to-avoid-pointing-to-build-system-s-.patch"
+
+PACKAGECONFIG[libnotify] = "-Dlibnotify=true,-Dlibnotify=false,libnotify"
+PACKAGECONFIG[webkitgtk] = "-Dwebkitgtk=true,-Dwebkitgtk=false,webkitgtk"
+
+PACKAGES =+ "${PN}-gdialog"
+FILES:${PN}-gdialog = "${bindir}/gdialog"
+RDEPENDS:${PN}-gdialog += "perl"