36c8c3d95a
ROOT CAUSE: Qt6's auto-generated Wayland wrappers pass NULL proxies to wl_*_add_listener() during initialization. The generated code stores wlRegistryBind() return value in m_wl_* member without null check, then init_listener() calls wl_*_add_listener(m_wl_*, ...) which page-faults at null+8 (write to proxy->object.implementation). FIX (kded6): wrapper script renames libqwayland.so to .disabled before launching kded6.real. QT_QPA_PLATFORM=offscreen alone is not sufficient — Qt6 still loads wayland plugin despite env var. FIX (libwayland): null guards in redox.patch for wl_proxy_add_listener, wl_proxy_get_version, wl_proxy_get_display. Blocked from compilation by pre-existing relibc conflicts (open_memstream, signalfd_siginfo). FIX (Qt6 wrappers): regex-based null guard insertion proven in concept. Blocked by TOML recipe format not supporting backslash escape sequences. Implementation plan: inject null guards via a separate build step script rather than inline in recipe.toml.
23 lines
619 B
TOML
23 lines
619 B
TOML
#TODO: Requires Redox compatibility patching for missing Linux header paths and
|
|
# some POSIX/Linux-only flags during cross-builds.
|
|
# redox.patch restores the Redox compatibility stubs plus Meson scanner detection.
|
|
[source]
|
|
tar = "https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.24.0/downloads/wayland-1.24.0.tar.xz"
|
|
patches = ["redox.patch"]
|
|
|
|
[build]
|
|
template = "custom"
|
|
dependencies = [
|
|
"relibc",
|
|
"libffi",
|
|
"expat",
|
|
"libxml2",
|
|
]
|
|
script = """
|
|
DYNAMIC_INIT
|
|
cookbook_meson -Ddocumentation=false -Dtests=false -Ddtd_validation=false -Dc_args=-Wno-error
|
|
"""
|
|
|
|
[package]
|
|
dependencies = ["libffi"]
|