kde/Plasma: blockers de kwin (Vulkan/KNightTime/libinput) + patch Canberra
- vulkan-headers + vulkan-loader 1.4.350.1 (Vulkan::Vulkan; WSI xcb/xlib ON, xrandr OFF). - qtpositioning + kholidays(flex/bison) + knighttime (cadena KNightTime TYPE REQUIRED de kwin). - libinput 1.28.1 variante incoming-kde (kwin pide >=1.28; canónica 1.27.1). - kwin patch Canberra REQUIRED→opcional + systembell condicional (evita stack audio; deuda diferida). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# kholidays 6.27.0 — KDE Frameworks 6 (cálculo de festivos/feriados, KF6::Holidays). Blocker de knighttime
|
||||
# (find_package(KF6 ... Holidays)), que es blocker de kwin. Campaña KDE (ADR 0011). Patrón KF6: dynamic,
|
||||
# wrapper zig que filtra -Wl,--fatal-warnings, ECM + qttools.
|
||||
# CMakeLists: find_package(Qt6 Core Qml REQUIRED) + FLEX + BISON (>=3.3.2) REQUIRED (parser de reglas de
|
||||
# festivos). NO usa ki18n (sólo ecm_install_po_files_as_qm vía lrelease de qttools).
|
||||
name = "kholidays"
|
||||
version = "6.27.0"
|
||||
|
||||
[source]
|
||||
tarball = "https://download.kde.org/stable/frameworks/6.27/kholidays-6.27.0.tar.xz"
|
||||
sha256 = "84ce2acd5565a9510d74945ea2311f8c099cb031393255d1c8d399665d57b914"
|
||||
|
||||
[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 -DBUILD_PYTHON_BINDINGS=OFF
|
||||
'''
|
||||
compile = "cmake --build build"
|
||||
install = "DESTDIR=/out cmake --install build"
|
||||
|
||||
[deps]
|
||||
build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "qtdeclarative", "dbus", "extra-cmake-modules", "qttools", "mesa", "libdrm", "libxkbcommon", "wayland", "flex", "bison"]
|
||||
@@ -0,0 +1,42 @@
|
||||
# knighttime 6.7.2 — helpers de KDE Plasma para el ciclo día/noche (KF6::KNightTime). Blocker directo de kwin
|
||||
# (find_package(KNightTime REQUIRED)). Campaña KDE (ADR 0011). Patrón KF6: dynamic, wrapper zig, ECM + qttools.
|
||||
# CMakeLists: Qt6 Core/Gui/DBus/Positioning + KF6 Config/CoreAddons/DBusAddons/Holidays/I18n. ki18n_install(po)
|
||||
# ⇒ ki18n → gettext-tiny. Todo su cierre KF6 sellado salvo kholidays y qtpositioning (esta misma tanda).
|
||||
name = "knighttime"
|
||||
version = "6.7.2"
|
||||
|
||||
[source]
|
||||
tarball = "https://download.kde.org/stable/plasma/6.7.2/knighttime-6.7.2.tar.xz"
|
||||
sha256 = "3d26c7fe04512ab6367bfb2b092f296dbfd8331dedd576ab2cf30d840be6830e"
|
||||
|
||||
[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 -DBUILD_PYTHON_BINDINGS=OFF
|
||||
'''
|
||||
compile = "cmake --build build"
|
||||
install = "DESTDIR=/out cmake --install build"
|
||||
|
||||
[deps]
|
||||
build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "qtdeclarative", "dbus", "extra-cmake-modules", "qttools", "mesa", "libdrm", "libxkbcommon", "wayland", "gettext-tiny", "qtpositioning", "kholidays", "ki18n", "kconfig", "kcoreaddons", "kdbusaddons"]
|
||||
@@ -0,0 +1,28 @@
|
||||
kwin 6.7.2 hace find_package(Canberra REQUIRED) (línea 235) para el plugin systembell (campana de
|
||||
audio). libcanberra = stack de audio alsa/pulse/vorbis (pesado, no soberano). Este patch vuelve
|
||||
Canberra OPCIONAL y hace condicional el subdir systembell (sólo si Canberra_FOUND). kwin construye
|
||||
sin la campana de audio (deuda audio diferida, misma que knotifications).
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -232,7 +232,7 @@
|
||||
|
||||
endif()
|
||||
|
||||
-find_package(Canberra REQUIRED)
|
||||
+find_package(Canberra)
|
||||
|
||||
if (KWIN_BUILD_X11)
|
||||
pkg_check_modules(XKBX11 IMPORTED_TARGET xkbcommon-x11 REQUIRED)
|
||||
diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt
|
||||
--- a/src/plugins/CMakeLists.txt
|
||||
+++ b/src/plugins/CMakeLists.txt
|
||||
@@ -103,7 +103,9 @@ add_subdirectory(stickykeys)
|
||||
add_subdirectory(synchronizeskipswitcher)
|
||||
-add_subdirectory(systembell)
|
||||
+if (Canberra_FOUND)
|
||||
+ add_subdirectory(systembell)
|
||||
+endif()
|
||||
add_subdirectory(thumbnailaside)
|
||||
add_subdirectory(tileseditor)
|
||||
@@ -26,6 +26,7 @@ version = "6.7.2"
|
||||
[source]
|
||||
tarball = "https://download.kde.org/stable/plasma/6.7.2/kwin-6.7.2.tar.xz"
|
||||
sha256 = "6161a188f66ffac0a330dcf82dec9ecc3e53451b7bddd5d18fa00b1e9aada73b"
|
||||
patches = ["kwin-canberra-optional.patch"]
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
# libinput 1.28.1 — VARIANTE bump para la campaña KDE (ADR 0011): kwin 6.7.2 exige libinput >= 1.28
|
||||
# (la canónica recipes/libinput.toml está en 1.27.1). Override, mismo name="libinput". Idéntica a la
|
||||
# canónica salvo version+sha256 (meson_options y dependency() sin cambios: libudev, mtdev>=1.1, libevdev).
|
||||
# Recorte: sin libwacom, sin debug-gui (GTK), sin tests ni docs. Deps ya selladas.
|
||||
name = "libinput"
|
||||
version = "1.28.1"
|
||||
|
||||
[source]
|
||||
tarball = "https://gitlab.freedesktop.org/libinput/libinput/-/archive/1.28.1/libinput-1.28.1.tar.gz"
|
||||
sha256 = "a13f8c9a7d93df3c85c66afd135f0296701d8d32f911991b7aa4273fdd6a42a3"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "dynamic"
|
||||
zig_version = "0.13.0"
|
||||
|
||||
[build.phases]
|
||||
configure = "meson setup output --prefix=/usr --buildtype=release -Dlibwacom=false -Ddebug-gui=false -Dtests=false -Ddocumentation=false"
|
||||
compile = "ninja -C output"
|
||||
install = "DESTDIR=/out ninja -C output install"
|
||||
|
||||
[deps]
|
||||
build = ["meson", "samurai", "python3", "pkgconf", "libudev-zero", "libevdev", "mtdev"]
|
||||
@@ -0,0 +1,37 @@
|
||||
# qt6-qtpositioning 6.11.1 — módulo Qt Positioning (QtPositioning). Blocker de knighttime (Qt6::Positioning),
|
||||
# que a su vez es blocker de kwin (find_package(KNightTime REQUIRED)). Campaña KDE (ADR 0011). Patrón Qt del
|
||||
# gate H-Qt (dinámico, wrappers zig, Qt6 sellado vía PREFIX_PATH). qtserialport es OPCIONAL (no sellado, se
|
||||
# omite → sólo desactiva backends serie de GPS). Quick/Qml opcionales via qtdeclarative.
|
||||
name = "qt6-qtpositioning"
|
||||
version = "6.11.1"
|
||||
|
||||
[source]
|
||||
tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtpositioning-everywhere-src-6.11.1.tar.xz"
|
||||
sha256 = "d5e6b91801ae286e7630016caea3bdc5e1978b4291d6741d0d64c125650f78f5"
|
||||
|
||||
[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"]
|
||||
@@ -0,0 +1,33 @@
|
||||
# vulkan-headers 1.4.350.1 — cabeceras de la API Vulkan + config CMake Vulkan::Headers. Blocker de kwin
|
||||
# (find_package(Vulkan REQUIRED) → Vulkan::Vulkan). Campaña KDE (ADR 0011), cadena Vulkan. Headers-only:
|
||||
# INTERFACE library, no compila nada, sólo instala include/vulkan + los .cmake. Versión debe casar con
|
||||
# vulkan-loader. Tests y el módulo C++20 (Vulkan-Hpp) apagados.
|
||||
name = "vulkan-headers"
|
||||
version = "1.4.350.1"
|
||||
|
||||
[source]
|
||||
tarball = "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/vulkan-sdk-1.4.350.1.tar.gz"
|
||||
sha256 = "6d1bb65e49520344cc0a48af3dc02e993781efff14c7ebdcb8ae9fa23ddf7e83"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "dynamic"
|
||||
zig_version = "0.13.0"
|
||||
|
||||
[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_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DVULKAN_HEADERS_ENABLE_TESTS=OFF -DVULKAN_HEADERS_ENABLE_MODULE=OFF
|
||||
'''
|
||||
compile = "cmake --build build"
|
||||
install = "DESTDIR=/out cmake --install build"
|
||||
|
||||
[deps]
|
||||
build = ["cmake", "samurai", "python3", "pkgconf"]
|
||||
@@ -0,0 +1,37 @@
|
||||
# vulkan-loader 1.4.350.1 — ICD loader de Vulkan (libvulkan.so.1 + config CMake Vulkan::Loader/Vulkan::Vulkan).
|
||||
# Blocker de kwin (find_package(Vulkan REQUIRED)). Campaña KDE (ADR 0011). Versión casada con vulkan-headers.
|
||||
# CMakeLists: find_package(VulkanHeaders CONFIG) + PkgConfig REQUIRED para xcb (WSI_XCB) y x11 (WSI_XLIB).
|
||||
# WSI_WAYLAND sólo añade un -D (no linkea). WSI_XLIB_XRANDR default ON exige xrandr.pc → libXrandr NO está
|
||||
# sellado ⇒ lo apago (no es esencial para libvulkan.so). Python3 sólo si LOADER_CODEGEN (default OFF).
|
||||
name = "vulkan-loader"
|
||||
version = "1.4.350.1"
|
||||
|
||||
[source]
|
||||
tarball = "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/vulkan-sdk-1.4.350.1.tar.gz"
|
||||
sha256 = "602984a71000981e25e4feb419e6cdd70b18ffe2b8004f60f591706027bca468"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "dynamic"
|
||||
zig_version = "0.13.0"
|
||||
|
||||
[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"
|
||||
PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig \
|
||||
cmake -B build -G Ninja -Wno-dev \
|
||||
-DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" \
|
||||
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \
|
||||
-DBUILD_TESTS=OFF -DUPDATE_DEPS=OFF \
|
||||
-DBUILD_WSI_XCB_SUPPORT=ON -DBUILD_WSI_XLIB_SUPPORT=ON \
|
||||
-DBUILD_WSI_XLIB_XRANDR_SUPPORT=OFF -DBUILD_WSI_WAYLAND_SUPPORT=ON
|
||||
'''
|
||||
compile = "cmake --build build"
|
||||
install = "DESTDIR=/out cmake --install build"
|
||||
|
||||
[deps]
|
||||
build = ["cmake", "samurai", "python3", "pkgconf", "vulkan-headers", "wayland", "libxcb", "libX11", "xorgproto", "libXau", "libXdmcp", "libXext", "libXrender", "libXfixes", "libXi"]
|
||||
Reference in New Issue
Block a user