Re: [Buildroot] [PATCH v2 1/2] package/libxkbcommon: build libxkbregistry when libxml2 is available
Alsey Coleman Miller <[email protected]>
| Newsgroups | net.busybox.buildroot |
|---|---|
| Message-ID | <CA+3KNmC6+34xOVKt5Z=YgKNvtuY-CTEQgtg1GGQTzZYxU6=+LA@mail.gmail.com> |
@Thomas Petazzoni <[email protected]> Is there anything else I can provide to get this merged? On Mon, Aug 10, 2026 at 5:52 AM Raphaël Gallais-Pou <[email protected]> wrote: > Hi, > > For information, I've provided a similar fix here: > > https://lore.kernel.org/buildroot/[email protected]/ > earlier this summer. > > Romain stated that xkbregistry had been disabled on purpose[1] and to > which my question has remained unanswered in this time of holidays. > > Best regards, > Raphaël > > [1] > > https://lore.kernel.org/buildroot/[email protected]/ > > > Le 09/08/2026 à 22:14, Alsey Coleman Miller a écrit : > > 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 <[email protected]> > > --- > > > > 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 > > _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot