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 188Rust 55Shell 30Markdown 281211 Definitions

⎇ e852f4849157d026552008ad054cf4c31b8eb532 recipes/e2fsprogs.toml TOML · 73 lines · 2.5 KB History raw

takana etapa 5a: los comentarios de las 741 recetas e852f4849 · Sergio ·

1# Importada de Alpine aports por `takana import-alpine` (Etapa G). PUNTO DE PARTIDA — pero
2# YA trae los parches de musl de Alpine (lo que un import de nix pierde). Pendiente: el
3# sha256 del tarball (el wrapper lo calcula), y adaptar build/install del shell de abuild.
4name    = "e2fsprogs"
5version = "1.47.4"
6license = "GPL-2.0-only AND LGPL-2.0-only AND BSD-3-Clause"
7
8[source]
9tarball = "https://github.com/tytso/e2fsprogs/archive/v1.47.4.tar.gz"
10# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
11# sha512 = "923c1ba52cf48557e190ee936be47ff3e43e4798950499e3c663f0f077470caefbb69ee845ebe1f969b3e7c1bb0c22e507188f1daca24649c54c5843c835b2f9"
12sha256  = "9f82eaa7002673291629077b80ee005cadfcd49854907a22007fed70b0ef596e"
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]
24# de build() de Alpine (traducido; el lab provee $CBUILD/$CHOST — Etapa G Fase 3; revisá --shared para estático):
25compile = '''
26_abuild_phase() {
27./configure \
28		--build=$CBUILD \
29		--host=$CHOST \
30		--prefix=/usr \
31		--sysconfdir=/etc \
32		--mandir=/usr/share/man \
33		--localstatedir=/var \
34		--with-udev-rules-dir=no \
35		--disable-elf-shlibs \
36		--enable-static \
37		--enable-symlink-install \
38		--disable-fsck \
39		--disable-uuidd \
40		--disable-libuuid \
41		--disable-libblkid \
42		--disable-fuse2fs \
43		--disable-nls
44	# `RDYNAMIC=`: e2fsck es el ÚNICO de las 31 herramientas que enlaza con `$(RDYNAMIC)`
45	# (`e2fsck/Makefile.in:119`, y `configure.ac:109` lo pone en `-rdynamic`), y por eso era el
46	# único dinámico — con sus tres alias `fsck.ext{2,3,4}`, de ahí «4 de 31». El wrapper de cc
47	# del lab (`sandbox.rs:597`) tira el `-static` inyectado ante `-rdynamic`, así que `-static`
48	# se ponía y se quitaba. Upstream lo pide para simbolizar el backtrace del manejador de
49	# señales fatales, no para enlazar: con estático el backtrace pierde nombres, que es
50	# exactamente lo que `link = "static"` ya pedía.
51	make RDYNAMIC=
52}
53_abuild_phase
54'''
55# de package() de Alpine (traducido $pkgdir→/out):
56install = '''
57_abuild_phase() {
58make -j1 DESTDIR="/out" install install-libs RDYNAMIC=
59	mkdir -p "/out"/sbin/
60	local i; for i in e2fsck mke2fs mkfs.* fsck.*; do
61		mv "/out"/usr/sbin/$i "/out"/sbin/
62	done
63	# overwrite busybox symlinks
64	mkdir -p "/out"/bin/
65	for i in chattr lsattr; do
66		mv "/out"/usr/bin/$i "/out"/bin/
67	done
68}
69_abuild_phase
70'''
71
72[deps]
73build = ["binutils", "linux-headers", "pkgconf"]