282 lines · 6.9 KB · TOML
RawDownload
[package]name = "gpui"version = "0.1.0"edition.workspace = trueauthors = ["Nathan Sobo <nathan@zed.dev>"]description = "Zed's GPU-accelerated UI framework"publish.workspace = truelicense = "Apache-2.0" [lints]workspace = true [features]default = ["http_client", "font-kit", "wayland", "x11"]test-support = [    "leak-detection",    "collections/test-support",    "rand",    "util/test-support",    "http_client?/test-support",    "wayland",    "x11",]leak-detection = ["backtrace"]runtime_shaders = []macos-blade = [    "blade-graphics",    "blade-macros",    "blade-util",    "bytemuck",    "objc2",    "objc2-metal",]wayland = [    "blade-graphics",    "blade-macros",    "blade-util",    "bytemuck",    "ashpd",    "cosmic-text",    "font-kit",    "calloop-wayland-source",    "wayland-backend",    "wayland-client",    "wayland-cursor",    "wayland-protocols",    "wayland-protocols-plasma",    "filedescriptor",    "xkbcommon",    "open",]x11 = [    "blade-graphics",    "blade-macros",    "blade-util",    "bytemuck",    "ashpd",    "cosmic-text",    "font-kit",    "as-raw-xcb-connection",    "x11rb",    "xkbcommon",    "xim",    "x11-clipboard",    "filedescriptor",    "open",]  [lib]path = "src/gpui.rs"doctest = false [dependencies]anyhow.workspace = trueasync-task = "4.7"backtrace = { version = "0.3", optional = true }blade-graphics = { workspace = true, optional = true }blade-macros = { workspace = true, optional = true }blade-util = { workspace = true, optional = true }bytemuck = { version = "1", optional = true }collections.workspace = truector.workspace = truederive_more.workspace = trueetagere = "0.2"futures.workspace = truegpui_macros.workspace = truehttp_client = { optional = true, workspace = true }image = "0.25.1"inventory.workspace = trueitertools.workspace = truelog.workspace = truenum_cpus = "1.13"parking = "2.0.0"parking_lot.workspace = truepostage.workspace = trueprofiling.workspace = truerand = { optional = true, workspace = true }raw-window-handle = "0.6"refineable.workspace = trueresvg = { version = "0.44.0", default-features = false }usvg = { version = "0.44.0", default-features = false }schemars.workspace = trueseahash = "4.1"semantic_version.workspace = trueserde.workspace = trueserde_derive.workspace = trueserde_json.workspace = trueslotmap = "1.0.6"smallvec.workspace = truesmol.workspace = truestrum.workspace = truesum_tree.workspace = truetaffy = "0.4.3"thiserror.workspace = trueutil.workspace = trueuuid.workspace = truewaker-fn = "1.2.0"lyon = "1.0" [target.'cfg(target_os = "macos")'.dependencies]block = "0.1"cocoa.workspace = truecore-foundation.workspace = truecore-foundation-sys = "0.8"core-graphics = "0.23"core-text = "20.1"font-kit = { git = "https://github.com/zed-industries/font-kit", rev = "40391b7", optional = true }foreign-types = "0.5"log.workspace = truemedia.workspace = trueobjc = "0.2"objc2 = { version = "0.5", optional = true }objc2-metal = { version = "0.2", optional = true }#TODO: replace with "objc2"metal.workspace = true [target.'cfg(any(target_os = "linux", target_os = "freebsd", target_os = "macos"))'.dependencies]pathfinder_geometry = "0.5" [target.'cfg(any(target_os = "linux", target_os = "freebsd"))'.dependencies]# Always usedflume = "0.11"oo7 = { version = "0.4.0", default-features = false, features = [    "async-std",    "native_crypto",] } # Used in both windowing optionsashpd = { workspace = true, optional = true }blade-graphics = { workspace = true, optional = true }blade-macros = { workspace = true, optional = true }blade-util = { workspace = true, optional = true }bytemuck = { version = "1", optional = true }cosmic-text = { git = "https://github.com/pop-os/cosmic-text", rev = "542b20c", optional = true }font-kit = { git = "https://github.com/zed-industries/font-kit", rev = "40391b7", features = [    "source-fontconfig-dlopen",], optional = true }calloop = { version = "0.13.0" }filedescriptor = { version = "0.8.2", optional = true }open = { version = "5.2.0", optional = true } # Waylandcalloop-wayland-source = { version = "0.3.0", optional = true }wayland-backend = { version = "0.3.3", features = [    "client_system",    "dlopen",], optional = true }wayland-client = { version = "0.31.2", optional = true }wayland-cursor = { version = "0.31.1", optional = true }wayland-protocols = { version = "0.31.2", features = [    "client",    "staging",    "unstable",], optional = true }wayland-protocols-plasma = { version = "0.2.0", features = [    "client",], optional = true }  # X11as-raw-xcb-connection = { version = "1", optional = true }x11rb = { version = "0.13.1", features = [    "allow-unsafe-code",    "xkb",    "randr",    "xinput",    "cursor",    "resource_manager",    "sync",], optional = true }xkbcommon = { git = "https://github.com/ConradIrwin/xkbcommon-rs", rev = "fcbb4612185cc129ceeff51d22f7fb51810a03b2", features = [    "wayland",    "x11",], optional = true }xim = { git = "https://github.com/XDeme1/xim-rs", rev = "d50d461764c2213655cd9cf65a0ea94c70d3c4fd", features = [    "x11rb-xcb",    "x11rb-client",], optional = true }x11-clipboard = { version = "0.9.3", optional = true } [target.'cfg(windows)'.dependencies]blade-util.workspace = truebytemuck = "1"blade-graphics.workspace = trueblade-macros.workspace = trueflume = "0.11"rand.workspace = truewindows.workspace = truewindows-core = "0.58" [dev-dependencies]backtrace = "0.3"collections = { workspace = true, features = ["test-support"] }env_logger.workspace = truehttp_client = { workspace = true, features = ["test-support"] }lyon = { version = "1.0", features = ["extra"] }rand.workspace = trueunicode-segmentation.workspace = truereqwest_client = { workspace = true, features = ["test-support"] }util = { workspace = true, features = ["test-support"] } [target.'cfg(target_os = "windows")'.build-dependencies]embed-resource = "3.0"naga.workspace = true [target.'cfg(target_os = "macos")'.build-dependencies]bindgen = "0.70.0"cbindgen = { version = "0.28.0", default-features = false }naga.workspace = true [target.'cfg(any(target_os = "linux", target_os = "freebsd"))'.build-dependencies]naga.workspace = true  [[example]]name = "hello_world"path = "examples/hello_world.rs" [[example]]name = "image"path = "examples/image/image.rs" [[example]]name = "input"path = "examples/input.rs" [[example]]name = "opacity"path = "examples/opacity.rs" [[example]]name = "pattern"path = "examples/pattern.rs" [[example]]name = "set_menus"path = "examples/set_menus.rs" [[example]]name = "shadow"path = "examples/shadow.rs" [[example]]name = "svg"path = "examples/svg/svg.rs" [[example]]name = "text_wrapper"path = "examples/text_wrapper.rs" [[example]]name = "uniform_list"path = "examples/uniform_list.rs" [[example]]name = "window_shadow"path = "examples/window_shadow.rs" [[example]]name = "on_window_close_quit"path = "examples/on_window_close_quit.rs"