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 188Rust 55Shell 30Markdown 281211 Definiciones

matar-gcc: 11 recetas C migradas gcc→zig-cc (medido: construyen y corren)

Primera tanda del rollout aprobado. harkaq nombró 47 recetas compiler=gcc;
migra-zig.sh midió que las C-puras migran a zig (~85%). Estas 11 se verificaron
en el LAPTOP (store completo, fiable): construyen con zig-cc Y —las que tienen
binario— corren limpio.

  bzip2 expat json-c gzip htop less libpng libyaml zstd libffi xz

El compiler=gcc era deuda histórica: se marcaron con zig 0.13/0.16 (que
segfaultaban C clásicos), zig mejoró, el gcc quedó por inercia. Verificado
in-place: bzip2→b3:86a33b76, json-c→b3:9cbe76e3.

11 dependencias menos del gcc de Alpine. Quedan ~25 C-puras candidatas del VPS
por verificar en el laptop (el store parcial del VPS daba build-falla espurios
por deps faltantes — la medición fiable es la del laptop) + las 11 Rust
(sys-crate C, otra evaluación).

OJO: re-hashea estas 11 (estaban en el índice firmado 748); el índice necesita
re-firma en el próximo packaging.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

c671ae840dee5cdc26754eddfc9c748fe0d68c2c · por sergio · (hace 3 meses) · padre 81a5d8d74 · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

11 archivos · +21 −21

diff --git a/recipes/bzip2.toml b/recipes/bzip2.toml
index 6aa3f6c6..e4456329 100644
--- a/recipes/bzip2.toml
+++ b/recipes/bzip2.toml
@@ -1,12 +1,12 @@
 # bzip2 1.0.8 → libbz2.a (C, Makefile custom sin configure). Lib base: compresión .bz2, cola C.
-# De-Alpinizada: compiler=gcc, make directo, install con PREFIX (el Makefile no usa DESTDIR).
+# De-Alpinizada: compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16), make directo, install con PREFIX (el Makefile no usa DESTDIR).
 name    = "bzip2"
 version = "1.0.8"
 [source]
 tarball = "https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz"
 sha256  = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269"
 [build]
-compiler = "gcc"
+compiler = "zig-cc"
 target   = "x86_64-linux-musl"
 link     = "static"
 flags    = []
diff --git a/recipes/expat.toml b/recipes/expat.toml
index 2069b956..56b8dd59 100644
--- a/recipes/expat.toml
+++ b/recipes/expat.toml
@@ -1,5 +1,5 @@
 # expat 2.8.1 — parser XML stream (C). Lib base: dep de cola C (fontconfig, dbus, etc.) y crates -sys.
-# De-Alpinizada (Etapa G): compiler=gcc, configure-split explícito, estático. Sin deps externas.
+# De-Alpinizada (Etapa G): compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16), configure-split explícito, estático. Sin deps externas.
 name    = "expat"
 version = "2.8.1"
 
@@ -8,7 +8,7 @@ tarball = "https://github.com/libexpat/libexpat/releases/download/R_2_8_1/expat-
 sha256  = "10b195ee78160a908388180a8fe3603d4e9a12f4755fbf5f3816b23a9d750da0"
 
 [build]
-compiler = "gcc"
+compiler = "zig-cc"
 target   = "x86_64-linux-musl"
 link     = "static"
 flags    = []
diff --git a/recipes/gzip.toml b/recipes/gzip.toml
index 83496c16..18ad5dfc 100644
--- a/recipes/gzip.toml
+++ b/recipes/gzip.toml
@@ -11,7 +11,7 @@ tarball = "https://ftp.gnu.org/gnu/gzip/gzip-1.14.tar.xz"
 sha256  = "01a7b881bd220bfdf615f97b8718f80bdfd3f6add385b993dcf6efd14e8c0ac6"
 
 [build]
-compiler = "gcc"
+compiler = "zig-cc"
 target   = "x86_64-linux-musl"
 link     = "static"
 flags    = []
