new file mode 100644
@@ -0,0 +1,38 @@
+From b8bf147d621739a1b8a4d1cc8398d1c90288e9d6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= <gael@xfce.org>
+Date: Mon, 16 Mar 2026 16:21:51 +0100
+Subject: [PATCH] build: Do not display full path in generated headers
+
+Fixes: #144
+
+Upstream-Status: Backport [https://gitlab.xfce.org/xfce/libxfce4ui/-/commit/b8bf147d621739a1b8a4d1cc8398d1c90288e9d6]
+
+Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
+---
+ libxfce4ui/meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libxfce4ui/meson.build b/libxfce4ui/meson.build
+index 8cac84eb..ca5ac927 100644
+--- a/libxfce4ui/meson.build
++++ b/libxfce4ui/meson.build
+@@ -102,7 +102,7 @@ libxfce4ui_enums += gnome.mkenums(
+ install_dir: libxfce4ui_install_dir,
+ sources: libxfce4ui_enum_headers,
+ fhead: '#if !defined(_LIBXFCE4UI_INSIDE_LIBXFCE4UI_H) && !defined(LIBXFCE4UI_COMPILATION)\n#error "Only <libxfce4ui/libxfce4ui.h> can be included directly, this file is not part of the public API."\n#endif\n\n#ifndef __LIBXFCE4UI_ENUM_TYPES_H__\n#define __LIBXFCE4UI_ENUM_TYPES_H__\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n\n',
+- fprod: '/* enumerations from "@filename@" */\n\n',
++ fprod: '/* enumerations from "@basename@" */\n\n',
+ vhead: 'GType @enum_name@_get_type(void) G_GNUC_CONST;\n#define XFCE_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n\n',
+ ftail: 'G_END_DECLS\n\n#endif /* !__LIBXFCE4UI_ENUM_TYPES_H__ */',
+ )
+@@ -111,7 +111,7 @@ libxfce4ui_enums += gnome.mkenums(
+ install_header: false,
+ sources: libxfce4ui_enum_headers,
+ fhead: '#include "libxfce4ui-enums.h"\n#include "xfce-gtk-extensions.h"\n#include "libxfce4ui-enum-types.h"\n#include "libxfce4ui-visibility.h"\n\n',
+- fprod: '/* enumerations from "@filename@" */\n\n',
++ fprod: '/* enumerations from "@basename@" */\n\n',
+ vhead: 'GType\n@enum_name@_get_type(void)\n{\n static GType type = 0;\n\n if(!type) {\n static const G@Type@Value values[] = {',
+ vprod: ' { @VALUENAME@, "@VALUENAME@", "@valuenick@" },',
+ vtail: ' { 0, NULL, NULL }\n\t};\n\ttype = g_@type@_register_static("@EnumName@", values);\n }\n\n return type;\n}\n\n',
+--
+2.34.1
similarity index 61%
rename from meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.20.2.bb
rename to meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.21.7.bb
@@ -5,29 +5,28 @@ LICENSE = "LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4cf66a4984120007c9881cc871cf49db"
DEPENDS = "intltool-native perl-native gtk+3 libxfce4util xfce4-dev-tools xfconf"
+XFCE_COMPRESS_TYPE = "xz"
+XFCEBASEBUILDCLASS = "meson"
+
inherit xfce gtk-doc gobject-introspection features_check
+# libxfce4ui uses 'gtk-doc' instead of 'docs' for meson option
+GTKDOC_MESON_OPTION = "gtk-doc"
+
# xfce4 depends on libwnck3. gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
# cairo would at least needed to be built with xlib.
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11','opengl', "", d)}"
# TODO: Check if 0001-... can go
-SRC_URI += "file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch"
-SRC_URI[sha256sum] = "5d3d67b1244a10cee0e89b045766c05fe1035f7938f0410ac6a3d8222b5df907"
+SRC_URI += "file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch \
+ file://0001-build-Do-not-display-full-path-in-generated-headers.patch \
+ "
+SRC_URI[sha256sum] = "a72a7af39cf183819bcfb61b1747d425261e966ccb172b2fc28f1494f524bd17"
-EXTRA_OECONF += "--with-vendor-info=${DISTRO}"
-EXTRA_OECONF += "--disable-vala"
+EXTRA_OEMESON = "-Dvala=disabled -Dvendor-info=${DISTRO}"
PACKAGECONFIG ??= " \
${@bb.utils.contains('DISTRO_FEATURES', 'x11','x11', "", d)} \
"
-PACKAGECONFIG[gladeui2] = "--enable-gladeui2,--disable-gladeui2,glade"
-PACKAGECONFIG[x11] = "--enable-startup-notification,--disable-startup-notification,libepoxy libice libsm startup-notification"
-
-
-PACKAGES += "${PN}-glade"
-FILES:${PN}-glade = " \
- ${libdir}/glade \
- ${datadir}/glade \
-"
+PACKAGECONFIG[x11] = "-Dstartup-notification=enabled,-Dstartup-notification=disabled,libepoxy libice libsm startup-notification"