# fcitx5-anthy 5.1.11 — el SEGUNDO método de entrada. Con esto se escribe japonés. # # ══ QUÉ AÑADE ══════════════════════════════════════════════════════════════════════════════════ # El 2026-10-20 entró el coreano (`fcitx5-hangul`) y con él la cadena completa quedó probada: marco # + motor + fuentes + los dos protocolos de Wayland. Esto es el segundo idioma por el mismo camino, # y el japonés es el caso MÁS exigente de los tres grandes: no elige entre candidatos homófonos # puntuales sino que convierte frases enteras de kana a una mezcla de kanji y kana, con diccionario # y estadística. Eso lo hace `anthy-unicode`; esto es el puente a fcitx5. # # ══ ⚠ ME CORRIJO: ESTO CUESTA UNA RECETA, NO DOS ═══════════════════════════════════════════════ # En `fcitx5-hangul` escribí que el japonés costaba «2 — `anthy` + `fcitx5-qt`», y era FALSO. Lo # saqué de los `makedepends` de Alpine sin abrir el `CMakeLists.txt`, que es el mismo error que # cometí inventando una dep `fmt` para `fcitx5`. # # Medido: el `CMakeLists.txt` de fcitx5-anthy **no menciona Qt ni una vez**. Sus `find_package` son # `ECM`, `Fcitx5Core`, `Fcitx5Module COMPONENTS Clipboard TestFrontend`, `Gettext` y `PkgConfig`, y # su única dep externa es el motor (línea 21: prueba `anthy-unicode` y cae a `anthy`). El # `fcitx5-qt-dev` de Alpine será de algún subpaquete suyo; acá no hace falta. ⇒ japonés = 1 receta. # # `Fcitx5Module COMPONENTS Clipboard TestFrontend`: las dos las publica nuestro `fcitx5` — # `libclipboard.so` está entre sus 20 addons, y `TestFrontend` existe porque el 20-oct hubo que # poner `ENABLE_TESTING_ADDONS=On` (una perilla que parecía de test y publicaba interfaz). # # ⚠ `link = "dynamic"` obligatorio, como todo addon de fcitx5: es un `.so` que el daemon carga con # `dlopen` desde `/usr/lib/fcitx5/`. Por eso `anthy-unicode` se construye con `b_staticpic`. # `PKG_CONFIG_ARGN=--static` por lo de siempre en este corpus: pkg-config sólo entrega los # `Requires.private` en modo estático, y sin eso faltan los `-l` de las privadas. # # `ENABLE_TEST=Off`: su `option()` lo trae en On y el test suite no se corre acá. name = "fcitx5-anthy" version = "5.1.11" license = "GPL-2.0-or-later" [source] tarball = "https://github.com/fcitx/fcitx5-anthy/archive/refs/tags/5.1.11/fcitx5-anthy-5.1.11.tar.gz" sha256 = "822aeb52b631cdd273735089dc775f8c1c5cbb5a4d74d47715aaf183d5bba48b" [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" rm -rf build cmake -B build -G Ninja -Wno-dev \ -DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" \ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr \ -DPKG_CONFIG_ARGN=--static \ -DENABLE_TEST=Off ''' compile = "cmake --build build" # Guardián por SUBCADENA y no por nombre exacto: la convención de fcitx5 es `lib.so` # —`libclassicui.so`, `libclipboard.so`— y pedir `anthy.so` daría un falso positivo que rechaza un # build bueno. Eso pasó ayer con `fcitx5-hangul` y costó una vuelta entera. install = ''' set -e DESTDIR=/out cmake --install build so=$(find /out/usr/lib/fcitx5 -name '*anthy*.so' 2>/dev/null | head -1) [ -n "$so" ] || { echo "fcitx5-anthy: no hay ningún *anthy*.so en /usr/lib/fcitx5 — NO sello un motor que el daemon no puede cargar" >&2; ls -R /out/usr/lib 2>/dev/null | head -20 >&2; exit 1; } [ -f /out/usr/share/fcitx5/addon/anthy.conf ] || { echo "fcitx5-anthy: falta share/fcitx5/addon/anthy.conf — sin él el daemon no sabe que el addon existe" >&2; exit 1; } echo "fcitx5-anthy: addon $(basename "$so") + anthy.conf" ''' [deps] build = ["cmake", "samurai", "extra-cmake-modules", "pkgconf", "fcitx5", "anthy-unicode", "gettext-tiny", "libxkbcommon", "wayland", "wayland-protocols", "glib", "pcre2", "libffi", "expat", "zlib", "dbus"]