cosmic: las cinco recetas que faltaban de la sesión (panel, launcher, app-library, workspaces, notifications)
Escritas ya con el patrón medido —libxkbcommon + pkgconf en todas— en vez de descubrirlo cinco veces. Cada install sale del justfile/Makefile de upstream leído, no del parecido con el anterior; ahí estaban las tres diferencias que importan: - cosmic-panel: default_schema NO es un fichero sino un ÁRBOL de tres componentes de cosmic-config con un fichero POR CLAVE. Aplanarlo deja un panel que arranca con todo por defecto compilado: sin plugins, sin dock, sin tamaño. - cosmic-workspaces-epoch: los tres nombres NO coinciden — repo con sufijo -epoch, binario y AppID sin él, y cosmic-session lo busca por el del binario. - launcher y app-library instalan .desktop + metainfo + icono; notifications y osd no llevan ninguno porque no se lanzan a mano. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# cosmic-app-library — la grilla de todas las aplicaciones instaladas. Cliente de iced/libcosmic, mismo sustrato exacto que cosmic-osd.
|
||||
#
|
||||
# A diferencia de notifications y osd, este SÍ instala metadatos: su `.desktop`, su `.metainfo.xml`
|
||||
# y su icono. No es adorno — el `.desktop` es cómo el resto del escritorio sabe que existe y con qué
|
||||
# AppID hablarle, y el AppID (`com.system76.CosmicAppLibrary`) es además la clave bajo la que
|
||||
# cosmic-config guarda su estado. Un componente sin `.desktop` funciona hasta que otro lo busca.
|
||||
#
|
||||
# El icono va a `hicolor/scalable/apps`, NO al tema Cosmic: es el icono DE LA APP, y hicolor es el
|
||||
# tema del que heredan todos (por eso `hicolor-icon-theme` tiene que estar en la imagen).
|
||||
#
|
||||
# `libxkbcommon` + `pkgconf` por la regla del gotcha 7 del runbook: van en TODA la cola.
|
||||
name = "cosmic-app-library"
|
||||
version = "1.5.0"
|
||||
|
||||
[source]
|
||||
tarball = "https://github.com/pop-os/cosmic-app-library/archive/epoch-1.5.0/cosmic-app-library-epoch-1.5.0.tar.gz"
|
||||
sha256 = "39dfa91d807240585ece7794190229832cb0c48162d87a29d62fb6a43a5238e6"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "static"
|
||||
flags = ["--bin", "cosmic-app-library"]
|
||||
|
||||
[build.phases]
|
||||
install = '''
|
||||
mkdir -p /out/usr/bin /out/usr/share/applications /out/usr/share/metainfo \
|
||||
/out/usr/share/icons/hicolor/scalable/apps
|
||||
cp target/release/cosmic-app-library /out/usr/bin/cosmic-app-library
|
||||
chmod 755 /out/usr/bin/cosmic-app-library
|
||||
cp data/com.system76.CosmicAppLibrary.desktop /out/usr/share/applications/
|
||||
cp data/com.system76.CosmicAppLibrary.metainfo.xml /out/usr/share/metainfo/
|
||||
cp data/icons/com.system76.CosmicAppLibrary.svg /out/usr/share/icons/hicolor/scalable/apps/
|
||||
'''
|
||||
|
||||
[deps]
|
||||
build = ["libxkbcommon", "pkgconf"]
|
||||
@@ -0,0 +1,37 @@
|
||||
# cosmic-launcher — el lanzador de aplicaciones (Super+espacio). Cliente de iced/libcosmic, mismo sustrato exacto que cosmic-osd.
|
||||
#
|
||||
# A diferencia de notifications y osd, este SÍ instala metadatos: su `.desktop`, su `.metainfo.xml`
|
||||
# y su icono. No es adorno — el `.desktop` es cómo el resto del escritorio sabe que existe y con qué
|
||||
# AppID hablarle, y el AppID (`com.system76.CosmicLauncher`) es además la clave bajo la que
|
||||
# cosmic-config guarda su estado. Un componente sin `.desktop` funciona hasta que otro lo busca.
|
||||
#
|
||||
# El icono va a `hicolor/scalable/apps`, NO al tema Cosmic: es el icono DE LA APP, y hicolor es el
|
||||
# tema del que heredan todos (por eso `hicolor-icon-theme` tiene que estar en la imagen).
|
||||
#
|
||||
# `libxkbcommon` + `pkgconf` por la regla del gotcha 7 del runbook: van en TODA la cola.
|
||||
name = "cosmic-launcher"
|
||||
version = "1.5.0"
|
||||
|
||||
[source]
|
||||
tarball = "https://github.com/pop-os/cosmic-launcher/archive/epoch-1.5.0/cosmic-launcher-epoch-1.5.0.tar.gz"
|
||||
sha256 = "908cb0ef7e609ce0dec59f6d1cb4c249551883da42c957cd9dcb2e45892c7ec7"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "static"
|
||||
flags = ["--bin", "cosmic-launcher"]
|
||||
|
||||
[build.phases]
|
||||
install = '''
|
||||
mkdir -p /out/usr/bin /out/usr/share/applications /out/usr/share/metainfo \
|
||||
/out/usr/share/icons/hicolor/scalable/apps
|
||||
cp target/release/cosmic-launcher /out/usr/bin/cosmic-launcher
|
||||
chmod 755 /out/usr/bin/cosmic-launcher
|
||||
cp data/com.system76.CosmicLauncher.desktop /out/usr/share/applications/
|
||||
cp data/com.system76.CosmicLauncher.metainfo.xml /out/usr/share/metainfo/
|
||||
cp data/icons/com.system76.CosmicLauncher.svg /out/usr/share/icons/hicolor/scalable/apps/
|
||||
'''
|
||||
|
||||
[deps]
|
||||
build = ["libxkbcommon", "pkgconf"]
|
||||
@@ -0,0 +1,29 @@
|
||||
# cosmic-notifications — el servidor de notificaciones de COSMIC (implementa
|
||||
# `org.freedesktop.Notifications` sobre el bus de sesión y las dibuja con libcosmic).
|
||||
#
|
||||
# Instalación mínima de toda la suite: sólo el binario. No trae `.desktop` ni iconos propios porque no
|
||||
# es una app que se lance a mano — la levanta `cosmic-session`, primera de la lista.
|
||||
#
|
||||
# `libxkbcommon` + `pkgconf` por la regla del gotcha 7 del runbook: van en TODA la cola.
|
||||
name = "cosmic-notifications"
|
||||
version = "1.5.0"
|
||||
|
||||
[source]
|
||||
tarball = "https://github.com/pop-os/cosmic-notifications/archive/epoch-1.5.0/cosmic-notifications-epoch-1.5.0.tar.gz"
|
||||
sha256 = "8c60dd4c2161a2b9d2314597e141c600da9882fe774858283303370b2409ead7"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "static"
|
||||
flags = ["--bin", "cosmic-notifications"]
|
||||
|
||||
[build.phases]
|
||||
install = '''
|
||||
mkdir -p /out/usr/bin
|
||||
cp target/release/cosmic-notifications /out/usr/bin/cosmic-notifications
|
||||
chmod 755 /out/usr/bin/cosmic-notifications
|
||||
'''
|
||||
|
||||
[deps]
|
||||
build = ["libxkbcommon", "pkgconf"]
|
||||
@@ -0,0 +1,35 @@
|
||||
# cosmic-panel — la barra superior y el dock. Es el cliente de iced/libcosmic MÁS grande de la suite:
|
||||
# no sólo se dibuja a sí mismo, sino que hospeda los applets como clientes Wayland anidados
|
||||
# (`xdg-shell-wrapper`, que es uno de los miembros del workspace).
|
||||
#
|
||||
# ── LA INSTALACIÓN ES EL DATO ───────────────────────────────────────────────────────────────────
|
||||
# El `default_schema` no es un fichero: es un ÁRBOL de tres componentes de cosmic-config
|
||||
# (`…CosmicPanel`, `…CosmicPanel.Panel`, `…CosmicPanel.Dock`), cada uno con su `v1/` y **un fichero
|
||||
# por clave** (`size`, `padding`, `plugins_center`, `entries`…). Copiarlo aplanado o renombrando deja
|
||||
# un panel que arranca con TODO por defecto compilado: sin plugins, sin dock, sin tamaño. Por eso el
|
||||
# `install` reproduce la estructura tal cual con `cp -r`, y no fichero por fichero.
|
||||
#
|
||||
# El binario sale del paquete `cosmic-panel-bin` del workspace, pero se llama `cosmic-panel`.
|
||||
name = "cosmic-panel"
|
||||
version = "1.5.0"
|
||||
|
||||
[source]
|
||||
tarball = "https://github.com/pop-os/cosmic-panel/archive/epoch-1.5.0/cosmic-panel-epoch-1.5.0.tar.gz"
|
||||
sha256 = "66d8dfbc8aa62ff6a91e83e5bdcb5363c663aac5a58c111152b258054a815222"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "static"
|
||||
flags = ["--bin", "cosmic-panel"]
|
||||
|
||||
[build.phases]
|
||||
install = '''
|
||||
mkdir -p /out/usr/bin /out/usr/share/cosmic
|
||||
cp target/release/cosmic-panel /out/usr/bin/cosmic-panel
|
||||
chmod 755 /out/usr/bin/cosmic-panel
|
||||
cp -r data/default_schema/. /out/usr/share/cosmic/
|
||||
'''
|
||||
|
||||
[deps]
|
||||
build = ["libxkbcommon", "pkgconf"]
|
||||
@@ -0,0 +1,28 @@
|
||||
# cosmic-workspaces — la vista general de espacios de trabajo (el «overview» de COSMIC). Cliente de
|
||||
# iced/libcosmic; el repo se llama `cosmic-workspaces-epoch` pero el binario y el AppID no llevan el
|
||||
# sufijo, y `cosmic-session` lo busca como `cosmic-workspaces`. Los tres nombres importan y no
|
||||
# coinciden: el del repo es el de la URL, el del binario el del PATH, y el AppID el de cosmic-config.
|
||||
name = "cosmic-workspaces-epoch"
|
||||
version = "1.5.0"
|
||||
|
||||
[source]
|
||||
tarball = "https://github.com/pop-os/cosmic-workspaces-epoch/archive/epoch-1.5.0/cosmic-workspaces-epoch-epoch-1.5.0.tar.gz"
|
||||
sha256 = "d7b54ce8dd229c6b76c2132b38d0814df656439bd4c014d04bd052143dcf4249"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "static"
|
||||
flags = ["--bin", "cosmic-workspaces"]
|
||||
|
||||
[build.phases]
|
||||
install = '''
|
||||
mkdir -p /out/usr/bin /out/usr/share/applications /out/usr/share/icons/hicolor/scalable/apps
|
||||
cp target/release/cosmic-workspaces /out/usr/bin/cosmic-workspaces
|
||||
chmod 755 /out/usr/bin/cosmic-workspaces
|
||||
cp data/com.system76.CosmicWorkspaces.desktop /out/usr/share/applications/
|
||||
cp data/com.system76.CosmicWorkspaces.svg /out/usr/share/icons/hicolor/scalable/apps/
|
||||
'''
|
||||
|
||||
[deps]
|
||||
build = ["libxkbcommon", "pkgconf"]
|
||||
Reference in New Issue
Block a user