Files
takana/recipes/incoming-kde/kauth.toml
T
SergioandClaude Opus 5 3d8c6fc6c7 KDE: cerrar los 3 huecos que quedaban — polkit-qt-1, qqc2-breeze-style y xwayland
La frontera queda en CERO huecos y cero pendientes, y el perfil escritorio-kde en 302/302
sellados. Los tres eran huecos de RUNTIME: KDE sellaba 1037/1037 con la autorización muerta,
los controles QML en estilo genérico y ninguna app X11 capaz de arrancar.

polkit-qt-1 0.201.1 — al conectarlo se vio lo que ninguna métrica decía: kauth NO traía plugin
de backend, ni siquiera el directorio. Ahora trae kf6/kauth/backend/kauth_backend_plugin.so con
el símbolo KAuth::Polkit1Backend. Cascada de 26 dependientes reconstruida, 26/26 sin fallos.
Añadirlo cambió la rama del CMake y pidió kwindowsystem y tras él las X11 — cada cosa dicha por
el configure al fallar, no supuesta.

qqc2-breeze-style 6.7.2 (la del stack Plasma, NO la 6.7.4 de nixpkgs: mezclar versiones de un
mismo release es pedir desajuste de ABI en los plugins QML, que se ve en runtime y no al
construir). Enganchado a plasma-workspace como deps.runtime, no build: es un plugin que Qt carga
por la ruta de imports. Verificado que runtime no re-hashea ⇒ cero rebuilds.

xwayland 24.1.13 — resultó ser una CADENA de seis: libfontenc, libXfont2, libxkbfile,
libxshmfence, xkbcomp y el servidor. Ninguna existía. Tres tropiezos con su lección:

  · libxkbfile 1.2.0 ya no trae ./configure: es sólo meson. El resto de las libs X11 de la cola
    son autotools, así que copiar su plantilla era lo natural y estaba mal.
  · «checking for freetype2... no» culpaba a freetype, que estaba perfecta: freetype2.pc declara
    Requires: zlib, libpng y pkg-config resuelve transitivamente. El mensaje señala al paquete
    equivocado.
  · libXfont2 construye una .so y moría en «recompile with -fPIC» contra la libfreetype.a
    estática. Van las variantes -shared.

  Y xkbcomp es el eslabón que NINGÚN build habría delatado: xwayland lo lanza como subproceso en
  runtime (xkb/ddxLoad.c) y su meson lo pide con required:false, así que la receta compila igual
  y el servidor arranca sin teclado. Se encontró leyendo la fuente.

⚠ Sin GLX, y no por preferencia: glx/meson.build:43 pide dependency('gl') y ninguna cola publica
gl.pc — las tres recetas de mesa van con glx y glvnd apagados por decisión anterior. Las apps
X11 corren en 2D. ⚠ Y el meson.build RAÍZ engaña: ahí build_glx sólo enciende una tabla hash y
parece gratis; yo mismo di la preocupación por infundada mirando el fichero equivocado.

Verificado: Xwayland arranca y se identifica («The X.Org Foundation Xwayland Version 24.1.13»),
las 6 REPRODUCEN bit a bit, los 5 grafos con deuda 0, y los 6 tarballs en el mirror.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014QPJteswQvP1L7zSBrQQe2
2026-09-08 22:26:17 +00:00

60 lines
3.1 KiB
TOML

# kauth 6.27.0 — KDE Frameworks 6 (Capa 2, ADR 0011). Ejecución privilegiada de acciones (KAuth::Action).
# Campaña KDE: componente KF6::Auth que kwin exige (KF6 REQUIRED COMPONENTS Auth). Patrón KF6: dynamic,
# wrapper zig que filtra -Wl,--fatal-warnings, CMAKE_PREFIX_PATH=/usr, ECM + qttools + dbus.
# CMakeLists: Qt6 Gui + Qt6DBus + KF6CoreAddons REQUIRED. El backend polkit (PolkitQt6) es OPCIONAL →
# sin él caía al backend "fake"/dummy (no bloquea el build, pero la autorización NO FUNCIONA).
# ⚠ RESUELTO 2026-09-08: `polkit-qt-1` ya existe como receta, así que el backend REAL se compila.
# Medido antes: el artefacto traía `libKF6AuthCore.so` y el helper, y NINGÚN plugin de backend —
# ni siquiera el directorio `kf6/kauth/backend/`. Era el hueco de RUNTIME que reportó
# `yupana frontera`: KDE sellaba 1037/1037 y Plasma no podía pedir una contraseña. No usa ki18n.
name = "kauth"
version = "6.27.0"
license = "LGPL-2.1-or-later OR LGPL-3.0-or-later"
[source]
tarball = "https://download.kde.org/stable/frameworks/6.27/kauth-6.27.0.tar.xz"
sha256 = "741934765f0c9f1c535598203fbad3f1b97231cc683a218a7f39fab948c13eab"
[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]
# `polkit-qt-1` trae el backend de verdad; `polkit`+`glib`+`libffi`/`pcre2`/`zlib` son SU clausura,
# que hay que declarar acá porque las deps de hammer NO son transitivas.
build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "dbus", "extra-cmake-modules", "qttools", "mesa", "libdrm", "libxkbcommon", "wayland", "kcoreaddons",
"polkit-qt-1", "polkit", "glib", "libffi", "pcre2", "zlib",
# `kwindowsystem` SÓLO hace falta con el backend polkit: sin él el CMake ni lo pide. Lo dijo el
# propio configure al fallar («Could NOT find KF6WindowSystem»), no una suposición — el backend
# necesita la ventana padre para anclar el diálogo de contraseña.
# ⚠ Y con `kwindowsystem` entran las X11, aunque la distro sea Wayland-only: su
# `KF6WindowSystemConfig.cmake` hace `find_dependency(X11)` porque se construyó CON soporte X11,
# así que se lo impone a todo consumidor. Mismo conjunto que ya declara `breeze`, que también
# lo consume. Lo dijo el configure al fallar: «Could NOT find X11».
"kwindowsystem", "libX11", "xorgproto", "libXau", "libXdmcp", "libxcb"]