tawasuyu

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 1572Shell 203Rust 109Markdown 993728 Definiciones

⎇ main tandas/hold-nongo/forgejo.toml TOML · 67 líneas · 2.2 KB Historia crudo

Etapa G: fuel-go-8 al VPS (devops/cloud/policy: opa/conftest/k0s/talosctl/...) 89a867823 · sergio ·

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    = "forgejo"
5version = "15.0.3"
6
7[source]
8tarball = "https://codeberg.org/forgejo/forgejo/archive/v15.0.3.tar.gz"
9# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
10# sha512 = "c1ebd90bc1c8ce9a0cbbf88451078691d7f272927a8208328f9ba26786200347ca0d9f25bf87a256d825c0c6a63a0a022082f21c2871c45ac1710394c9385f1b"
11sha256  = "a73bb36caebf15925c00d46abce2adbd38b810a86610a0202a928c0a746e5742"
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() {
23# XXX: LARGEFILE64
24	export CGO_CFLAGS="$CFLAGS -O2 -D_LARGEFILE64_SOURCE"
25	export TAGS="bindata sqlite sqlite_unlock_notify"
26	export GITEA_VERSION="15.0.3"
27	export EXTRA_GOFLAGS="$GOFLAGS"
28	export CGO_LDFLAGS="$LDFLAGS"
29	unset LDFLAGS
30	## make FHS compliant
31	local setting="forgejo.org/modules/setting"
32	export LDFLAGS="$LDFLAGS -X $setting.CustomConf=/etc/forgejo/app.ini"
33	export LDFLAGS="$LDFLAGS -X $setting.AppWorkPath=/var/lib/forgejo/"
34
35	make -j1 build
36}
37_abuild_phase
38'''
39# de package() de Alpine (traducido $pkgdir→/out):
40install = '''
41_abuild_phase() {
42for dir in forgejo forgejo/git forgejo/data forgejo/db forgejo/custom; do
43		install -dm750 -o forgejo -g www-data \
44			"/out"/var/lib/$dir
45	done
46
47	install -dm755 -o forgejo -g www-data "/out"/var/log/forgejo
48
49	# TODO: rename when upstream does: https://codeberg.org/forgejo/forgejo/issues/5174
50	install -Dm755 -g www-data gitea "/out"/usr/bin/forgejo
51
52	install -Dm644 -o forgejo -g www-data "$srcdir"/forgejo.ini \
53		"/out"/etc/forgejo/app.ini
54	chown forgejo:www-data "/out"/etc/forgejo
55
56	install -Dm755 "$srcdir"/forgejo.initd \
57		"/out"/etc/init.d/forgejo
58	install -Dm644 contrib/systemd/forgejo.service \
59		-t "/out"/usr/lib/systemd/system/
60}
61_abuild_phase
62'''
63
64# depends de runtime de Alpine (NO build-deps): git, git-lfs, gnupg
65
66[deps]
67build = ["nodejs", "npm"]