Files
hammer/recipes/git.toml
T
sergioandClaude Opus 5 fe474dab63 licencias: 994 de 1141 (87%) — cerradas las familias Qt, freedesktop, kernel.org y PyPI
Tercera tanda curada, agrupada por la URL DE FUENTE de cada receta (que es la evidencia que
el nombre no da): los once módulos Qt sin prefijo, freedesktop (dbus, libinput, libevdev,
libdisplay-info, poppler, pulseaudio, upower, NetworkManager, ModemManager, polkit),
kernel.org (los tres kernels, linux-headers, git, iproute2, libuuid) y PyPI.

Los kernels llevan `GPL-2.0-only WITH Linux-syscall-note` explícita. No es adorno: sin esa
excepción, todo binario de espacio de usuario que hace un syscall sería obra derivada del
kernel. Es exactamente el tipo de dato que un campo de licencia existe para no perder.

Quedan 147 sin declarar: 69 de GitHub donde la propia API dice NOASSERTION (hay que abrir
el fuente), 20 de tawasuyu —que son nuestras o del otro agente, así que la licencia la
decide el usuario, no yo— y el resto repartido en GNOME, gitlab.freedesktop y sueltos.
Más 71 con SPDX ambiguo pendientes de desambiguar (`licencias.sh --revisar`).

Hashes verificados otra vez sobre 20 recetas tocadas: 20 idénticos, 0 cambiados.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 13:29:31 -04:00

50 lines
2.0 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 = "git"
version = "2.54.0"
license = "GPL-2.0-only"
[source]
tarball = "https://www.kernel.org/pub/software/scm/git/git-2.54.0.tar.xz"
# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
# sha512 = "cb363917124edc245c9f6745e6e0c4093990275b4d57f9d2213c655b304ac81b05ece8d88546122727495ebc48a5ae19ab166a3ee43b6b8c68da488ac0270064"
sha256 = "f689162364c10de79ef89aa8dbf48731eb057e34edbbd20aca510ce0154681a3"
patches = ["fix-t4219-with-sticky-bit.patch"]
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
[build.phases]
# build de git LIMPIO estático-musl: Makefile propio (no autotools). Desactivamos
# gettext/tcltk/python (no los tenemos); curl/openssl/pcre2/zlib resuelven por las
# deps materializadas en /usr del lab.
# Flags idénticas en compile e install: git graba CFLAGS/LDFLAGS en GIT-CFLAGS y
# fuerza relink si difieren entre invocaciones. -fsanitize=undefined enlaza el
# runtime ubsan de zig (la libz.a/etc. materializadas traen __ubsan_handle_* que
# bajo -static no se resuelven solas).
compile = '''
make prefix=/usr CC="${CC:-cc}" \
NO_GETTEXT=1 NO_TCLTK=1 NO_PYTHON=1 NO_INSTALL_HARDLINKS=1 \
NO_R_TO_GCC_LINKER=1 FUZZ_PROGRAMS= \
CFLAGS="$CFLAGS -static -fsanitize=undefined" \
LDFLAGS="$LDFLAGS -static -fsanitize=undefined" \
all
'''
install = '''
make prefix=/usr DESTDIR="/out" CC="${CC:-cc}" \
NO_GETTEXT=1 NO_TCLTK=1 NO_PYTHON=1 NO_INSTALL_HARDLINKS=1 \
NO_R_TO_GCC_LINKER=1 FUZZ_PROGRAMS= \
CFLAGS="$CFLAGS -static -fsanitize=undefined" \
LDFLAGS="$LDFLAGS -static -fsanitize=undefined" \
install
'''
# depends de runtime de Alpine (NO build-deps): perl
[deps]
build = ["zlib", "openssl", "curl", "pcre2", "linux-headers", "perl"]