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: limpia cola go-12 — parquea batch gráfico C a hold-nongo + difiere syncthing
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 = "mesa"
5version = "26.1.1"
6
7[source]
8tarball = "https://mesa.freedesktop.org/archive/mesa-${pkgver/_/-}.tar.xz"
9# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
10# sha512 = "384a7db33d2f06e287337329f2f17503082ba6b1cd876a1884e940fdb6193ffae6d6b14344625256f3b3b39972ad697130a4d2ea25c40979f7aa76c2176f7988"
11sha256 = "FIXME-sha256"
12patches = ["23575.patch", "riscv64-tls.patch", "llvm22-armhf.patch", "armv7-exynos4.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() {
24# use -g1 to generate less debug info:
25 # 485 MiB -> ~80 MiB
26 export CFLAGS="$CFLAGS -O2 -g1"
27 export CXXFLAGS="$CXXFLAGS -O2 -g1"
28 export CPPFLAGS="$CPPFLAGS -O2 -g1"
29
30 case "$CARCH" in
31 armhf|armv7)
32 # gnu2 tlsdesc is broken in binutils, see
33 # https://gitlab.alpinelinux.org/alpine/aports/-/issues/14140
34 # and
35 # https://gitlab.freedesktop.org/mesa/mesa/-/issues/13236
36 export CFLAGS="$CFLAGS -mtls-dialect=gnu"
37 export CXXFLAGS="$CXXFLAGS -mtls-dialect=gnu"
38 ;;
39 esac
40
41 PATH="$PATH:/usr/lib/llvm$_llvmver/bin" \
42 abuild-meson \
43 -Db_ndebug=true \
44 -Db_lto=$_lto \
45 -Dallow-kcmp=enabled \
46 -Dexpat=enabled \
47 -Dintel-rt=$_intel_rt \
48 -Dshader-cache=enabled \
49 -Dxlib-lease=enabled \
50 -Dxmlconfig=enabled \
51 -Dzstd=enabled \
52 -Dbackend_max_links=2 \
53 -Dbuild-tests="$(want_check && echo true || echo false)" \
54 -Ddri-drivers-path=$_dri_driverdir \
55 -Dgallium-drivers=$_gallium_drivers \
56 -Dvulkan-drivers=$_vulkan_drivers \
57 -Dvulkan-layers=$_vulkan_layers \
58 -Damdgpu-virtio=true \
59 -Dfreedreno-kmds=msm,virtio \
60 -Dplatforms=x11,wayland \
61 -Dllvm=enabled \
62 -Dshared-llvm=enabled \
63 -Dgbm=enabled \
64 -Dglx=dri \
65 -Dopengl=true \
66 -Dgles1=enabled \
67 -Dgles2=enabled \
68 -Degl=enabled \
69 -Dgallium-extra-hud=true \
70 -Dgallium-rusticl=$_rusticl \
71 -Dgallium-rusticl-enable-drivers=auto,freedreno \
72 -Dgallium-va=enabled \
73 -Drust_std=2021 \
74 -Dvideo-codecs=all \
75 . output
76
77 # Print config
78 meson configure --no-pager output
79
80 meson compile -C output
81}
82_abuild_phase
83'''
84# de package() de Alpine (traducido $pkgdir→/out):
85install = '''
86_abuild_phase() {
87DESTDIR="/out" meson install --no-rebuild -C output
88}
89_abuild_phase
90'''
91
92# depends de runtime de Alpine (NO build-deps): python3
93
94[deps]
95build = ["clang$_llvmver", "libclc-dev~$_llvmver", "rust-bindgen", "spirv-llvm-translator", "clang22", "libclc-dev~22"]