Primer paso del frente de apps (ADR 0015, montón A: mpv → OBS → Firefox). `mpv` va al corpus porque lo quieren las cuatro imágenes, y una receta del corpus resuelve sibling-first en `recipes/`: desde ahí NO alcanza `incoming-kde/` ni `incoming-cosmic/`. Sus tres deps de sistema vivían sólo en colas. Lo que hace que esto no sea duplicar: `hammer hash` da el MISMO ArtifactHash a cada par (nasm b3:3624bdd8, alsa-lib b3:73fb200a, ffmpeg b3:bfef7bf3), porque las deps que las colas les resolvían ya caían al catálogo padre. Cache hit, cero rebuild, y una imagen que arrastre las dos recetas hidrata UN artefacto en vez de dos peleando por la misma ruta. Verificado también que comentar la receta es gratis: las cabeceras nuevas no mueven el hash.
35 lines
1.7 KiB
TOML
35 lines
1.7 KiB
TOML
# ══ COPIA AL CORPUS, hash IDÉNTICO (b3:3624bdd8…) ═══════════════════════════════════════════════
|
|
# El original vive en `incoming-cosmic/` (y una copia gemela en `incoming-gnome/`) porque nació
|
|
# como build-dep de mozjs. Sube al corpus porque `libass` —y detrás `mpv`— lo necesitan, y una
|
|
# receta del corpus resuelve sus deps sibling-first en `recipes/`: desde acá no alcanza a
|
|
# `incoming-cosmic/`.
|
|
#
|
|
# LA COPIA ES GRATIS Y NO DUPLICA NADA, y eso hay que medirlo antes de creerlo: su única dep es
|
|
# `make`, que en `incoming-cosmic/` ya resolvía al catálogo PADRE, así que el cierre no cambia y
|
|
# `hammer hash` da el MISMO ArtifactHash a los dos ficheros. Consecuencia práctica: una imagen que
|
|
# arrastre las dos recetas hidrata UN solo artefacto, no dos que compiten por la misma ruta —que es
|
|
# el cuadro que costó el episodio de las dos glib.
|
|
# nasm — ensamblador x86. Herramienta de BUILD de mozjs (algunas rutas de código generan .asm) y de
|
|
# varias libs de media más adelante. No está en el rootfs Alpine ni tenía receta. C plano, autotools.
|
|
name = "nasm"
|
|
version = "2.16.03"
|
|
license = "BSD-2-Clause"
|
|
|
|
[source]
|
|
tarball = "https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/nasm-2.16.03.tar.xz"
|
|
sha256 = "1412a1c760bbd05db026b6c0d1657affd6631cd0a63cddb6f73cc6d4aa616148"
|
|
strip_components = 1
|
|
|
|
[build]
|
|
compiler = "gcc"
|
|
target = "x86_64-linux-musl"
|
|
link = "static" # binario de herramienta: estático, sin runtime que arrastrar
|
|
|
|
[build.phases]
|
|
configure = "./configure --build=$CBUILD --host=$CHOST --prefix=/usr"
|
|
compile = "make -j\"$(nproc)\""
|
|
install = "make DESTDIR=/out install"
|
|
|
|
[deps]
|
|
build = ["make"]
|