[package] name = "jolt-cosmic" version.workspace = true edition.workspace = true license.workspace = true description = "glimmer's libcosmic backend behind a C ABI" publish = false # Produces `libjoltcosmic.so`. The retained-tree ABI `libvidya` and # `libjolttui` export, painted by libcosmic — so the jolt side picks a backend # by naming a different shared object. # # Its own crate for the reason the workspace gives: libcosmic brings iced, # wgpu, cosmic-text and zbus with it, and nobody who asked for a terminal # should link any of that. It is also MPL-2.0 where the rest of this repo is # MIT; linking it dynamically, as a separate object, keeps that boundary clean. [lib] name = "joltcosmic" crate-type = ["cdylib", "rlib"] [dependencies] jolt-abi.workspace = true log.workspace = true # Decoders for `:image` and `:avatar`. libcosmic builds iced with # `image-without-codecs`, so a picture loaded by path decodes to nothing unless # something turns the formats on; this is the same `image` crate iced links, so # naming the features here is enough. image = { version = "0.25", default-features = false, features = ["png", "jpeg", "gif", "webp"] } # The desktop's own file chooser, through the XDG portal — the version # libcosmic's optional `rfd` feature is locked to, on the tokio runtime its # executor already runs. rfd = { version = "0.16", default-features = false, features = ["xdg-portal", "tokio"] } # Pinned to the rev the COSMIC applet in wayland-bar already builds against. [dependencies.libcosmic] git = "https://github.com/pop-os/libcosmic" rev = "a401af8b1c54a8abd393b8c5b7c8809402f83850" default-features = false features = ["winit", "tokio", "wgpu", "x11", "wayland"]