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:
@@ -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"]
|
||||
|
||||
@@ -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"]
|
||||
@@ -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"]
|
||||
@@ -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"]
|
||||
Reference in New Issue
Block a user