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…
etapa 4: tanda de 30 HOJAS — cero daño colateral, que era el punto
1# gnupg 2.4.9 — GnuPG (gpg: firma/cifrado/verificación). De-Alpinizada (Etapa G).
2# Cadena crypto canónica sellada: libgpg-error, libgcrypt, libassuan, libksba, npth.
3# Objetivo mínimo: binario gpg (y gpgv) estático musl. scdaemon/dirmngr/tofu desactivados
4# (quitan deps de red/smartcard/sqlite); doc/nls/bzip2 fuera para no arrastrar deps ausentes.
5name = "gnupg"
6version = "2.4.9"
7license = "GPL-3.0-or-later"
8
9[source]
10tarball = "https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.4.9.tar.bz2"
11sha256 = "dd17ab2e9a04fd79d39d853f599cbc852062ddb9ab52a4ddeb4176fd8b302964"
12patches = ["0001-include-unistd.patch", "0010-avoid-beta-warning.patch", "0020-avoid-regenerating-defsincdate-use-shipped-file.patch", "0110-avoid-simple-memory-dumps-via-ptrace.patch", "0210-dirmngr-hkp-avoid-potential-race-condition-when-some-host-die.patch", "0230-dirmngr-avoid-automatically-checking-upstream-swdb.patch", "0330-gpg-default-to-sha512-for-all-signature-types-on-rsa-keys.patch", "0340-gpg-prefer-sha512-and-sha384-in-personal-digest.patch", "0420-gpg-drop-import-clean-from-default-keyserver-import-options.patch", "fix-i18n.patch", "HACK-revert-rfc4880bis-default.patch"]
13
14[build]
15compiler = "zig-cc"
16target = "x86_64-linux-musl"
17link = "static"
18
19# Split de la info de depuración (SDD 23 etapa 4, tanda de HOJAS). Entra en `hash_inputs`.
20strip_debug = true
21flags = []
22
23[build.phases]
24configure = '''
25./configure \
26 --build=$CBUILD \
27 --host=$CHOST \
28 --prefix=/usr \
29 --sysconfdir=/etc \
30 --localstatedir=/var \
31 --enable-static \
32 --disable-shared \
33 --disable-nls \
34 --disable-tofu \
35 --disable-scdaemon \
36 --disable-dirmngr \
37 --disable-doc \
38 --disable-gpgtar \
39 --disable-wks-tools \
40 --disable-photo-viewers \
41 --without-readline \
42 --disable-bzip2 \
43 --with-libgpg-error-prefix=/usr \
44 --with-libgcrypt-prefix=/usr \
45 --with-libassuan-prefix=/usr \
46 --with-ksba-prefix=/usr \
47 --with-npth-prefix=/usr
48'''
49compile = 'make'
50install = '''
51make DESTDIR="/out" install
52
53cd "/out"
54
55# compat symlinks
56ln -s gpg usr/bin/gpg2
57ln -s gpgv usr/bin/gpgv2
58
59# tool interno de tests
60rm -f usr/bin/gpgscm
61'''
62
63[deps]
64build = ["binutils", "libgpg-error", "libgcrypt", "libassuan", "libksba", "npth", "zlib", "linux-headers", "pkgconf", "make"]