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

⎇ 534014c3ec69daea789a1d0523e1d00a69c6ed65 recipes/perl.toml TOML · 57 siq'ikuna · 3.0 KB Ñawpa willay ch'uya

raíz sucia: 945 ficheros de perl en `/`, con guardián que nombra al culpable y el número que difiere el arreglo 02e93a02e · Sergio ·

1# Perl 5.40.2 — intérprete. PROMOVIDA desde recipes/incoming-kde/ (2026-07-15): la necesitan DOS
2# campañas que llegaron a ella por separado. harkaq (SDD 16 §4.10) la señaló como la ÚNICA deuda
3# IRREDUCIBLE del primer barrido de la granja: ca-certificates y curl usan el perl del rootfs de
4# Alpine sin declararlo. El comentario de ca-certificates YA lo decía en prosa ("el resto del build
5# usa el perl + coreutils del rootfs") — estaba escrito, pero era invisible para el sistema.
6# Construida y sellada (b3:c7a899bd…) ⇒ la deuda pasó de irreducible a declarable.
7#
8# Build-tool para la campaña KDE: lo exigen syntax-highlighting
9# (find_package(Perl REQUIRED), regenera defs) e intltool (→libqalculate). No es input compilado del
10# escritorio, es herramienta de build. Configure propio de perl (no autotools). zig cc vía wrapper.
11name    = "perl"
12version = "5.40.2"
13license = "Artistic-1.0-Perl OR GPL-1.0-or-later"
14
15[source]
16tarball = "https://www.cpan.org/src/5.0/perl-5.40.2.tar.gz"
17sha256  = "10d4647cfbb543a7f9ae3e5f6851ec49305232ea7621aed24c7cfbb0bef4b70d"
18
19[build]
20compiler    = "zig-cc"
21target      = "x86_64-linux-musl"
22link        = "dynamic"
23zig_version = "0.13.0"
24flags       = []
25
26[build.phases]
27# Configure de perl: -des (defaults, sin preguntas). cc/ld como scripts wrapper (perl guarda el cc en
28# Config y lo re-invoca; un script evita el split del espacio de "zig cc"). -Dusenm=false (no usa nm).
29configure = '''
30ZW="$PWD/.zwrap"; mkdir -p "$ZW"
31printf '#!/bin/sh\nexec /opt/zig/zig cc -mcpu=baseline "$@"\n' > "$ZW/cc"; chmod +x "$ZW/cc"
32sh Configure -des -Dprefix=/usr -Dcc="$ZW/cc" -Dld="$ZW/cc" -Duseshrplib -Dusenm=false -Dnoextensions=ODBM_File
33'''
34compile = 'make -j"$(nproc)"'
35install = 'make install DESTDIR=/out'
36
37# ⚠ DEUDA MEDIDA Y NO PAGADA (2026-09-04): esta receta instala 945 ficheros en la RAÍZ del rootfs.
38#
39# Su `Configure -des` no encuentra nroff, así que elige `man1ext='0'` y —lo importante—
40# `man1dir=' '` / `man3dir=' '`, la convención de perl para «no instales man». Pero `installman`
41# igual GENERA las páginas preformateadas y, con el directorio vacío, `make install DESTDIR=/out`
42# las deja en `/out/`: `AnyDBM_File.0`, `App::Cpan.0`, … 945 ficheros sueltos en `/`.
43# Se ve hidratando un rootfs de verdad; ninguna métrica sobre recetas puede verlo. El guardián que
44# lo caza y NOMBRA al culpable está en `scripts/hydrate-profile.py` (§quién ensucia la raíz).
45#
46# EL ARREGLO ES UNA LÍNEA —`-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3
47# -Dman1ext=1 -Dman3ext=3`— Y NO SE APLICA HOY. `yupana radio perl` dice por qué:
48#
49#     dependientes transitivos  347   ·   sellados que CAEN a deuda  305
50#     imágenes afectadas: base, cli, escritorio-{kde,gnome,cosmic,sway,mirada}  (TODAS)
51#
52# 305 rebuilds para mover unas páginas de man de sitio no se paga solo. **Va con el próximo bump de
53# perl**, cuando el re-hash ya esté pagado: ahí la línea cuesta cero. Esto no es un olvido, es una
54# decisión con el número delante.
55
56[deps]
57build = ["pkgconf"]