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>
This commit is contained in:
2026-07-16 13:11:18 -04:00
co-authored by Claude Opus 4.8
parent 81a5d8d746
commit c671ae840d
11 changed files with 21 additions and 21 deletions
+2 -2
View File
@@ -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 = []
+2 -2
View File
@@ -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 = []
+1 -1
View File
@@ -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 = []
+2 -2
View File
@@ -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"
+2 -2
View File
@@ -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 = []
+2 -2
View File
@@ -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"
+2 -2
View File
@@ -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 = []
+2 -2
View File
@@ -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 = []
+2 -2
View File
@@ -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 = []
+2 -2
View File
@@ -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 = []
+2 -2
View File
@@ -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 = []