diff --git a/recipes/htop.toml b/recipes/htop.toml
index 1471fbb5..74fb42cd 100644
--- a/recipes/htop.toml
+++ b/recipes/htop.toml
@@ -5,7 +5,7 @@
 #   - deps.build = ["ncurses", "linux-headers"]: htop usa la API de curses widec (-lncursesw) y headers
 #     de Linux (taskstats/cgroup). Quito lm-sensors del makedepends de Alpine: el soporte de sensores
 #     es OPCIONAL (libsensors auto-detectado) y no está en el corpus ⇒ `--disable-sensors` explícito.
-#   - compiler=gcc (gueto, igual que ncurses/less): zig-cc miscompila estos C clásicos.
+#   - compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16) (gueto, igual que ncurses/less): zig-cc miscompila estos C clásicos.
 #   - link=static + sin libtool en el link del binario ⇒ LDFLAGS=-static del lab basta (htop static-pie).
 #     htop auto-detecta ncursesw (widec) para soporte unicode — la ncurses del corpus es widec.
 #
@@ -19,7 +19,7 @@ tarball = "https://github.com/htop-dev/htop/releases/download/3.5.1/htop-3.5.1.t
 sha256  = "526cecd62870aa8d14d2a79a35ea197e4e2b5317d275b567cee0574b2ddb2e9a"
 
 [build]
-compiler = "gcc"
+compiler = "zig-cc"
 target   = "x86_64-linux-musl"
 link     = "static"
 
diff --git a/recipes/json-c.toml b/recipes/json-c.toml
index a864dae5..a4daa132 100644
--- a/recipes/json-c.toml
+++ b/recipes/json-c.toml
@@ -1,4 +1,4 @@
-# json-c 0.18 — lib C base (de-Alpinizada, Etapa G). compiler=gcc, configure-split, estático.
+# json-c 0.18 — lib C base (de-Alpinizada, Etapa G). compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16), configure-split, estático.
 name    = "json-c"
 version = "0.18"
 
@@ -8,7 +8,7 @@ sha256  = "876ab046479166b869afc6896d288183bbc0e5843f141200c677b3e8dfb11724"
 patches = ["cmake-version.patch"]
 
 [build]
-compiler = "gcc"
+compiler = "zig-cc"
 target   = "x86_64-linux-musl"
 link     = "static"
 flags    = []
diff --git a/recipes/less.toml b/recipes/less.toml
index aedbc6d7..9be3eafe 100644
--- a/recipes/less.toml
+++ b/recipes/less.toml
@@ -6,7 +6,7 @@
 #
 # deps.build = ["ncurses"]: el lab apila el árbol de ncurses (libtinfo.a→libncursesw.a + term.h +
 # tinfo.pc + terminfo) en /usr y el configure de less lo halla por pkgconf. link=static ⇒ less ELF
-# estático musl. compiler=gcc (gueto): zig-cc miscompila estos C clásicos (segfault, ver file/jq).
+# estático musl. compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16) (gueto): zig-cc miscompila estos C clásicos (segfault, ver file/jq).
 # $CBUILD/$CHOST los da el lab (build==host ⇒ nativo).
 
 name    = "less"
@@ -17,7 +17,7 @@ tarball = "https://www.greenwoodsoftware.com/less/less-704.tar.gz"
 sha256  = "20a0b0a2bb2525fa53c7eee9beb854b4c9cf172eabb209af7020743547bfe9fb"
 
 [build]
-compiler = "gcc"
+compiler = "zig-cc"
 target   = "x86_64-linux-musl"
 link     = "static"
 
diff --git a/recipes/libffi.toml b/recipes/libffi.toml
index 116f2e9f..c53f2603 100644
--- a/recipes/libffi.toml
+++ b/recipes/libffi.toml
@@ -1,5 +1,5 @@
 # libffi 3.5.2 — interfaz de llamada a función foránea (C). Lib base: python, muchos -sys crates.
-# De-Alpinizada: compiler=gcc, configure-split, estático.
+# De-Alpinizada: compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16), configure-split, estático.
 # --with-pic: el .a estático lleva objetos PIC ⇒ se puede enlazar dentro de bibliotecas COMPARTIDAS
 # (libwayland-server.so / Mesa lo exigen; sin PIC: «R_X86_64_PC32 ... recompile with -fPIC»). PIC
 # es superset: sigue sirviendo para el enlace estático de exes. (2026-06-27, stack gráfico tawasuyu.)
