gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1572Shell 203Rust 109Markdown 993728 Sutichaykuna

⎇ main recipes/incoming-kde/kauth.toml TOML · 59 siq'ikuna · 3.1 KB Ñawpa willay ch'uya

takana etapa 5a: los comentarios de las 741 recetas e852f4849 · Sergio ·

1# kauth 6.27.0 — KDE Frameworks 6 (Capa 2, ADR 0011). Ejecución privilegiada de acciones (KAuth::Action).
2# Campaña KDE: componente KF6::Auth que kwin exige (KF6 REQUIRED COMPONENTS Auth). Patrón KF6: dynamic,
3# wrapper zig que filtra -Wl,--fatal-warnings, CMAKE_PREFIX_PATH=/usr, ECM + qttools + dbus.
4# CMakeLists: Qt6 Gui + Qt6DBus + KF6CoreAddons REQUIRED. El backend polkit (PolkitQt6) es OPCIONAL →
5# sin él caía al backend "fake"/dummy (no bloquea el build, pero la autorización NO FUNCIONA).
6# ⚠ RESUELTO 2026-09-08: `polkit-qt-1` ya existe como receta, así que el backend REAL se compila.
7# Medido antes: el artefacto traía `libKF6AuthCore.so` y el helper, y NINGÚN plugin de backend —
8# ni siquiera el directorio `kf6/kauth/backend/`. Era el hueco de RUNTIME que reportó
9# `yupana frontera`: KDE sellaba 1037/1037 y Plasma no podía pedir una contraseña. No usa ki18n.
10name    = "kauth"
11version = "6.27.0"
12license = "LGPL-2.1-or-later OR LGPL-3.0-or-later"
13
14[source]
15tarball = "https://download.kde.org/stable/frameworks/6.27/kauth-6.27.0.tar.xz"
16sha256  = "741934765f0c9f1c535598203fbad3f1b97231cc683a218a7f39fab948c13eab"
17
18[build]
19compiler = "zig-cc"
20target   = "x86_64-linux-musl"
21link     = "dynamic"
22flags    = []
23
24[build.phases]
25configure = '''
26ZW="$PWD/.zwrap"; mkdir -p "$ZW"
27cat > "$ZW/cc"  <<'W'
28#!/bin/sh
29a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done
30exec /opt/zig/zig cc -mcpu=baseline $a
31W
32cat > "$ZW/cxx" <<'W'
33#!/bin/sh
34a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done
35exec /opt/zig/zig c++ -mcpu=baseline $a
36W
37chmod +x "$ZW/cc" "$ZW/cxx"
38cmake -B build -G Ninja -Wno-dev \
39  -DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" -DCMAKE_ASM_COMPILER="$ZW/cc" \
40  -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \
41  -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF \
42  -DBUILD_TESTING=OFF -DBUILD_PYTHON_BINDINGS=OFF
43'''
44compile = "cmake --build build"
45install = "DESTDIR=/out cmake --install build"
46
47[deps]
48# `polkit-qt-1` trae el backend de verdad; `polkit`+`glib`+`libffi`/`pcre2`/`zlib` son SU clausura,
49# que hay que declarar acá porque las deps de takana NO son transitivas.
50build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "dbus", "extra-cmake-modules", "qttools", "mesa", "libdrm", "libxkbcommon", "wayland", "kcoreaddons",
51  "polkit-qt-1", "polkit", "glib", "libffi", "pcre2", "zlib",
52  # `kwindowsystem` SÓLO hace falta con el backend polkit: sin él el CMake ni lo pide. Lo dijo el
53  # propio configure al fallar («Could NOT find KF6WindowSystem»), no una suposición — el backend
54  # necesita la ventana padre para anclar el diálogo de contraseña.
55  # ⚠ Y con `kwindowsystem` entran las X11, aunque la distro sea Wayland-only: su
56  # `KF6WindowSystemConfig.cmake` hace `find_dependency(X11)` porque se construyó CON soporte X11,
57  # así que se lo impone a todo consumidor. Mismo conjunto que ya declara `breeze`, que también
58  # lo consume. Lo dijo el configure al fallar: «Could NOT find X11».
59  "kwindowsystem", "libX11", "xorgproto", "libXau", "libXdmcp", "libxcb"]