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 1346Shell 97Rust 63Markdown 571650 Definiciones

⎇ c8d1357f06e526696b07d5815a5334537f8cf683 recipes/incoming-cosmic/cosmic-term.toml TOML · 58 líneas · 3.3 KB Historia crudo

licencias: la declaración del autor manda — y arreglo 5 recetas que ROMPÍ y commiteé c8d1357f0 · sergio ·

1# cosmic-term — el emulador de terminal de COSMIC, y **la primera aplicación con ventana** del
2# catálogo. Hasta acá el escritorio tenía compositor, panel, dock, lanzador y una calculadora que
3# devuelve una fila de texto; ninguna ventana de verdad. Ésta lo es, y de paso convierte la
4# biblioteca de aplicaciones —que hoy sale vacía porque los veinte `.desktop` de la imagen son
5# `NoDisplay=true`— en algo que muestra al menos una entrada.
6#
7# ── LO QUE ARRASTRA, Y QUE NO SE ADIVINA ────────────────────────────────────────────────────────
8# Su `Cargo.toml` depende de **`cosmic-files`**: el gestor de ficheros entra como LIBRERÍA (el
9# selector y el arrastrar-y-soltar), no como aplicación. O sea que compilar la terminal compila
10# medio gestor de ficheros. Es el mismo patrón que ya apareció con `cosmic-settings-config` en los
11# applets: en esta suite las «aplicaciones» se usan unas a otras como crates.
12#
13# `wgpu` viene en `default`, al revés que el resto de los clientes que sellamos —que pintan con
14# tiny-skia porque su libcosmic entra sin esa feature—. Se deja: `wgpu` y `naga` ya se compilaron
15# enteros para `cosmic-workspaces` (están en su línea de enlace), así que el costo ya está pago, y
16# tocar las features por defecto es apartarse de la única combinación que upstream prueba.
17name    = "cosmic-term"
18version = "1.5.0"
19license = "GPL-3.0-only"
20
21[source]
22tarball = "https://github.com/pop-os/cosmic-term/archive/epoch-1.5.0/cosmic-term-epoch-1.5.0.tar.gz"
23sha256  = "ea942a519c33c6bc13dddfdd8c5addfc4307742c1f892fa67807646fc6db42bc"
24
25[build]
26compiler = "zig-cc"
27target   = "x86_64-linux-musl"
28# Dinámico como todo cliente de la suite: `wayland-client` entra con la feature `dlopen` y un musl
29# estático no la honra — arranca y muere con «The wayland library could not be loaded» *teniendo*
30# el `.so`.
31link     = "dynamic"
32flags    = ["--bin", "cosmic-term"]
33
34[build.phases]
35# El `just install` traducido con `rootdir=/`. Los `.desktop`/`.metainfo` los GENERA el build en
36# `target/xdgen/` (crate `xdgen` como build-dependency), no están en el tarball: se copian si
37# aparecen. Acá **sí** conviene que el `.desktop` exista, al revés que en los applets — es lo que
38# hace que la aplicación se vea en la biblioteca.
39install = '''
40mkdir -p /out/usr/bin /out/usr/share/applications /out/usr/share/metainfo
41cp target/release/cosmic-term /out/usr/bin/cosmic-term
42chmod 755 /out/usr/bin/cosmic-term
43cp target/xdgen/com.system76.CosmicTerm.desktop      /out/usr/share/applications/ 2>/dev/null || true
44cp target/xdgen/com.system76.CosmicTerm.metainfo.xml /out/usr/share/metainfo/ 2>/dev/null || true
45for size in res/icons/hicolor/*; do
46  [ -d "$size" ] || continue
47  s=$(basename "$size")
48  if [ -f "$size/apps/com.system76.CosmicTerm.svg" ]; then
49    mkdir -p "/out/usr/share/icons/hicolor/$s/apps"
50    cp "$size/apps/com.system76.CosmicTerm.svg" "/out/usr/share/icons/hicolor/$s/apps/"
51  fi
52done
53'''
54
55[deps]
56# El juego fijo de todo cliente de la suite. `dbus-config` y `password_manager` (secret-service)
57# hablan por **zbus**, que es Rust puro: no suman `libdbus`, al revés que cosmic-applets.
58build = ["libxkbcommon", "pkgconf", "libudev-zero", "libinput"]