deleted file mode 100644
@@ -1,43 +0,0 @@
-From a629b051f4e5462150c77b95574bbc7a33bc9666 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Mon, 31 Dec 2012 16:35:29 +0100
-Subject: [PATCH] configure.ac: hard code path to iceauth
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-workaround AC_PATH_PROG which was meant to find programs required at build-time
-not at run-time.
-
-Upstream-Status: Inappropriate [config]
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
-
-Rebase for xfce4-session 4.20.0.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- configure.ac | 8 +-------
- 1 file changed, 1 insertion(+), 7 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 81b362f..ccde685 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -136,13 +136,7 @@ if test x"$ENABLE_X11" = x"yes"; then
- AC_CHECK_FUNCS([_IceTransNoListen])
- LIBS="$ac_LIBS"
-
-- dnl Check for iceauth
-- AC_PATH_PROG([ICEAUTH], [iceauth])
-- if test x"$ICEAUTH" != x""; then
-- AC_DEFINE_UNQUOTED([ICEAUTH_CMD], ["$ICEAUTH"], [path to iceauth])
-- else
-- AC_MSG_ERROR([iceauth missing, please check your X11 installation])
-- fi
-+ AC_DEFINE_UNQUOTED([ICEAUTH_CMD], ["$bindir/iceauth"], [path to iceauth])
-
- dnl Find a location for the session desktop file
- AC_MSG_CHECKING([what xsession-prefix to use])
-1.7.4.4
new file mode 100644
@@ -0,0 +1,49 @@
+From d3561f125e6e6d6bfea0b41ba1ea02d14eb07244 Mon Sep 17 00:00:00 2001
+From: Zhang Peng <peng.zhang1.cn@windriver.com>
+Date: Tue, 17 Mar 2026 17:14:33 +0800
+Subject: [PATCH] meson.build: hard code path to iceauth
+
+Workaround find_program() which finds the native iceauth during
+cross-compilation instead of the target path.
+
+This is the meson equivalent of the autotools patch that modified
+configure.ac to hard code the iceauth path.
+
+This patch is replace the patch 0001-configure.in-hard-code-path-to-iceauth.patch
+
+Upstream-Status: Inappropriate [cross-compile specific]
+
+Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
+---
+ meson.build | 2 +-
+ xfce4-session/meson.build | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 7ab81ae5..c54ebafd 100644
+--- a/meson.build
++++ b/meson.build
+@@ -75,7 +75,7 @@ if enable_x11
+ feature_cflags += '-DHAVE__ICETRANSNOLISTEN=1'
+ endif
+
+- iceauth = find_program('iceauth', required: true)
++ # iceauth path is hard-coded below for cross-compilation
+
+ xsession_prefix = get_option('xsession-prefix')
+ if xsession_prefix == ''
+diff --git a/xfce4-session/meson.build b/xfce4-session/meson.build
+index 56a297f9..e36885e4 100644
+--- a/xfce4-session/meson.build
++++ b/xfce4-session/meson.build
+@@ -42,7 +42,7 @@ c_args = [
+
+ if enable_x11
+ c_args += [
+- '-DICEAUTH_CMD="@0@"'.format(iceauth.full_path()),
++ '-DICEAUTH_CMD="' + get_option('prefix') / get_option('bindir') / 'iceauth' + '"',
+ ]
+
+ session_sources += [
+--
+2.50.0
similarity index 75%
rename from meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.20.3.bb
rename to meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.21.1.bb
@@ -6,18 +6,18 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "libwnck3 libsm libxfce4ui libxfce4windowing virtual/libx11"
+XFCE_COMPRESS_TYPE = "xz"
+XFCEBASEBUILDCLASS = "meson"
+
inherit xfce update-alternatives features_check
-SRC_URI += "file://0001-configure.in-hard-code-path-to-iceauth.patch"
-SRC_URI[sha256sum] = "dbf00672c5316a30b7001fe852e6a5ba9f889afeab8a247545a160d4302f1fa2"
+SRC_URI += "file://0001-meson.build-hard-code-path-to-iceauth.patch"
+SRC_URI[sha256sum] = "a8fe873fdb20366a44f1345400bfb29c2ff0cfe89dfefd852e2575464b80567c"
REQUIRED_DISTRO_FEATURES = "x11"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
-PACKAGECONFIG[polkit] = "--enable-polkit, --disable-polkit, polkit"
-
-EXTRA_OECONF = "GDBUS_CODEGEN=${STAGING_BINDIR_NATIVE}/gdbus-codegen \
- GLIB_COMPILE_RESOURCES=${STAGING_BINDIR_NATIVE}/glib-compile-resources"
+PACKAGECONFIG[polkit] = "-Dpolkit=enabled,-Dpolkit=disabled,polkit"
ALTERNATIVE:${PN} = "x-session-manager"
ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/xfce4-session"