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>
This commit is contained in:
2026-07-12 07:05:02 -04:00
co-authored by Claude Opus 4.8
parent 310859ff6a
commit a25c46a41c
5 changed files with 116 additions and 10 deletions
+6 -6
View File
@@ -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"]
+6 -4
View File
@@ -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"]
@@ -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"]
+37
View File
@@ -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"]
+26
View File
@@ -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"]