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…
Etapa G (go): re-alimenta la granja — tanda go-refeed (51 recetas) a incoming-go
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 = "traefik"
5version = "3.7.1"
6
7[source]
8tarball = "https://github.com/traefik/traefik/releases/download/v3.7.1/traefik-v3.7.1.src.tar.gz"
9# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
10# sha512 = "dd09d3e0a548c300a07c446c1b25f45f46c44c24eb214c899738ffa99ada80cd52e9493be0afdb793fcb57f52ac0b797c5a77f1cfd22a6e154af3cca4544083a"
11sha256 = "8d6e5b7bae2b255e42f0ff3a8cf3c7eb02e1a29778931e67d7b2cde1759336f5"
12patches = ["logs_tests.patch"]
13
14[build]
15compiler = "zig-cc"
16target = "x86_64-linux-musl"
17link = "static"
18flags = []
19
20[build.phases]
21# de build() de Alpine (traducido; el lab provee $CBUILD/$CHOST — Etapa G Fase 3; revisá --shared para estático):
22compile = '''
23_abuild_phase() {
24local builddate="$(date -u "+%Y-%m-%dT%TZ" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})"
25
26 go generate -v
27 go build -v -ldflags "-s -w -extldflags \"$LDFLAGS\" \
28 -X github.com/traefik/traefik/v3/pkg/version.Codename=cheddar \
29 -X github.com/traefik/traefik/v3/pkg/version.Version=3.7.1 \
30 -X github.com/traefik/traefik/v3/pkg/version.BuildDate=$builddate" \
31 -o bin/ ./cmd/traefik
32}
33_abuild_phase
34'''
35# de package() de Alpine (traducido $pkgdir→/out):
36install = '''
37_abuild_phase() {
38install -Dm755 bin/traefik "/out"/usr/sbin/traefik
39 install -Dm644 LICENSE.md -t "/out"/usr/share/licenses/traefik/
40 install -dm775 -o traefik -g traefik "/out"/var/log/traefik
41 install -dm750 -o traefik -g traefik "/out"/etc/traefik
42 install -m644 -o traefik -g traefik "$srcdir"/traefik.yaml \
43 -t "/out"/etc/traefik/
44
45 install -Dm755 "$srcdir"/traefik.initd "/out"/etc/init.d/traefik
46 install -Dm644 "$srcdir"/traefik.confd "/out"/etc/conf.d/traefik
47}
48_abuild_phase
49'''