Barrido de TEXTO puro: 1427 líneas de comentario TOML. Cero ArtifactHash movidos, y eso está MEDIDO, no deducido: hasheé las 741 antes y después y los ficheros de hashes son idénticos byte a byte (723 con hash real + 18 que ya no hasheaban de antes). El guardián valió la pena: el primer barrido, filtrando por 'la línea empieza con #', movió el hash de helix, lsof y steam-runtime-sniper. La causa es que una fase se escribe como compile = <triple> ... <triple> y sus comentarios de SHELL también empiezan con #, pero viven dentro del VALOR — y las fases sí entran en hash_inputs. El barrido ahora calcula los rangos de las cadenas multilínea de TOML y no entra ahí. Quedan intactos a propósito: .hammer-zig-cc y .hammer-cargo-vendor (literales dentro de fases), hammerd, hammer-recover y toda ruta que empiece por /
56 lines
2.6 KiB
TOML
56 lines
2.6 KiB
TOML
# qqc2-breeze-style 6.7.2 — el estilo de QtQuick Controls 2 que Plasma usa DE VERDAD. Sin él los
|
|
# controles QML (botones, deslizadores, campos) caen al estilo Basic de Qt: el escritorio arranca pero
|
|
# se ve ajeno, y el bloqueo de pantalla —que es QML puro— pierde su apariencia.
|
|
#
|
|
# POR QUÉ AHORA. Salió de `yupana frontera` (2026-09-08) como HUECO real: lo piden `kscreenlocker` y
|
|
# `plasma-workspace`. Hueco de RUNTIME, no de build: KDE sellaba 1037/1037 sin él.
|
|
#
|
|
# ⚠ VERSIÓN 6.7.2, NO la 6.7.4 que pinea nixpkgs. Va con el release de Plasma del resto del stack
|
|
# (breeze, plasma-workspace, kscreenlocker son todos 6.7.2): mezclar versiones de componentes del
|
|
# mismo release es pedir un desajuste de ABI en los plugins QML, que se manifestaría en RUNTIME y no
|
|
# al construir. nixpkgs sirve para descubrir el hueco, no para elegir la versión.
|
|
name = "qqc2-breeze-style"
|
|
version = "6.7.2"
|
|
license = "GPL-2.0-or-later"
|
|
[source]
|
|
tarball = "https://download.kde.org/stable/plasma/6.7.2/qqc2-breeze-style-6.7.2.tar.xz"
|
|
sha256 = "94e1dad9b110c43d48d8bea7c12e7fa2754e56d1a05a7bb249a03035e77f5b49"
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "dynamic"
|
|
flags = []
|
|
[build.phases]
|
|
configure = '''
|
|
rm -rf po
|
|
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]
|
|
# Lo que exige su CMakeLists: ECM · Qt6 Core/Gui/Qml/Quick/QuickControls2/QuickTemplates2 (qtbase +
|
|
# qtdeclarative) · KF6 GuiAddons/Config/KirigamiPlatform/ColorScheme/IconThemes.
|
|
# ⚠ Las deps de takana NO son transitivas: va la clausura entera. `kcoreaddons`/`ki18n`/`karchive`/
|
|
# `kwidgetsaddons` entran por ser la clausura de kiconthemes y kcolorscheme, no por gusto.
|
|
build = ["cmake", "samurai", "python3", "pkgconf", "extra-cmake-modules", "qttools", "gettext-tiny",
|
|
"qtbase", "qtdeclarative", "qtsvg", "dbus",
|
|
"kirigami", "kguiaddons", "kconfig", "kcolorscheme", "kiconthemes",
|
|
"kcoreaddons", "ki18n", "karchive", "kwidgetsaddons",
|
|
"mesa", "libdrm", "libxkbcommon", "wayland"]
|