Files
hammer/recipes/mandoc.toml
T
sergioandClaude Opus 4.8 21ac060c4b harkaq: declarar deps medidas por el kernel (cosecha automática)
Cosecha desatendida de la campaña harkaq. Cada dep de acá la denunció el audit de
Landlock en un build real: el kernel vio al build usarla sin declararla, y el
store del hub confirma qué artefacto la provee (deuda DECLARABLE, §4.5).

Recetas:gettext-tiny giflib git gnupg gperf gzip htop iproute2 jq kbd libassuan libcap libevent libffi libgcrypt libgpg-error libksba libnl libpng libsass libsodium libssh2 libudev-zero libusb libwebp libxml2 libyaml linux-generic linux-headers linux-metal linux-pam linux lz4 mandoc mtools musl nano npth openssh openssl parted pciutils pcre2 pigz procps-ng python3 readline rsync samurai ca-certificates curl doas dosfstools e2fsprogs fontconfig freetype

No se tocó ninguna receta con deuda IRREDUCIBLE: declarar algo que el store no
provee rompería el build en vez de arreglarlo. Esas van a tandas/needs-review-harkaq.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 23:27:57 -04:00

52 lines
1.7 KiB
TOML

# Importada de Alpine aports por `hammer import-alpine` (Etapa G). PUNTO DE PARTIDA — pero
# YA trae los parches de musl de Alpine (lo que un import de nix pierde). Pendiente: el
# sha256 del tarball (el wrapper lo calcula), y adaptar build/install del shell de abuild.
name = "mandoc"
version = "1.14.6"
[source]
tarball = "https://mandoc.bsd.lv/snapshots/mandoc-1.14.6.tar.gz"
# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
# sha512 = "54286070812a47b629f68757046d3c9a1bdd2b5d1c3b84a5c8e4cb92f1331afa745443f7238175835d8cfbe5b8dd442e00c75c3a5b5b8f8efd8d2ec8f636dad4"
sha256 = "8bf0d570f01e70a6e124884088870cbed7537f36328d512909eb10cd53179d9c"
# shared-libmandoc.patch QUITADO: fuerza libmandoc.so ⇒ el binario queda dinámico y no
# resuelve la .so standalone. Con link=static queremos libmandoc.a linkeada adentro.
patches = ["dynamic-tagfile-support.patch", "fix-core-dump-tag-put-assertion.patch", "outdated-warn-disable.patch", "empty-title.patch"]
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
[build.phases]
# mandoc trae su PROPIO ./configure (no autotools): NO acepta --prefix/--build/--host.
# Lee variables desde ./configure.local. Fase explícita para no chocar con el autogen de hammer.
configure = '''
cat > configure.local <<'EOF'
PREFIX=/usr
BINDIR=/usr/bin
SBINDIR=/usr/sbin
LIBDIR=/usr/lib
INCLUDEDIR=/usr/include
MANDIR=/usr/share/man
CC="zig cc -mcpu=baseline"
AR="zig ar"
LDFLAGS="-static"
EOF
./configure
'''
compile = '''
make -j"$(nproc)"
'''
# de package() de Alpine (traducido $pkgdir→/out):
install = '''
_abuild_phase() {
make -j1 DESTDIR="/out" base-install lib-install
}
_abuild_phase
'''
[deps]
build = ["zlib", "make"]