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…
1# Importada de Alpine aports por `hammer 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 = "etcd"
5version = "3.6.11"
6
7[source]
8tarball = "https://github.com/etcd-io/etcd/archive/refs/tags/v3.6.11.tar.gz"
9# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
10# sha512 = "56423c42443d9d1d2d06ff28aff389a381ed9b726cbee0d3523ac34fe2a8e22029377a42aa808077bb985f524a153c5fe63fd6166857749e8217b705fdf41910"
11sha256 = "bdc9b21505f4587c81f33235b53b3cb02f28158eb3487ae158f90b9534f0c0f3"
12
13[build]
14compiler = "zig-cc"
15target = "x86_64-linux-musl"
16link = "static"
17flags = []
18
19[build.phases]
20# de build() de Alpine (traducido; el lab provee $CBUILD/$CHOST — Etapa G Fase 3; revisá --shared para estático):
21compile = '''
22_abuild_phase() {
23export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
24 export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
25 export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
26 export GOFLAGS="$GOFLAGS -mod=mod"
27 export CGO_ENABLED=1
28 export FORCE_HOST_GO=1
29
30 GIT_SHA="$(git ls-remote https://github.com/coreos/etcd.git refs/tags/v3.6.11 | awk '{print $1}')" \
31 make
32}
33_abuild_phase
34'''
35# de package() de Alpine (traducido $pkgdir→/out):
36install = '''
37_abuild_phase() {
38install -d -o "$pkgusers" -g "$pkggroups" -m 700 "/out"/var/lib/etcd
39 install -Dm755 bin/etcd "/out"/usr/bin/etcd
40 install -Dm755 bin/etcdctl "/out"/usr/bin/etcdctl
41 install -Dm644 $srcdir/etcd.yaml "/out"/etc/etcd/conf.yml
42 install -Dm644 $srcdir/etcd.confd "/out"/etc/conf.d/etcd
43 install -Dm755 $srcdir/etcd.initd "/out"/etc/init.d/etcd
44 install -Dm644 LICENSE "/out"/usr/share/licenses/etcd/LICENSE
45}
46_abuild_phase
47'''
48
49[deps]
50build = ["bash"]