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:
+2
-2
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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 = []
|
||||
|
||||
@@ -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
@@ -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
@@ -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 = []
|
||||
|
||||
Reference in New Issue
Block a user