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 Sutichaykuna

⎇ 1505bfad7870c1893c878b4c093fec45745dd20c recipes/llvm18.toml TOML · 53 siq'ikuna · 2.1 KB Ñawpa willay ch'uya

licencias: ffmpeg y LLVM salen del árbol — «lo decide un humano» era «lo decide la receta» 1505bfad7 · Sergio ·

1# LLVM 18.1.8 — sólo libLLVM (sin clang) para el JIT de llvmpipe (mesa-llvmpipe → escritorio KDE en VM).
2# Ver [[kde-metal-qemu-desktop]]: kwin exige GBM/EGL de software COMPLETO; softpipe no bindea, llvmpipe sí,
3# y llvmpipe necesita libLLVM. El LLVM 22 del sandbox Alpine NO compila con mesa 24.0.9 (dep detection
4# rota) ⇒ sellamos un LLVM 18 (rango que mesa 24.0.9 soporta) desde fuente.
5#
6# Patrón gcc-de-gueto (idéntico a cmake.toml): C++ a escala ⇒ g++ del sandbox (Alpine, musl) con
7# -static-libstdc++ -static-libgcc ⇒ libLLVM.so.18 queda con NEEDED sólo libc.musl (inyectable a la
8# imagen QEMU como el loader musl). BUILD_LLVM_DYLIB=ON ⇒ una sola libLLVM.so compartida (lo que
9# mesa linkea). Sólo el target X86 (host), sin tests/docs/bindings ⇒ recorta el monstruo.
10#
11# Worker GORDO (TYPE=ccx63): LLVM es de las compilaciones más pesadas; el link del DYLIB pide MUCHA RAM.
12name    = "llvm18"
13version = "18.1.8"
14license = "Apache-2.0 WITH LLVM-exception"
15
16[source]
17tarball = "https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/llvm-project-18.1.8.src.tar.xz"
18sha256  = "0b58557a6d32ceee97c8d533a59b9212d87e0fc4d2833924eb6c611247db2f2a"
19
20[build]
21compiler = "zig-cc"
22target   = "x86_64-linux-musl"
23link     = "dynamic"
24
25[build.phases]
26configure = '''
27CC=gcc CXX='g++ -static-libstdc++ -static-libgcc' \
28cmake -S llvm -B build -G Ninja \
29  -DCMAKE_BUILD_TYPE=Release \
30  -DCMAKE_INSTALL_PREFIX=/usr \
31  -DCMAKE_CXX_FLAGS="-include cstdint" \
32  -DCMAKE_C_FLAGS="-include stdint.h" \
33  -DLLVM_TARGETS_TO_BUILD=X86 \
34  -DLLVM_BUILD_LLVM_DYLIB=ON \
35  -DLLVM_LINK_LLVM_DYLIB=ON \
36  -DLLVM_ENABLE_RTTI=ON \
37  -DLLVM_ENABLE_PROJECTS="" \
38  -DLLVM_ENABLE_TERMINFO=OFF \
39  -DLLVM_ENABLE_ZLIB=OFF \
40  -DLLVM_ENABLE_ZSTD=OFF \
41  -DLLVM_ENABLE_LIBXML2=OFF \
42  -DLLVM_ENABLE_LIBEDIT=OFF \
43  -DLLVM_ENABLE_BINDINGS=OFF \
44  -DLLVM_INCLUDE_TESTS=OFF \
45  -DLLVM_INCLUDE_EXAMPLES=OFF \
46  -DLLVM_INCLUDE_BENCHMARKS=OFF \
47  -DLLVM_INCLUDE_DOCS=OFF
48'''
49compile = "ninja -C build"
50install = "DESTDIR=/out ninja -C build install"
51
52[deps]
53build = ["cmake", "samurai", "python3", "pkgconf"]