new file mode 100644
@@ -0,0 +1,36 @@
+From 93fa2ed9a987c0f03c9f5aa0f31cb770d1cc5f17 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= <gael@xfce.org>
+Date: Mon, 16 Mar 2026 16:44:43 +0100
+Subject: [PATCH] build: Do not display full path in generated headers
+
+Upstream-Status: Backport [https://gitlab.xfce.org/xfce/xfce4-settings/-/commit/93fa2ed9a987c0f03c9f5aa0f31cb770d1cc5f17]
+
+Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
+---
+ dialogs/mime-settings/meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/dialogs/mime-settings/meson.build b/dialogs/mime-settings/meson.build
+index b7ca8dc7..5ac9a936 100644
+--- a/dialogs/mime-settings/meson.build
++++ b/dialogs/mime-settings/meson.build
+@@ -30,7 +30,7 @@ enums += gnome.mkenums(
+ install_header: false,
+ sources: 'xfce-mime-helper.h',
+ fhead: '#ifndef __XFCE_MIME_HELPER_ENUM_TYPES_H__\n#define __XFCE_MIME_HELPER_ENUM_TYPES_H__\n#include <libxfce4ui/libxfce4ui.h>\nG_BEGIN_DECLS\n',
+- fprod: '/* enumerations from "@filename@" */\n',
++ fprod: '/* enumerations from "@basename@" */\n',
+ vhead: 'GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define XFCE_MIME_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n',
+ ftail: 'G_END_DECLS\n\n#endif /* !__XFCE_MIME_HELPER_ENUM_TYPES_H__ */',
+ )
+@@ -39,7 +39,7 @@ enums += gnome.mkenums(
+ install_header: false,
+ sources: 'xfce-mime-helper.h',
+ fhead: '#undef GTK_DISABLE_DEPRECATED\n#define GTK_ENABLE_BROKEN\n#include "xfce-mime-helper.h"\n\n#include "xfce-mime-helper-enum-types.h"',
+- fprod: '\n/* enumerations from "@filename@" */',
++ fprod: '\n/* enumerations from "@basename@" */',
+ vhead: 'GType\n@enum_name@_get_type (void)\n{\n\tstatic GType type = 0;\n\tif (type == 0) {\n\tstatic const G@Type@Value values[] = {',
+ vprod: '\t{ @VALUENAME@, "@VALUENAME@", "@valuenick@" },',
+ vtail: '\t{ 0, NULL, NULL }\n\t};\n\ttype = g_@type@_register_static ("@EnumName@", values);\n }\n\treturn type;\n}\n',
+--
+2.51.2
similarity index 67%
rename from meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.20.1.bb
rename to meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.21.1.bb
@@ -5,25 +5,24 @@ LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "exo garcon libxi virtual/libx11 xrandr libxcursor libxklavier upower"
+XFCE_COMPRESS_TYPE = "xz"
+XFCEBASEBUILDCLASS = "meson"
+
inherit xfce features_check mime-xdg
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI[sha256sum] = "fd0d602853ea75d94024e5baae2d2bf5ca8f8aa4dad7bfd5d08f9ff8afee77b2"
-
-EXTRA_OECONF += " \
- GDBUS_CODEGEN=${STAGING_BINDIR_NATIVE}/gdbus-codegen \
- --enable-maintainer-mode --disable-debug \
-"
+SRC_URI += "file://0001-build-Do-not-display-full-path-in-generated-headers.patch"
+SRC_URI[sha256sum] = "e57a33d0bb9d63d0ef6f469c2d42cbf66e37d9127cc204de411b7385274e26d0"
PACKAGECONFIG ??= " \
notify \
${@bb.utils.contains('DISTRO_FEATURES','alsa','sound-setter', bb.utils.contains('DISTRO_FEATURES','pulseaudio','sound-setter','',d),d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
"
-PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify"
-PACKAGECONFIG[sound-setter] = "--enable-sound-settings, --disable-sound-settings, libcanberra, libcanberra sound-theme-freedesktop"
-PACKAGECONFIG[wayland] = "--enable-wayland, --disable-wayland, wayland-native"
+PACKAGECONFIG[notify] = "-Dlibnotify=enabled,-Dlibnotify=disabled,libnotify"
+PACKAGECONFIG[sound-setter] = "-Dsound-settings=true,-Dsound-settings=false,libcanberra,libcanberra sound-theme-freedesktop"
+PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native"
FILES:${PN} += " \
${libdir}/xfce4 \