@@ -9,7 +9,7 @@ version = "3.5.2"
 tarball = "https://github.com/libffi/libffi/releases/download/v3.5.2/libffi-3.5.2.tar.gz"
 sha256  = "f3a3082a23b37c293a4fcd1053147b371f2ff91fa7ea1b2a52e335676bac82dc"
 [build]
-compiler = "gcc"
+compiler = "zig-cc"
 target   = "x86_64-linux-musl"
 link     = "static"
 flags    = []
diff --git a/recipes/libpng.toml b/recipes/libpng.toml
index facdaa6a..bf54bda2 100644
--- a/recipes/libpng.toml
+++ b/recipes/libpng.toml
@@ -1,12 +1,12 @@
 # libpng 1.6.58 → libpng16.a (C, autotools). Lib base imágenes: png crates, cola gráfica.
-# De-Alpinizada: compiler=gcc, configure-split, contra zlib del corpus, estático.
+# De-Alpinizada: compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16), configure-split, contra zlib del corpus, estático.
 name    = "libpng"
 version = "1.6.58"
 [source]
 tarball = "https://downloads.sourceforge.net/libpng/libpng-1.6.58.tar.gz"
 sha256  = "8c9b05b675ca7301a458df2c2e46f26e1d41ff36b8863f8c33530bc58c2e6225"
 [build]
-compiler = "gcc"
+compiler = "zig-cc"
 target   = "x86_64-linux-musl"
 link     = "static"
 flags    = []
diff --git a/recipes/libyaml.toml b/recipes/libyaml.toml
index be6fb09b..d18266cd 100644
--- a/recipes/libyaml.toml
+++ b/recipes/libyaml.toml
@@ -1,12 +1,12 @@
 # libyaml 0.2.5 → libyaml.a (C, autotools). Lib base YAML: yaml-sys, parsers. Tarball release
-# (el repo git no trae configure). De-Alpinizada: compiler=gcc, configure-split, estático.
+# (el repo git no trae configure). De-Alpinizada: compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16), configure-split, estático.
 name    = "libyaml"
 version = "0.2.5"
 [source]
 tarball = "https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz"
 sha256  = "c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4"
 [build]
-compiler = "gcc"
+compiler = "zig-cc"
 target   = "x86_64-linux-musl"
 link     = "static"
 flags    = []
diff --git a/recipes/xz.toml b/recipes/xz.toml
index 7a4fb1fd..ed8cf871 100644
--- a/recipes/xz.toml
+++ b/recipes/xz.toml
@@ -1,12 +1,12 @@
 # xz 5.8.3 → liblzma.a (C, autotools). Lib base: compresión .xz, libxml2-lzma, cola C.
-# De-Alpinizada: compiler=gcc, configure-split, solo la lib (--disable CLI tools), estático.
+# De-Alpinizada: compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16), configure-split, solo la lib (--disable CLI tools), estático.
 name    = "xz"
 version = "5.8.3"
 [source]
 tarball = "https://github.com/tukaani-project/xz/releases/download/v5.8.3/xz-5.8.3.tar.xz"
 sha256  = "fff1ffcf2b0da84d308a14de513a1aa23d4e9aa3464d17e64b9714bfdd0bbfb6"
 [build]
-compiler = "gcc"
+compiler = "zig-cc"
 target   = "x86_64-linux-musl"
 link     = "static"
 flags    = []
diff --git a/recipes/zstd.toml b/recipes/zstd.toml
index 2a541075..3ea80541 100644
--- a/recipes/zstd.toml
+++ b/recipes/zstd.toml
@@ -1,12 +1,12 @@
 # zstd 1.5.7 → libzstd.a (C, Makefile). Lib FUNDACIONAL: zstd-sys está en MONTONES de crates Rust
-# (compresión moderna) + cola C. De-Alpinizada: compiler=gcc, build de lib/ (no CLI), estático.
+# (compresión moderna) + cola C. De-Alpinizada: compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16), build de lib/ (no CLI), estático.
 name    = "zstd"
 version = "1.5.7"
 [source]
 tarball = "https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz"
 sha256  = "eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3"
 [build]
-compiler = "gcc"
+compiler = "zig-cc"
 target   = "x86_64-linux-musl"
 link     = "static"
 flags    = []