Tercera tanda curada, agrupada por la URL DE FUENTE de cada receta (que es la evidencia que el nombre no da): los once módulos Qt sin prefijo, freedesktop (dbus, libinput, libevdev, libdisplay-info, poppler, pulseaudio, upower, NetworkManager, ModemManager, polkit), kernel.org (los tres kernels, linux-headers, git, iproute2, libuuid) y PyPI. Los kernels llevan `GPL-2.0-only WITH Linux-syscall-note` explícita. No es adorno: sin esa excepción, todo binario de espacio de usuario que hace un syscall sería obra derivada del kernel. Es exactamente el tipo de dato que un campo de licencia existe para no perder. Quedan 147 sin declarar: 69 de GitHub donde la propia API dice NOASSERTION (hay que abrir el fuente), 20 de tawasuyu —que son nuestras o del otro agente, así que la licencia la decide el usuario, no yo— y el resto repartido en GNOME, gitlab.freedesktop y sueltos. Más 71 con SPDX ambiguo pendientes de desambiguar (`licencias.sh --revisar`). Hashes verificados otra vez sobre 20 recetas tocadas: 20 idénticos, 0 cambiados. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
47 lines
2.3 KiB
TOML
47 lines
2.3 KiB
TOML
# qt6-qtspeech 6.11.1 — módulo Qt TextToSpeech (Qt6::TextToSpeech). Campaña KDE (ADR 0011): habilita
|
|
# accesibilidad/TTS en apps KDE. Molde Qt del gate H-Qt (dinámico, wrappers zig, Qt6 vía PREFIX_PATH).
|
|
#
|
|
# Backends (src/tts/configure.cmake): flite y speechd son FEATURES autodetectadas (CONDITION *_FOUND),
|
|
# NO REQUIRED → sin las libs construye el plugin dummy (mock). Se desactivan explícitos con
|
|
# -DQT_FEATURE_flite=OFF -DQT_FEATURE_speechd=OFF para no picar libs del host y ser deterministas.
|
|
#
|
|
# ⚠️ BLOCKER DURO: el CMakeLists raíz hace `if(NOT TARGET Qt6::Multimedia) ... return()`, y el módulo
|
|
# TextToSpeech lista Qt::Multimedia en PUBLIC_LIBRARIES. Sin qtmultimedia sellado, la build sale VACÍA
|
|
# (no produce libQt6TextToSpeech.so). 'qtmultimedia' NO está sellado → esta pieza no rinde hasta tenerlo.
|
|
# Es el sub-blocker nuevo de qtspeech (no speech-dispatcher, que es opcional).
|
|
name = "qt6-qtspeech"
|
|
version = "6.11.1"
|
|
license = "LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
|
|
|
|
[source]
|
|
tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtspeech-everywhere-src-6.11.1.tar.xz"
|
|
sha256 = "c035c318012025875a653245701a23d3807e8e46b8bf7987877842219c273f14"
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "dynamic"
|
|
flags = []
|
|
|
|
[build.phases]
|
|
configure = '''
|
|
ZW="$PWD/.zwrap"; mkdir -p "$ZW"
|
|
printf '#!/bin/sh\nexec /opt/zig/zig cc -mcpu=baseline "$@"\n' > "$ZW/cc"
|
|
printf '#!/bin/sh\nexec /opt/zig/zig c++ -mcpu=baseline "$@"\n' > "$ZW/cxx"
|
|
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_INTERPROCEDURAL_OPTIMIZATION=OFF -DCMAKE_PREFIX_PATH=/usr \
|
|
-DINSTALL_BINDIR=lib/qt6/bin -DINSTALL_PUBLICBINDIR=bin -DINSTALL_LIBEXECDIR=lib/qt6/libexec \
|
|
-DINSTALL_ARCHDATADIR=lib/qt6 -DINSTALL_DATADIR=share/qt6 -DINSTALL_INCLUDEDIR=include/qt6 \
|
|
-DINSTALL_MKSPECSDIR=lib/qt6/mkspecs \
|
|
-DQT_BUILD_EXAMPLES=OFF -DQT_BUILD_TESTS=OFF \
|
|
-DQT_FEATURE_flite=OFF -DQT_FEATURE_speechd=OFF
|
|
'''
|
|
compile = "cmake --build build"
|
|
install = "DESTDIR=/out cmake --install build"
|
|
|
|
[deps]
|
|
build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "qtdeclarative", "qtmultimedia", "mesa", "libdrm", "libxkbcommon"]
|