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 815Rust 56Shell 37Markdown 291229 Definiciones

⎇ e852f4849157d026552008ad054cf4c31b8eb532 recipes/incoming-kde/purpose.toml TOML · 68 líneas · 3.5 KB Historia crudo

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

1# purpose 6.27.0 — el marco de KDE para «compartir»: el menú que ofrece enviar por correo, subir a
2# un servicio o abrir en otra aplicación, con los plugins que resuelven cada destino.
3#
4# POR QUÉ AHORA. Último HUECO de la frontera (triaje 2026-09-09). Lo piden gwenview, okular y
5# spectacle, y la receta de okular lo degrada con el flag OFICIAL `FORCE_NOT_REQUIRED_DEPENDENCIES`
6# junto a otros que su cabecera describe como «los que no tenemos sellados» — un ESTADO, no una
7# preferencia. Las tres apps construyen y arrancan; lo que falta es el menú Compartir.
8#
9# Hueco de RUNTIME, como los dos anteriores: nada del build lo necesita, así que KDE sellaba 303/303
10# sin él y ninguna métrica de deuda podía verlo.
11#
12# `KAccounts6` (integración con cuentas en línea) NO se pide: su find_package va sin REQUIRED y
13# arrastraría toda la torre de kaccounts/signond, que esta distro no tiene. Sin él quedan los plugins
14# que no dependen de una cuenta configurada.
15name    = "purpose"
16version = "6.27.0"
17license = "LGPL-2.1-or-later OR LGPL-3.0-or-later"
18
19[source]
20tarball = "https://download.kde.org/stable/frameworks/6.27/purpose-6.27.0.tar.xz"
21sha256  = "c4e348fa5ac990a77b3926105c62bc4f2dddaf8d7554c43ee4f18de3d16a3699"
22
23[build]
24compiler = "zig-cc"
25target   = "x86_64-linux-musl"
26link     = "dynamic"
27flags    = []
28
29[build.phases]
30configure = '''
31rm -rf po
32ZW="$PWD/.zwrap"; mkdir -p "$ZW"
33cat > "$ZW/cc"  <<'W'
34#!/bin/sh
35a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done
36exec /opt/zig/zig cc -mcpu=baseline $a
37W
38cat > "$ZW/cxx" <<'W'
39#!/bin/sh
40a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done
41exec /opt/zig/zig c++ -mcpu=baseline $a
42W
43chmod +x "$ZW/cc" "$ZW/cxx"
44cmake -B build -G Ninja -Wno-dev \
45  -DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" -DCMAKE_ASM_COMPILER="$ZW/cc" \
46  -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \
47  -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF -DBUILD_TESTING=OFF
48'''
49compile = "cmake --build build"
50install = "DESTDIR=/out cmake --install build"
51
52[deps]
53# Lo que exige su CMakeLists (ECM · Qt6 Core/Qml/Gui/Widgets/Network/DBus · KF6 CoreAddons/I18n/
54# Config/Kirigami/Notifications/KIO/Service) MÁS la clausura de KIO, que es la dep pesada y arrastra
55# media capa 2 de KF6. Las deps de takana NO son transitivas: va entera.
56build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "qtdeclarative", "qtsvg", "qttools",
57  "dbus", "extra-cmake-modules", "gettext-tiny", "mesa", "libdrm", "libxkbcommon", "wayland",
58  "kcoreaddons", "ki18n", "kconfig", "kirigami", "knotifications", "kio", "kservice",
59  # ⚠ Tres MÓDULOS QML que el CMake exige y que no salen de la lista de find_package: los pide
60  # con `ecm_find_qmlmodule`, o sea que comprueba que el import exista, no que la librería esté
61  # enlazada. Lo dijo el feature_summary al abortar: org.kde.prison, org.kde.kitemmodels y
62  # org.kde.kcmutils. Las tres recetas ya existían y publican su qmldir; sólo faltaba pedirlas.
63  "prison", "kitemmodels", "kcmutils", "kdeclarative", "kpackage",
64  "kcodecs", "kwidgetsaddons", "karchive", "solid", "kguiaddons", "kwindowsystem", "kdbusaddons",
65  "kitemviews", "kcrash", "kcolorscheme", "kcompletion", "kconfigwidgets", "kjobwidgets",
66  "kbookmarks", "sonnet", "ktextwidgets", "kiconthemes", "kglobalaccel", "kxmlgui", "kwallet",
67  "util-linux", "libgcrypt", "libgpg-error",
68  "libX11", "xorgproto", "libXau", "libXdmcp", "libXext", "libXrender", "libXfixes", "libXi", "libxcb"]