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…
licencias: 936 de 1141 (82%) — detección por evidencia, con sus dos imprecisiones declaradas
1# libkscreen 6.7.2 — Plasma (ADR 0011). Gestión de pantallas/salidas (KScreen). La usa plasma-workspace
2# (KScreen daemon, config de monitores). CMakeLists: Qt6 Core+DBus+Gui+Test+WaylandClient (WaylandClient
3# → qtwayland) + Wayland Client + PlasmaWaylandProtocols + find_package(XCB COMPONENTS XCB RANDR DPMS)
4# + KF6 Config CoreAddons + KWayland. XCB RANDR/DPMS los provee libxcb (xcb-randr.pc/xcb-dpms.pc, sin
5# --disable en la receta) → NO hace falta libXrandr. rm -rf po.
6name = "libkscreen"
7version = "6.7.2"
8license = "LGPL-2.1-or-later OR LGPL-3.0-or-later"
9
10[source]
11tarball = "https://download.kde.org/stable/plasma/6.7.2/libkscreen-6.7.2.tar.xz"
12sha256 = "408dc2753001a689cadfc77bdcc4a968baa385cae8dd8abce6c3ce422284d078"
13
14[build]
15compiler = "zig-cc"
16target = "x86_64-linux-musl"
17link = "dynamic"
18flags = []
19
20[build.phases]
21configure = '''
22rm -rf po
23# Wrapper que PRESERVA args con espacios: el moc_predefs de libkscreen (target libdpms) genera un
24# `-I"/src/src/libdpms /src/build/src/libdpms"` (dos dirs, espacio en un solo -I); el wrapper clásico
25# (`a="$a $x"; exec ... $a` sin comillas) lo splitea → "unrecognized file extension". Acá reconstruimos
26# los args en los positional params ("$@") filtrando -Wl,--fatal-warnings, y pasamos "$@" con comillas.
27ZW="$PWD/.zwrap"; mkdir -p "$ZW"
28cat > "$ZW/cc" <<'W'
29#!/bin/sh
30f=1; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; if [ "$f" = 1 ]; then set -- "$x"; f=0; else set -- "$@" "$x"; fi; done; [ "$f" = 1 ] && set --
31exec /opt/zig/zig cc -mcpu=baseline "$@"
32W
33cat > "$ZW/cxx" <<'W'
34#!/bin/sh
35f=1; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; if [ "$f" = 1 ]; then set -- "$x"; f=0; else set -- "$@" "$x"; fi; done; [ "$f" = 1 ] && set --
36exec /opt/zig/zig c++ -mcpu=baseline "$@"
37W
38chmod +x "$ZW/cc" "$ZW/cxx"
39cmake -B build -G Ninja -Wno-dev \
40 -DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" -DCMAKE_ASM_COMPILER="$ZW/cc" \
41 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \
42 -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF \
43 -DBUILD_TESTING=OFF -DBUILD_PYTHON_BINDINGS=OFF
44'''
45compile = "cmake --build build"
46install = "DESTDIR=/out cmake --install build"
47
48[deps]
49build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "dbus", "extra-cmake-modules", "qttools", "mesa", "libdrm", "libxkbcommon", "wayland", "wayland-protocols", "plasma-wayland-protocols", "qtwayland", "kwayland", "kconfig", "kcoreaddons", "libxcb", "libX11", "xorgproto", "libXau", "libXdmcp", "libXext", "libXrender", "libXfixes", "libXi"]