tawasuyu

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 1572Shell 203Rust 109Markdown 993728 Sutichaykuna

fix(boost): el envoltorio tiene que reescribir `--target` — el patrón ya estaba en 30 recetas

El motor de b2 compiló con nuestro envoltorio y murió así:

    error: unable to parse target query 'x86_64-pc-linux': UnknownOperatingSystem

El guion del motor le pasa `--target=x86_64-pc-linux` al compilador y **zig lo rechaza**: quiere el
triple con ABI (`x86_64-linux-musl`), y ése no la lleva. Mi envoltorio era un
`exec zig c++ "$@"` pelado.

⚠ **Y la respuesta estaba en el propio catálogo.** `churay-metal`, las cinco `pata-*` y 27 recetas
más traen exactamente este bucle:

    for a do case "$a" in --target=*) a=--target=x86_64-linux-musl ;; esac; set -- "$@" "$a"; shift; done

Es el patrón canónico del repo para cualquier build que invente su propio triple, y lo copié tal
cual en vez de escribir una variante. **Cuarta vez hoy que lo que buscaba estaba a un `grep` o unas
líneas de distancia**: el `Checking for module 'pango'` sobre el `CMake Error` de fcitx5, la ayuda
del propio bootstrap, su línea 229, y ahora esto.

Los cuatro fallos de boost han sido de ese tipo —cómo invocar, qué toolset, qué triple— y ninguno ha
tocado todavía la pregunta de fondo: si `zig c++` puede compilar Boost.Iostreams. Esa sigue abierta
y es la que decide si el chino tiene camino.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

593c6691772f651da43d5f0a9ce614f716a82f4f · ruwaq Sergio · (2 p'unchaw ñawpaq) · tayta f9e42c846 · kay commitpi sach'ata qhaway

Semántico sayk'uy

Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.

1 qillqakuna · +9 −1

diff --git a/recipes/incoming-kde/boost.toml b/recipes/incoming-kde/boost.toml
index 2478ae04..b5ef4cb0 100644
--- a/recipes/incoming-kde/boost.toml
+++ b/recipes/incoming-kde/boost.toml
@@ -32,7 +32,15 @@ link     = "dynamic"
 # escribió `using gcc` apuntando al mismo envoltorio, que era inventarle un toolset.
 configure = '''
 set -e
-printf '#!/bin/sh\nexec /opt/zig/zig c++ -mcpu=baseline "$@"\n' > .zcxx; chmod +x .zcxx
+# ⚠ **EL ENVOLTORIO REESCRIBE `--target`, Y ES EL PATRÓN CANÓNICO DEL REPO (30 recetas lo usan).**
+# El guion del motor de b2 le pasa `--target=x86_64-pc-linux` al compilador, y zig lo rechaza:
+#     error: unable to parse target query 'x86_64-pc-linux': UnknownOperatingSystem
+# zig quiere el triple con ABI (`x86_64-linux-musl`); `x86_64-pc-linux` no la lleva. Mi primer
+# envoltorio era un `exec zig c++ "$@"` pelado y por eso moría. La respuesta estaba en el propio
+# catálogo —`churay-metal`, `pata-*` y 27 más traen exactamente este bucle— y es la cuarta vez hoy
+# que lo que buscaba estaba a un `grep` de distancia.
+printf '%s\n' '#!/bin/sh' 'for a do' 'case "$a" in --target=*) a=--target=x86_64-linux-musl ;; esac' 'set -- "$@" "$a"' 'shift' 'done' 'exec /opt/zig/zig c++ -mcpu=baseline "$@"' > .zcxx
+chmod +x .zcxx
 printf '#!/bin/sh\nexec /opt/zig/zig ar "$@"\n' > .zar; chmod +x .zar
 printf '#!/bin/sh\nexec /opt/zig/zig ranlib "$@"\n' > .zranlib; chmod +x .zranlib
 ./tools/build/src/engine/build.sh --cxx="$PWD/.zcxx" cxx