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

⎇ 370e7b7a20d7d30b46184d60972843b20c7e0636 tandas/hold-nongo/mesa.toml TOML · 95 lines · 2.8 KB History raw

Etapa G: limpia cola go-12 — parquea batch gráfico C a hold-nongo + difiere syncthing 370e7b7a2 · 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    = "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"]