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…
Etapa G (clib): gradúa 15 libs C ya publicadas — incoming-clib → recipes/
1# itstool (sustituto) — el itstool real es un script Python que exige bindings libxml2 de python (ausentes
2# en el lab) y solo sirve para FUSIONAR traducciones en XML. Sin traducciones (gettext-tiny no genera .mo
3# reales), un itstool que copia el join-source al output produce el metainfo SIN traducir, que es exactamente
4# lo que necesita appstream/libadwaita aquí. Satisface i18n.itstool_join de meson. [source]=carrier.
5name = "itstool"
6version = "2.0.7"
7
8[source]
9tarball = "https://github.com/sabotage-linux/gettext-tiny/archive/refs/tags/v0.3.2.tar.gz"
10sha256 = "29cc165e27e83d2bb3760118c2368eadab550830d962d758e51bd36eb860f383"
11
12[build]
13compiler = "zig-cc"
14target = "x86_64-linux-musl"
15link = "static"
16
17[build.phases]
18configure = "true"
19compile = '''
20cat > itstool <<'IEOF'
21#!/bin/sh
22# itstool falso: parsea la invocación de meson (i18n.itstool_join) y copia el join-source (-j) al output
23# (-o), ignorando its (-i) y los .mo. Resultado: XML sin traducir, válido.
24in=""; out=""
25while [ $# -gt 0 ]; do
26 case "$1" in
27 -j) in="$2"; shift 2;;
28 -o) out="$2"; shift 2;;
29 -i) shift 2;;
30 --version) echo "itstool 2.0.7 (hammer stub)"; exit 0;;
31 *) shift;;
32 esac
33done
34[ -n "$in" ] && [ -n "$out" ] && cp "$in" "$out"
35IEOF
36chmod +x itstool
37'''
38install = "mkdir -p /out/usr/bin && cp itstool /out/usr/bin/itstool"
39
40[deps]
41build = []