Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/2] package/libxkbcommon: build libxkbregistry when libxml2 is available
@ 2026-08-09 20:14 Alsey Coleman Miller
  2026-08-09 20:14 ` [Buildroot] [PATCH v2 2/2] package/wine: select libxkbcommon and libxml2 for the Wayland driver Alsey Coleman Miller
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Alsey Coleman Miller @ 2026-08-09 20:14 UTC (permalink / raw)
  To: buildroot; +Cc: André Zwing, Thomas Petazzoni, Alsey Coleman Miller

libxkbregistry is the keyboard layout catalogue half of the library. It
parses the XML layout registry and so needs libxml2, which is presumably
why it was disabled unconditionally rather than wired to a dependency.

wine needs it. Its configure.ac requires XKBREGISTRY_LIBS alongside
wayland-client, wayland-scanner, xkbcommon and linux/input.h before it
will build the Wayland driver, and wine.mk passes --with-wayland for any
build with BR2_PACKAGE_WAYLAND - which turns that notice into a hard
error:

  checking for wayland-client.h... yes
  checking for wl_display_connect in -lwayland-client... yes
  checking for wayland-scanner... .../host/bin/wayland-scanner
  checking for xkb_context_new in -lxkbcommon... yes
  checking for wayland-egl.h... yes
  checking for wl_egl_window_create in -lwayland-egl... yes
  configure: error: Wayland development files not found, the Wayland
    driver won't be supported.
  This is an error since --with-wayland was requested.

Every other term of that test passes; only XKBREGISTRY_LIBS is empty, so
wine and wayland together could not be built on any architecture.

Gated on BR2_PACKAGE_LIBXML2 rather than turned on outright, because
meson.build takes dependency('libxml-2.0') unconditionally once
enable-xkbregistry is set, so a target without libxml2 would fail to
configure.

Regarding since when this is broken, three pieces had to come together:

 - libxkbcommon has passed -Denable-xkbregistry=false since commit
   1791bc30a5 ("package/libxkbcommon: bump version to 1.0.1", Sep 2020),
   i.e. Buildroot 2020.11. libxkbregistry has therefore never been built
   in Buildroot.

 - wine's configure gained the XKBREGISTRY_LIBS term in its Wayland
   test in wine 9.0, with upstream commit d64ea8e4a6c9
   ("winewayland.drv: Enumerate Xkb layouts and create matching HKL.",
   Nov 2023).

 - wine.mk started passing --with-wayland in commit 7cb49e7712
   ("package/wine: bump to version 9.19", Oct 2024), which is what turns
   the missing XKBREGISTRY_LIBS from a notice into a hard error.

The breakage therefore dates from Buildroot 2024.11, and every branch
since is affected, including the LTS one: 2025.02.x carries wine 10.0,
whose configure has the XKBREGISTRY_LIBS check, together with
libxkbcommon 1.9.2 built with -Denable-xkbregistry=false, and its wine.mk
passes --with-wayland. 2025.05.x and 2025.08.x are in the same state.
A backport to 2025.02.x is thus needed.

Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
---

Notes:
    Changes since v1:
     - Extend the commit log to document since when the problem exists, and
       whether the 2025.02.x LTS branch is affected (suggested by Thomas
       Petazzoni). No change to the code.

 package/libxkbcommon/libxkbcommon.mk | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/package/libxkbcommon/libxkbcommon.mk b/package/libxkbcommon/libxkbcommon.mk
index 21a2b937ef..406affe401 100644
--- a/package/libxkbcommon/libxkbcommon.mk
+++ b/package/libxkbcommon/libxkbcommon.mk
@@ -12,8 +12,14 @@ LIBXKBCOMMON_CPE_ID_VENDOR = xkbcommon
 LIBXKBCOMMON_INSTALL_STAGING = YES
 LIBXKBCOMMON_DEPENDENCIES = host-bison host-flex
 LIBXKBCOMMON_CONF_OPTS = \
-	-Denable-docs=false \
-	-Denable-xkbregistry=false
+	-Denable-docs=false
+
+ifeq ($(BR2_PACKAGE_LIBXML2),y)
+LIBXKBCOMMON_CONF_OPTS += -Denable-xkbregistry=true
+LIBXKBCOMMON_DEPENDENCIES += libxml2
+else
+LIBXKBCOMMON_CONF_OPTS += -Denable-xkbregistry=false
+endif
 
 ifeq ($(BR2_PACKAGE_XORG7),y)
 LIBXKBCOMMON_CONF_OPTS += -Denable-x11=true
-- 
2.47.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-08-10  9:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-09 20:14 [Buildroot] [PATCH v2 1/2] package/libxkbcommon: build libxkbregistry when libxml2 is available Alsey Coleman Miller
2026-08-09 20:14 ` [Buildroot] [PATCH v2 2/2] package/wine: select libxkbcommon and libxml2 for the Wayland driver Alsey Coleman Miller
2026-08-09 20:29   ` Thomas Petazzoni via buildroot
2026-08-09 20:28 ` [Buildroot] [PATCH v2 1/2] package/libxkbcommon: build libxkbregistry when libxml2 is available Thomas Petazzoni via buildroot
2026-08-10  9:51 ` Raphaël Gallais-Pou

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox