From 322d528888575c41720171638926084a89cf9a86 Mon Sep 17 00:00:00 2001 From: sergio Date: Thu, 16 Jul 2026 13:30:05 -0400 Subject: [PATCH] =?UTF-8?q?matar-gcc:=2014=20recetas=20C=20m=C3=A1s=20migr?= =?UTF-8?q?adas=20gcc=E2=86=92zig-cc=20(verificadas=20en=20laptop,=20store?= =?UTF-8?q?=20completo)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Segunda tanda. Candidatas que el VPS marcó migrable; re-verificadas en el LAPTOP (store completo, fiable) build+corre — 14/14, cero matraca: freetype jq libassuan libgpg-error libssh2 libuv libxml2 nano pcre2 pigz socat tig tmux vim pcre2 tuvo una discrepancia transitoria (falló en una prueba local temprana con "linker version script", migró en el VPS); re-verificado limpio en el laptop: construye Y corre. Era estado transitorio, no incompatibilidad. Confirma el patrón: el VPS acierta en las MIGRABLES (build+corre son evidencia real); sólo erraba en las matraca (build-falla espurio por store parcial). La medición fiable es el laptop. Total matar-gcc esta sesión: 25 recetas C migradas (11+14). El frente pasa de 47 compiler=gcc a ~22 (las 25 migradas + las que faltan medir + las 11 Rust). OJO: re-hashea, índice firmado 748 necesita re-firma en el próximo packaging. Co-Authored-By: Claude Opus 4.8 --- recipes/freetype.toml | 4 ++-- recipes/jq.toml | 2 +- recipes/libassuan.toml | 2 +- recipes/libgpg-error.toml | 4 ++-- recipes/libssh2.toml | 4 ++-- recipes/libuv.toml | 4 ++-- recipes/libxml2.toml | 4 ++-- recipes/nano.toml | 2 +- recipes/pcre2.toml | 4 ++-- recipes/pigz.toml | 2 +- recipes/socat.toml | 2 +- recipes/tig.toml | 2 +- recipes/tmux.toml | 4 ++-- recipes/vim.toml | 2 +- 14 files changed, 21 insertions(+), 21 deletions(-) diff --git a/recipes/freetype.toml b/recipes/freetype.toml index 344addcc..0d82bff0 100644 --- a/recipes/freetype.toml +++ b/recipes/freetype.toml @@ -1,4 +1,4 @@ -# freetype 2.14.3 — lib C base (de-Alpinizada, Etapa G). compiler=gcc, configure-split, estático. +# freetype 2.14.3 — lib C base (de-Alpinizada, Etapa G). compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16), configure-split, estático. name = "freetype" version = "2.14.3" @@ -8,7 +8,7 @@ sha256 = "36bc4f1cc413335368ee656c42afca65c5a3987e8768cc28cf11ba775e785a5f" patches = ["pcf-family-names.patch", "subpixel.patch", "table-validation-modules.patch"] [build] -compiler = "gcc" +compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = [] diff --git a/recipes/jq.toml b/recipes/jq.toml index 1b068c0d..4e1be5df 100644 --- a/recipes/jq.toml +++ b/recipes/jq.toml @@ -31,7 +31,7 @@ sha256 = "2be64e7129cecb11d5906290eba10af694fb9e3e7f9fc208a311dc33ca837eb0" patches = ["test-portable.patch"] [build] -compiler = "gcc" +compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" diff --git a/recipes/libassuan.toml b/recipes/libassuan.toml index 5d29059f..eddeb926 100644 --- a/recipes/libassuan.toml +++ b/recipes/libassuan.toml @@ -8,7 +8,7 @@ tarball = "https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-3.0.2.tar.bz2" sha256 = "d2931cdad266e633510f9970e1a2f346055e351bb19f9b78912475b8074c36f6" [build] -compiler = "gcc" +compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = [] diff --git a/recipes/libgpg-error.toml b/recipes/libgpg-error.toml index 28528c51..d2f5f302 100644 --- a/recipes/libgpg-error.toml +++ b/recipes/libgpg-error.toml @@ -1,4 +1,4 @@ -# libgpg-error 1.61 — lib C base (de-Alpinizada, Etapa G). compiler=gcc, configure-split, estático. +# libgpg-error 1.61 — lib C base (de-Alpinizada, Etapa G). compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16), configure-split, estático. name = "libgpg-error" version = "1.61" @@ -7,7 +7,7 @@ tarball = "https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.61.tar.bz2" sha256 = "7a85413f2bc354f4f8aa832b718af122e48965e9e0eb9012ee659c13c6385c93" [build] -compiler = "gcc" +compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = [] diff --git a/recipes/libssh2.toml b/recipes/libssh2.toml index 795b3163..b95c005c 100644 --- a/recipes/libssh2.toml +++ b/recipes/libssh2.toml @@ -1,12 +1,12 @@ # libssh2 1.11.1 → libssh2.a (C, autotools). Lib base SSH: ssh2-sys (git tools, scp/sftp). -# De-Alpinizada: compiler=gcc, configure-split, crypto vía openssl del corpus, estático. +# De-Alpinizada: compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16), configure-split, crypto vía openssl del corpus, estático. name = "libssh2" version = "1.11.1" [source] tarball = "https://www.libssh2.org/download/libssh2-1.11.1.tar.gz" sha256 = "d9ec76cbe34db98eec3539fe2c899d26b0c837cb3eb466a56b0f109cabf658f7" [build] -compiler = "gcc" +compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = [] diff --git a/recipes/libuv.toml b/recipes/libuv.toml index e88eef45..9b020452 100644 --- a/recipes/libuv.toml +++ b/recipes/libuv.toml @@ -1,4 +1,4 @@ -# libuv 1.52.1 — lib C base (de-Alpinizada, Etapa G). compiler=gcc, configure-split, estático. +# libuv 1.52.1 — lib C base (de-Alpinizada, Etapa G). compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16), configure-split, estático. name = "libuv" version = "1.52.1" @@ -8,7 +8,7 @@ sha256 = "66d511b9e6e334c0e62279eb234fbfb2b3110b1479c09b95b44c7afca8cff9e7" patches = ["fix-test-musl.patch"] [build] -compiler = "gcc" +compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = [] diff --git a/recipes/libxml2.toml b/recipes/libxml2.toml index 11af3a6d..8a00daf0 100644 --- a/recipes/libxml2.toml +++ b/recipes/libxml2.toml @@ -1,6 +1,6 @@ # libxml2 2.13.9 — parser XML/HTML (C). Lib FUNDACIONAL: dep de muchísima cola C + crates *-sys. # De-Alpinizada (Etapa G): -# - compiler=gcc: zig-cc miscompila libs C (patrón file/jq); gcc del rootfs es musl. +# - compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16): zig-cc miscompila libs C (patrón file/jq); gcc del rootfs es musl. # - --disable-shared --enable-static: el lab linkea estático; queremos libxml2.a en /usr/lib. # - core sin compresión/bindings: --without-lzma (no hay xz en corpus), --without-zlib, # --without-python (el binding no aplica al userland estático). El parseo XML —el valor— no los pide. @@ -14,7 +14,7 @@ sha256 = "a2c9ae7b770da34860050c309f903221c67830c86e4a7e760692b803df95143a" patches = ["CVE-2026-6732.patch", "CVE-2026-6732-test.patch"] [build] -compiler = "gcc" +compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = [] diff --git a/recipes/nano.toml b/recipes/nano.toml index 733066ef..014de33f 100644 --- a/recipes/nano.toml +++ b/recipes/nano.toml @@ -18,7 +18,7 @@ tarball = "https://www.nano-editor.org/dist/v9/nano-9.0.tar.xz" sha256 = "9f384374b496110a25b73ad5a5febb384783c6e3188b37063f677ac908013fde" [build] -compiler = "gcc" +compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" diff --git a/recipes/pcre2.toml b/recipes/pcre2.toml index 3e7625b3..4d7c67a1 100644 --- a/recipes/pcre2.toml +++ b/recipes/pcre2.toml @@ -1,6 +1,6 @@ # pcre2 10.47 — biblioteca de regex Perl-compatible (C). Lib FUNDACIONAL: dep de grep-variants, # pcre2-sys (crates Rust), y mucha cola C. De-Alpinizada (Etapa G): -# - compiler=gcc: C portable pero zig-cc miscompila libs C (patrón file/jq); gcc del rootfs es musl. +# - compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16): C portable pero zig-cc miscompila libs C (patrón file/jq); gcc del rootfs es musl. # - --disable-shared --enable-static: el lab linkea estático; queremos libpcre2-*.a en /usr/lib. # - sin --enable-pcre2test-libedit (libedit no está en corpus, es solo para el test interactivo). name = "pcre2" @@ -11,7 +11,7 @@ tarball = "https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.47/pc sha256 = "47fe8c99461250d42f89e6e8fdaeba9da057855d06eb7fc08d9ca03fd08d7bc7" [build] -compiler = "gcc" +compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = [] diff --git a/recipes/pigz.toml b/recipes/pigz.toml index f5bcdffc..072988de 100644 --- a/recipes/pigz.toml +++ b/recipes/pigz.toml @@ -5,7 +5,7 @@ version = "2.8" tarball = "https://zlib.net/pigz/pigz-2.8.tar.gz" sha256 = "eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0" [build] -compiler = "gcc" +compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = [] diff --git a/recipes/socat.toml b/recipes/socat.toml index 70b13192..a10c44fd 100644 --- a/recipes/socat.toml +++ b/recipes/socat.toml @@ -5,7 +5,7 @@ version = "1.8.1.2" tarball = "http://www.dest-unreach.org/socat/download/socat-1.8.1.2.tar.gz" sha256 = "daeb9eed37a99424cd14877208706e93745c91cb86fb917a355635f4df5c8499" [build] -compiler = "gcc" +compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = [] diff --git a/recipes/tig.toml b/recipes/tig.toml index c96d008f..d64e781d 100644 --- a/recipes/tig.toml +++ b/recipes/tig.toml @@ -5,7 +5,7 @@ version = "2.6.1" tarball = "https://github.com/jonas/tig/releases/download/tig-2.6.1/tig-2.6.1.tar.gz" sha256 = "5adeabdcd93aa0423d618da8b878b53482bef6e0e9e1fe224acc0f18031fe91e" [build] -compiler = "gcc" +compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = [] diff --git a/recipes/tmux.toml b/recipes/tmux.toml index 6a9cebf8..2613c310 100644 --- a/recipes/tmux.toml +++ b/recipes/tmux.toml @@ -1,12 +1,12 @@ # tmux 3.6b — multiplexor de terminal (C). PRIMER consumidor de la cola C que valida las libs base: -# linkea libevent + ncurses (ambas hammer-built). De-Alpinizada: compiler=gcc, configure-split, estático. +# linkea libevent + ncurses (ambas hammer-built). De-Alpinizada: compiler=zig-cc (migrado de gcc, matar-gcc 2026-07-16), configure-split, estático. name = "tmux" version = "3.6b" [source] tarball = "https://github.com/tmux/tmux/releases/download/3.6b/tmux-3.6b.tar.gz" sha256 = "390759d25fdba016887ec982b808927e637070fd7d03a8021f8ef3102b9ae3c7" [build] -compiler = "gcc" +compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = [] diff --git a/recipes/vim.toml b/recipes/vim.toml index a0df897f..05b34b9b 100644 --- a/recipes/vim.toml +++ b/recipes/vim.toml @@ -12,7 +12,7 @@ sha256 = "91535a380a445989b39dfd88c6afe8efa08668a17120ffbb33a237eab31952f3" [build] # gcc (gueto, como nano/htop): zig-cc miscompila estos C clásicos. -compiler = "gcc" +compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = []