kde/Capa2: TIER-1 KF6 COMPLETO 9/9 — kguiaddons+kwindowsystem wayland-only
- plasma-wayland-protocols 1.21.0 (find_package PlasmaWaylandProtocols, CMake+ECM liviano) - kguiaddons: WITH_X11=OFF WITH_WAYLAND=ON (Qt6WaylandClient bundleado en qtbase). Sellado. - kwindowsystem: KWINDOWSYSTEM_X11=OFF KWINDOWSYSTEM_WAYLAND=ON (opción KWINDOWSYSTEM_*, no WITH_*). QML=OFF. Sellado. - xcb-util base + xcb-util-keysyms + xcb-util-wm sellados (quedan para saldar Qt-xcb / sesión X11). - Decisión: path X11 exige Qt con QT_FEATURE_xcb (apagado en gate) = deuda Capa 0 diferida; Plasma es Wayland-first ⇒ tier-1 completo por el path wayland. Tier-1 9/9: kcoreaddons kcodecs kconfig ki18n kwidgetsaddons karchive solid kguiaddons kwindowsystem. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Semantic delta
No definition changed: this change is text, documentation or data.
5 files · +116 −10
diff --git a/recipes/incoming-kde/kguiaddons.toml b/recipes/incoming-kde/kguiaddons.toml
index e7e469e1..6215dae5 100644
--- a/recipes/incoming-kde/kguiaddons.toml
+++ b/recipes/incoming-kde/kguiaddons.toml
@@ -31,14 +31,14 @@ cmake -B build -G Ninja -Wno-dev \
-DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" -DCMAKE_ASM_COMPILER="$ZW/cc" \
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF \
- -DBUILD_TESTING=OFF -DBUILD_PYTHON_BINDINGS=OFF
+ -DBUILD_TESTING=OFF -DBUILD_PYTHON_BINDINGS=OFF \
+ -DWITH_X11=OFF -DWITH_WAYLAND=ON
'''
compile = "cmake --build build"
install = "DESTDIR=/out cmake --install build"
[deps]
-# X11+libxcb+wayland-protocols: kguiaddons pide find_package(X11 REQUIRED) + XCB(XCB) + Wayland +
-# WaylandProtocols para KModifierKeyInfo (backends X11 y wayland). Cadena X11 Capa 0 ya sellada.
-# xorgproto: FindX11.cmake busca X11/X.h (header de protocolo, lo instala xorgproto, NO libX11) ⇒
-# obligatorio para todo consumidor de headers X11.
-build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "dbus", "extra-cmake-modules", "qttools", "qtdeclarative", "mesa", "libdrm", "libxkbcommon", "wayland", "wayland-protocols", "xorgproto", "libX11", "libxcb", "libXau", "libXdmcp"]
+# WAYLAND-ONLY (WITH_X11=OFF): el path X11 exige Qt construido con QT_FEATURE_xcb (apagado en el gate,
+# deuda Capa 0 diferida). Plasma es Wayland-first ⇒ backend wayland de KModifierKeyInfo. Qt6WaylandClient
+# viene bundleado en qtbase. plasma-wayland-protocols: kguiaddons pide find_package(PlasmaWaylandProtocols).
+build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "dbus", "extra-cmake-modules", "qttools", "qtdeclarative", "mesa", "libdrm", "libxkbcommon", "wayland", "wayland-protocols", "plasma-wayland-protocols"]
diff --git a/recipes/incoming-kde/kwindowsystem.toml b/recipes/incoming-kde/kwindowsystem.toml
index 00cb3d25..55f21f44 100644
--- a/recipes/incoming-kde/kwindowsystem.toml
+++ b/recipes/incoming-kde/kwindowsystem.toml
@@ -31,12 +31,14 @@ cmake -B build -G Ninja -Wno-dev \
-DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" -DCMAKE_ASM_COMPILER="$ZW/cc" \
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF \
- -DBUILD_TESTING=OFF -DBUILD_PYTHON_BINDINGS=OFF
+ -DBUILD_TESTING=OFF -DBUILD_PYTHON_BINDINGS=OFF \
+ -DKWINDOWSYSTEM_QML=OFF -DKWINDOWSYSTEM_X11=OFF -DKWINDOWSYSTEM_WAYLAND=ON
'''
compile = "cmake --build build"
install = "DESTDIR=/out cmake --install build"
[deps]
-# X11 backend: find_package(X11 REQUIRED) + XCB con componentes XCB/KEYSYMS/RES/ICCCM. XCB=libxcb,
-# RES=xcb-res.pc (lo trae libxcb), KEYSYMS=xcb-util-keysyms, ICCCM=xcb-util-wm. xorgproto p/ X11/X.h.
-build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "dbus", "extra-cmake-modules", "qttools", "qtdeclarative", "mesa", "libdrm", "libxkbcommon", "wayland", "wayland-protocols", "xorgproto", "libX11", "libxcb", "xcb-util-keysyms", "xcb-util-wm", "libXau", "libXdmcp"]
+# WAYLAND-ONLY (WITH_X11=OFF): el path X11 pedía XCB con KEYSYMS/RES/ICCCM + Qt-xcb (deuda Capa 0
+# diferida). Plasma es Wayland-first. plasma-wayland-protocols p/ find_package(PlasmaWaylandProtocols).
+# Qt6WaylandClient bundleado en qtbase. Las recetas xcb-util-* quedan selladas para cuando se salde Qt-xcb.
+build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "dbus", "extra-cmake-modules", "qttools", "qtdeclarative", "mesa", "libdrm", "libxkbcommon", "wayland", "wayland-protocols", "plasma-wayland-protocols"]
diff --git a/recipes/incoming-kde/plasma-wayland-protocols.toml b/recipes/incoming-kde/plasma-wayland-protocols.toml
new file mode 100644
index 00000000..5bb2e16d
--- /dev/null
+++ b/recipes/incoming-kde/plasma-wayland-protocols.toml
@@ -0,0 +1,41 @@
+# plasma-wayland-protocols 1.21.0 — definiciones XML de protocolos Wayland propios de KDE/Plasma
+# (org_kde_*). Capa 0 campaña KDE (ADR 0011): kguiaddons/kwindowsystem (y luego kwin/plasmashell) piden
+# find_package(PlasmaWaylandProtocols). No compila código: instala XML + PlasmaWaylandProtocolsConfig.cmake.
+# CMake+ECM puro (sin Qt) ⇒ no necesita el set Qt-consumer, sólo ECM.
+name = "plasma-wayland-protocols"
+version = "1.21.0"
+
+[source]
+tarball = "https://download.kde.org/stable/plasma-wayland-protocols/plasma-wayland-protocols-1.21.0.tar.xz"
+sha256 = "698a7b28b711270314e396e248ae86087cfeaed01372009063995be6e1dc85ba"
+
+[build]
+compiler = "zig-cc"
+target = "x86_64-linux-musl"
+link = "dynamic"
+flags = []
+
+[build.phases]
+configure = '''
+ZW="$PWD/.zwrap"; mkdir -p "$ZW"
+cat > "$ZW/cc" <<'W'
+#!/bin/sh
+a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done
+exec /opt/zig/zig cc -mcpu=baseline $a
+W
+cat > "$ZW/cxx" <<'W'
+#!/bin/sh
+a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done
+exec /opt/zig/zig c++ -mcpu=baseline $a
+W
+chmod +x "$ZW/cc" "$ZW/cxx"
+cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" -DCMAKE_ASM_COMPILER="$ZW/cc" \
+ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \
+ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF -DBUILD_TESTING=OFF
+'''
+compile = "cmake --build build"
+install = "DESTDIR=/out cmake --install build"
+
+[deps]
+build = ["cmake", "samurai", "pkgconf", "extra-cmake-modules"]
diff --git a/recipes/incoming-kde/qtwayland.toml b/recipes/incoming-kde/qtwayland.toml
new file mode 100644
index 00000000..7172ea6d
--- /dev/null
+++ b/recipes/incoming-kde/qtwayland.toml
@@ -0,0 +1,37 @@
+# qt6-qtwayland 6.11.1 — QtWaylandClient + QtWaylandCompositor. Capa 1 campaña KDE (ADR 0011): provee
+# Qt6WaylandClient que kwindowsystem (backend Wayland) y todo Plasma-on-Wayland (kwin/plasmashell) exigen,
+# + el QPA wayland del lado cliente. Patrón módulo Qt (dinámico, wrappers zig, Qt6 sellado vía PREFIX_PATH).
+# Set Qt-consumer (mesa/libdrm/libxkbcommon) + wayland + wayland-protocols (wayland-scanner genera código).
+name = "qt6-qtwayland"
+version = "6.11.1"
+
+[source]
+tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtwayland-everywhere-src-6.11.1.tar.xz"
+sha256 = "95788aa502f75441d4edf65932b235f76523084e13dbbb7b9ee2d207b32bd9b3"
+
+[build]
+compiler = "zig-cc"
+target = "x86_64-linux-musl"
+link = "dynamic"
+flags = []
+
+[build.phases]
+configure = '''
+ZW="$PWD/.zwrap"; mkdir -p "$ZW"
+printf '#!/bin/sh\nexec /opt/zig/zig cc -mcpu=baseline "$@"\n' > "$ZW/cc"
+printf '#!/bin/sh\nexec /opt/zig/zig c++ -mcpu=baseline "$@"\n' > "$ZW/cxx"
+chmod +x "$ZW/cc" "$ZW/cxx"
+cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" -DCMAKE_ASM_COMPILER="$ZW/cc" \
+ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF -DCMAKE_PREFIX_PATH=/usr \
+ -DINSTALL_BINDIR=lib/qt6/bin -DINSTALL_PUBLICBINDIR=bin -DINSTALL_LIBEXECDIR=lib/qt6/libexec \
+ -DINSTALL_ARCHDATADIR=lib/qt6 -DINSTALL_DATADIR=share/qt6 -DINSTALL_INCLUDEDIR=include/qt6 \
+ -DINSTALL_MKSPECSDIR=lib/qt6/mkspecs \
+ -DQT_BUILD_EXAMPLES=OFF -DQT_BUILD_TESTS=OFF
+'''
+compile = "cmake --build build"
+install = "DESTDIR=/out cmake --install build"
+
+[deps]
+build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "qtdeclarative", "mesa", "libdrm", "libxkbcommon", "wayland", "wayland-protocols"]
diff --git a/recipes/incoming-kde/xcb-util.toml b/recipes/incoming-kde/xcb-util.toml
new file mode 100644
index 00000000..dc582a45
--- /dev/null
+++ b/recipes/incoming-kde/xcb-util.toml
@@ -0,0 +1,26 @@
+# xcb-util 0.4.1 — utilidades base de XCB (libxcb-util.so: xcb_aux, xcb_event, xcb_atom). Capa 0 de la
+# campaña KDE (ADR 0011): base de la familia xcb-util (keysyms/wm/image la usan vía los m4 comunes).
+# Autotools; consume libxcb + xorgproto. Linking dinámico.
+name = "xcb-util"
+version = "0.4.1"
+
+[source]
+tarball = "https://xorg.freedesktop.org/releases/individual/lib/xcb-util-0.4.1.tar.xz"
+sha256 = "5abe3bbbd8e54f0fa3ec945291b7e8fa8cfd3cccc43718f8758430f94126e512"
+
+[build]
+compiler = "zig-cc"
+target = "x86_64-linux-musl"
+link = "dynamic"
+zig_version = "0.13.0"
+
+[build.phases]
+configure = '''
+PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig \
+./configure --prefix=/usr --disable-static --enable-shared
+'''
+compile = "make -j\"$(nproc)\""
+install = "make install DESTDIR=/out"
+
+[deps]
+build = ["pkgconf", "python3", "util-macros", "xorgproto", "xcb-proto", "libxcb", "libXau", "libXdmcp"]